.workspace-context { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.workspace-context .eyebrow { margin: 0; }
.workspace-context form { width: 240px; max-width: 100%; }
.workspace-context label { font-size: 11px; }
.branch-mark { display: inline-flex; min-width: 0; align-items: center; gap: 12px; color: var(--ink); }
.branch-symbol { position: relative; display: block; width: 58px; height: 58px; flex: 0 0 58px; overflow: hidden; border: 1px solid rgba(23, 60, 50, .16); border-radius: 6px; background: #eef3f1; }
.branch-symbol img { position: absolute; left: 50%; top: -32px; width: 140px; max-width: none; height: auto; transform: translateX(-50%); }
.branch-sparare .branch-symbol img, .branch-upptackare .branch-symbol img, .branch-aventyrare .branch-symbol img { top: -33px; width: 145px; }
.branch-copy { min-width: 0; }
.branch-copy strong, .branch-copy small { display: block; }
.branch-copy strong { overflow-wrap: anywhere; }
.branch-copy small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.branch-mark.is-compact { gap: 10px; }
.branch-mark.is-compact .branch-symbol { width: 42px; height: 42px; flex-basis: 42px; }
.branch-mark.is-compact .branch-symbol img { top: -24px; width: 105px; }
.branch-mark.is-compact.branch-sparare .branch-symbol img, .branch-mark.is-compact.branch-upptackare .branch-symbol img, .branch-mark.is-compact.branch-aventyrare .branch-symbol img { top: -24px; width: 106px; }
.department-title { display: flex; align-items: center; gap: 14px; }
.department-title h1 { margin: 0; }
h1, h2, h3, p, strong, a { overflow-wrap: anywhere; }
.page-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 26px; }
.page-heading h1 { margin: 0; flex: 1; min-width: 0; }
.text-link { display: inline-flex; gap: 8px; align-items: center; color: #296b53; font-size: 13px; font-weight: 600; min-height: 44px; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.meeting-date { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; color: #326b86; font-size: 14px; font-weight: 600; }
.next-meeting { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 36px; border-top: 3px solid #377e60; background: white; border-bottom: 1px solid var(--border); padding: 28px; }
.next-meeting h2 { font-size: 30px; line-height: 1.2; margin: 20px 0 14px; }
.next-meeting .meeting-date { margin: 0; }
.meeting-place { display: flex; align-items: center; gap: 7px; font-size: 14px; color: var(--muted); }
.meeting-purpose { max-width: 64ch; font-size: 15px; }
.focus-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 11px 16px; border: 1px solid transparent; border-radius: 6px; text-decoration: none; font-size: 14px; font-weight: 650; }
.button.secondary { border-color: #bdcfc4; }
.meeting-facts { margin: 0; padding: 6px 0 0 26px; border-left: 1px solid var(--border); }
.meeting-facts div { padding: 10px 0; }
.meeting-facts dt { font-size: 12px; }
.meeting-facts dd { font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.prose { white-space: pre-line; line-height: 1.8; }
.preparation-grid, .home-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.preparation-grid section { padding: 25px 0; border-top: 0; }
.preparation-grid h2, .preparation h2 { display: flex; align-items: center; gap: 10px; }
.preparation-grid p { font-size: 14px; margin: 0; }
.department-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 24px 0; margin: 12px 0 0; }
.department-summary dt { font-size: 12px; }
.department-summary dd { font-size: 28px; font-weight: 650; margin-top: 6px; }
.department-summary div:nth-child(2) dd { color: #2c6383; }
.department-summary div:nth-child(3) dd { color: #806728; }
.test-note { color: #7b642d; font-size: 12px; margin: 10px 0 24px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading .muted { font-size: 12px; }
.section-heading + .section-intro { margin-top: 12px; }
.home-columns section { border: 0; }
.upcoming-list { padding: 0; list-style: none; }
.upcoming-list a { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--border); text-decoration: none; color: var(--ink); }
.upcoming-list a:hover strong { color: var(--green); text-decoration: underline; }
.upcoming-list time, .upcoming-list small { display: block; font-size: 12px; color: var(--muted); }
.upcoming-list strong { display: block; margin: 5px 0; font-size: 15px; }
.quick-links { display: grid; }
.quick-links a { display: flex; gap: 14px; align-items: center; min-height: 68px; border-bottom: 1px solid var(--border); text-decoration: none; color: #2d5f4b; font-weight: 600; font-size: 14px; }
.quick-links a span { flex: 1; }
.quick-links a:hover { background: #eaf1ed; }
.week-priorities { padding: 28px 0 8px; border-top: 1px solid var(--border); }
.week-priorities .eyebrow, .week-priorities h2 { margin: 0; }
.week-priorities h2 { margin-top: 5px; }
.task-preview { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.task-preview a { display: flex; flex-direction: column; min-height: 170px; padding: 18px; border: 1px solid var(--border); border-radius: 6px; background: white; color: var(--ink); text-decoration: none; }
.task-preview a:hover { border-color: #75a18f; box-shadow: 0 4px 14px #173c3212; }
.task-kind, .status-pill { display: inline-flex; align-items: center; width: fit-content; min-height: 25px; padding: 3px 8px; border-radius: 4px; background: #e8f2ed; color: #225d48; font-size: 10px; font-weight: 750; }
.task-preview strong { margin: 13px 0 7px; font-size: 14px; }
.task-preview small { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; color: var(--muted); font-size: 12px; line-height: 1.5; }
.task-owner { margin-top: auto; padding-top: 15px; color: #4f695d; font-size: 11px; }
.work-toolbar { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.work-list { border-top: 1px solid var(--border); }
.work-list article { display: grid; grid-template-columns: 130px minmax(0, 1fr) 48px; gap: 24px; align-items: center; padding: 22px 8px; border-bottom: 1px solid var(--border); }
.work-list h2 { margin: 0 0 7px; font-size: 17px; }
.work-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.work-list .work-context { margin-top: 9px; font-size: 11px; }
.work-state span, .work-state time { display: block; }
.work-state span { color: #25654f; font-size: 11px; font-weight: 750; }
.work-state time { margin-top: 7px; color: var(--muted); font-size: 12px; }
.knowledge-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.knowledge-grid article { display: flex; flex-direction: column; min-height: 225px; padding: 20px; border: 1px solid var(--border); border-radius: 6px; background: white; }
.knowledge-grid h2 { margin: 18px 0 9px; font-size: 18px; }
.knowledge-grid p { margin: 0 0 18px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.knowledge-grid .text-link { margin-top: auto; width: fit-content; }
.resource-top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.resource-top span { color: #23664f; font-size: 11px; font-weight: 750; text-transform: uppercase; }
.resource-top small { color: var(--muted); font-size: 10px; text-align: right; }
.resource-details { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--border); }
.resource-details summary { cursor: pointer; color: var(--forest); font-size: 13px; font-weight: 750; }
.resource-details > div { margin-top: 14px; }
.resource-details h3 { margin: 16px 0 5px; font-size: 13px; }
.resource-details ol { margin: 8px 0 0; padding-left: 20px; color: var(--muted); font-size: 13px; line-height: 1.65; }
.section-tabs { display: flex; gap: 24px; margin: 0 0 28px; border-bottom: 1px solid var(--border); }
.section-tabs a { padding: 12px 2px 10px; border-bottom: 3px solid transparent; color: var(--muted); font-size: 13px; font-weight: 750; text-decoration: none; }
.section-tabs a[aria-current="page"] { border-bottom-color: var(--green); color: var(--forest); }
.health-home-alert { display: grid; grid-template-columns: 42px minmax(0, 1fr) 20px; gap: 14px; align-items: center; margin: 24px 0; padding: 16px 18px; border-left: 4px solid #34795f; background: #edf7f1; color: var(--ink); text-decoration: none; }
.health-home-alert > span:first-child { display: grid; width: 38px; height: 38px; place-items: center; background: white; color: var(--green); }
.health-home-alert > span:nth-child(2) { display: grid; gap: 2px; }
.health-home-alert small, .health-home-alert > span:nth-child(2) > span { color: var(--muted); font-size: 11px; }
.section-intro { max-width: 72ch; margin: -10px 0 28px; color: var(--muted); line-height: 1.7; }
.message-list { display: grid; gap: 16px; max-width: 980px; }
.message-list article { padding: 22px; border-left: 3px solid #347a60; border-top: 1px solid var(--border); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); background: white; }
.message-list header { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.message-list h2 { margin: 10px 0 4px; font-size: 18px; }
.message-list header p, .message-list header time { margin: 0; color: var(--muted); font-size: 12px; }
.message-copy { margin: 20px 0; padding: 18px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); line-height: 1.7; white-space: pre-line; }
.message-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.message-actions button, .message-actions .button { display: inline-flex; gap: 8px; align-items: center; }
.whatsapp-composer { margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--border); }
.whatsapp-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
.whatsapp-heading h3 { margin: 4px 0 8px; font-size: 16px; }
.whatsapp-heading p { margin: 0; }
.whatsapp-review { margin-top: 18px; }
.whatsapp-review label { display: block; margin-bottom: 8px; font-weight: 750; }
.whatsapp-review textarea { width: 100%; min-height: 360px; resize: vertical; padding: 16px; font: inherit; line-height: 1.55; color: var(--ink); background: #f8faf9; }
.whatsapp-review .message-actions { margin-top: 12px; }
.weather-error { padding-left: 12px; border-left: 3px solid #b98412; color: #744d00; }
.count-label { font-size: 13px; color: var(--muted); }
.term-toolbar { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 18px 0; }
.search-control { position: relative; max-width: 450px; flex: 1; }
.search-control .icon { position: absolute; top: 14px; left: 12px; color: var(--muted); }
.search-control input { padding-left: 40px; }
.segmented { display: flex; gap: 2px; padding: 3px; border: 1px solid var(--border); border-radius: 6px; background: #e7eeea; }
.segmented button { background: transparent; color: #506b5d; min-height: 44px; padding: 8px 14px; font-size: 13px; }
.segmented button[aria-pressed=true] { color: #244d3d; background: white; box-shadow: 0 1px 3px #0001; }
.segmented a { min-height: 44px; padding: 11px 14px; color: #506b5d; font-size: 13px; font-weight: 650; text-decoration: none; border-radius: 4px; }
.segmented a[aria-current=page] { color: #244d3d; background: white; box-shadow: 0 1px 3px #0001; }
.message-audience { width: fit-content; margin: 0 0 22px; }
.term-section { padding: 26px 0 0; }
.term-table-head, .term-list li { display: grid; grid-template-columns: 170px minmax(150px, 1.4fr) minmax(100px, 1fr) minmax(120px, 1fr); gap: 20px; align-items: center; }
.term-table-head { margin-top: 24px; padding: 14px 16px; background: #e8efeb; font-size: 11px; font-weight: 650; color: #577064; }
.term-list { list-style: none; margin: 0; padding: 0; }
.term-list li { padding: 18px 16px; min-height: 86px; border-bottom: 1px solid var(--border); background: white; }
.term-list .is-next { border-left: 3px solid #32805f; padding-left: 13px; background: #f0f7f2; }
.term-title a { display: flex; align-items: center; min-height: 44px; font-size: 15px; font-weight: 650; color: #244d3c; text-decoration: none; }
.term-title a:hover { text-decoration: underline; }
.term-when { font-size: 12px; color: #5c7265; line-height: 1.7; }
.term-when time { display: block; font-weight: 600; color: #314f40; }
.term-title small { display: block; font-size: 11px; color: var(--muted); }
.term-title .next-label { color: #2c7957; font-weight: 650; }
.term-place, .term-owner { font-size: 13px; color: var(--muted); margin: 0; }
.back-link { margin: 0 0 14px; }
.meeting-meta { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-bottom: 20px; }
.meeting-meta p { display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--muted); margin: 0; }
.meeting-tabs { display: flex; overflow-x: auto; scrollbar-width: thin; margin-top: 24px; border-bottom: 1px solid #bccfc3; }
.meeting-tabs button { min-width: 138px; flex: 1 0 auto; border-radius: 0; border-bottom: 3px solid transparent; background: transparent; color: #587061; font-size: 14px; }
.meeting-tabs button[aria-selected=true] { color: #174b3b; border-bottom-color: #25795e; }
.meeting-attendance-shortcut { display: none; }
[role=tabpanel] { border-top: 0; padding-top: 22px; }
#schedulePanel { max-width: 860px; }
.timeline { padding: 0; margin: 0; list-style: none; }
.timeline li { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 20px; padding: 24px 0; border-bottom: 1px solid var(--border); }
.timeline h2 { font-size: 18px; margin: 0; }
.timeline p { margin: 10px 0 0; font-size: 14px; }
.step-time { color: #216553; font-size: 16px; font-weight: 750; }
.step-time span { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; color: var(--muted); }
.timeline .step-owner { font-size: 12px; color: #5a6f62; }
summary { cursor: pointer; padding: 16px 0; min-height: 48px; }
.preparation { border-left: 1px solid var(--border); padding-left: 26px; }
.preparation summary { font-size: 13px; font-weight: 650; }
.preparation h2 { font-size: 16px; margin: 20px 0 8px; }
.preparation p { font-size: 13px; }
.attendance-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
#attendancePanel { scroll-margin-top: 96px; }
.attendance-heading h2, .attendance-heading p { margin: 0; }
.attendance-group { margin-top: 24px; }
.attendance-group h3 { margin: 0 0 4px; font-size: 18px; }
.attendance-list { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.attendance-list li { border-bottom: 1px solid var(--border); }
.attendance-person { display: grid; grid-template-columns: minmax(0, 1fr) 96px; width: 100%; min-height: 66px; gap: 12px; align-items: center; text-align: left; padding: 14px 12px; background: white; color: #243e32; border-radius: 0; font-size: 15px; }
.attendance-person[aria-pressed=true] { background: #e0f0e7; }
.attendance-mark { font-size: 12px; color: #586861; text-align: right; }
.attendance-person[aria-pressed=true] .attendance-mark { color: #19533f; font-weight: 750; }
.attendance-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.support-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr); gap: 48px; }
.support-layout > section { min-width: 0; }
.support-layout details { padding: 14px 0; border-bottom: 1px solid var(--border); }
.support-layout summary { cursor: pointer; font-weight: 700; }
.support-form { display: grid; gap: 12px; }
.support-form button { justify-self: start; }
.platform-table-head, .platform-tenant-row { display: grid; grid-template-columns: 1.5fr 1fr 1.6fr 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--border); }
.platform-table-head { color: #587061; font-size: 13px; font-weight: 700; }
.platform-table code { overflow-wrap: anywhere; }
.platform-tabs, .workspace-tabs { display: flex; gap: 2px; margin: 26px 0 10px; border-bottom: 1px solid var(--border); }
.platform-tabs { position: sticky; top: 0; z-index: 4; background: var(--paper); }
.platform-tabs button, .workspace-tabs button { min-height: 46px; padding: 9px 16px; border: 0; border-bottom: 3px solid transparent; border-radius: 0; background: transparent; color: var(--muted); font-weight: 700; }
.platform-tabs button[aria-selected="true"], .workspace-tabs button[aria-selected="true"] { border-bottom-color: var(--green); color: var(--forest); }
.platform-tabs button span { display: inline-flex; min-width: 19px; height: 19px; align-items: center; justify-content: center; margin-left: 4px; border-radius: 50%; background: #fff0c7; color: #76570a; font-size: 10px; }
.control-checklist { border-top: 1px solid var(--border); }
.control-check { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; align-items: start; padding: 16px 4px; border-bottom: 1px solid var(--border); }
.control-check input[type="checkbox"] { width: 20px; height: 20px; margin-top: 2px; }
.control-check form { display: grid; gap: 12px; margin-top: 12px; max-width: 640px; }
.control-check label { display: grid; gap: 4px; }
.control-check input:not([type="checkbox"]) { width: 100%; min-width: 0; }
.control-check { overflow-wrap: anywhere; }
.control-check span, .control-check small { display: block; }
.control-check small { margin-top: 4px; color: var(--muted); }
.control-check.is-complete strong { color: var(--green); }
.callback-value { display: block; overflow-wrap: anywhere; padding: 12px; background: var(--soft); }
.platform-create { margin: 22px 0 32px; border-block: 1px solid var(--border); }
.platform-create > summary { display: flex; align-items: center; gap: 8px; font-weight: 750; }
.platform-create > div { padding: 4px 0 24px; }
.platform-tenant-row { align-items: start; }
.platform-status-form { display: flex; gap: 8px; align-items: center; }
.platform-table select { min-width: 110px; }
.platform-form, .department-registry form, .add-department form { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: start; }
.platform-form > div, .department-registry form > div, .add-department form > div { min-width: 0; }
.platform-form label:not(.check-row), .department-registry label, .add-department label { display: block; margin-bottom: 6px; font-weight: 700; }
.platform-form input, .department-registry input, .department-registry select, .add-department input, .add-department select { width: 100%; }
.platform-form .check-row { display: flex; align-self: center; align-items: center; gap: 8px; }
.platform-form .check-row input { width: 20px; min-height: 20px; margin: 0; }
.platform-form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; align-items: center; gap: 16px; }
.platform-form small { display: block; margin-top: 5px; color: #587061; line-height: 1.35; }
.platform-onboarding { min-width: 0; }
.platform-onboarding details > summary { display: flex; align-items: center; gap: 7px; cursor: pointer; list-style-position: outside; }
.platform-onboarding details > summary small { white-space: nowrap; }
.platform-onboarding small { overflow-wrap: anywhere; color: #587061; }
.platform-onboarding ul { display: grid; gap: 7px; margin: 12px 0; padding: 0; list-style: none; }
.platform-onboarding li { display: grid; grid-template-columns: 18px 1fr; gap: 6px; color: #6a5a31; font-size: 12px; line-height: 1.35; }
.platform-onboarding li.is-complete { color: #2f6c55; }
.platform-onboarding form { display: grid; gap: 9px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); }
.platform-onboarding form label > span { display: block; margin-bottom: 5px; font-size: 12px; font-weight: 700; }
.platform-onboarding form input[type="email"] { width: 100%; }
.platform-onboarding .check-row { display: flex; align-items: center; gap: 7px; font-size: 12px; }
.platform-onboarding .check-row input { width: 18px; min-height: 18px; margin: 0; }
.department-registry form { padding: 16px 0; border-bottom: 1px solid var(--border); }
.add-department { margin-top: 18px; }
.add-department summary { cursor: pointer; font-weight: 700; }
.add-department form { margin-top: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
.document-upload { margin: 20px 0 28px; }
.document-upload summary { cursor: pointer; font-weight: 800; }
.document-upload form { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1.3fr) minmax(170px, 1fr) minmax(0, 2fr) auto; gap: 12px; align-items: end; margin-top: 16px; }
.document-upload form > div { min-width: 0; }
.document-upload label { display: block; margin-bottom: 6px; font-weight: 700; }
.document-upload input, .document-upload select { width: 100%; }
.document-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; }
.document-grid article { display: flex; flex-direction: column; }
.support-queue article { padding: 18px 0; border-bottom: 1px solid var(--border); }
.support-queue article header { display: flex; justify-content: space-between; gap: 20px; }
.support-queue h3 { margin: 8px 0 0; }
.support-queue footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.support-admin-form { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(190px, 1fr); gap: 14px; margin: 18px 0; padding: 18px; background: #f3f7f5; }
.support-admin-form label { margin: 0; }
.support-admin-form textarea { resize: vertical; }
.support-admin-form button { align-self: end; justify-self: start; }
.support-history { margin: 12px 0; }
.support-history p { padding: 10px 0; border-bottom: 1px solid var(--border); white-space: pre-wrap; }
.tenant-support { margin-top: 46px; padding-top: 30px; border-top: 1px solid var(--border); }
.tenant-support-list article { padding: 20px 0; border-bottom: 1px solid var(--border); }
.tenant-support-list article > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.tenant-support-list h3 { margin: 8px 0 0; font-size: 17px; }
.tenant-support-list time { color: var(--muted); font-size: 12px; white-space: nowrap; }
.support-replies { margin-top: 16px; padding: 14px 16px; border-left: 3px solid #34708e; background: #f0f6f9; }
.support-replies p { margin: 7px 0 0; white-space: pre-wrap; }
.resolved-support, .completed-readiness { margin-top: 22px; border-block: 1px solid var(--border); }
.resolved-support > summary, .completed-readiness > summary { font-weight: 750; }
.help-lead { max-width: 780px; margin: -10px 0 28px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.help-topic-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--border); }
.help-topic-list > a[hidden] { display: none; }
.help-topic-list > a { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 16px 20px 0; border-bottom: 1px solid var(--border); color: var(--ink); text-decoration: none; }
.help-topic-list > a:nth-child(odd) { margin-right: 24px; }
.help-topic-list strong, .help-topic-list small { display: block; }
.help-topic-list small { margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.help-process { max-width: 820px; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.help-process li { display: grid; grid-template-columns: 34px 1fr; gap: 14px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--border); }
.help-process li > span { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #a8c1b6; border-radius: 50%; color: var(--forest); font-weight: 750; }
.help-process p { margin: 4px 0 0; line-height: 1.55; }
.help-prerequisites ul { display: grid; gap: 9px; max-width: 820px; margin: 0; padding: 0; list-style: none; }
.help-prerequisites li { display: flex; gap: 10px; align-items: flex-start; }
.help-prerequisites .icon { color: var(--green); }
.help-actions { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 30px; }
.support-context { display: grid; gap: 8px; margin: 0 0 18px; padding: 13px 15px; border-left: 3px solid #287cab; background: #eef5f3; }
.support-context strong, .support-context span { display: block; }
.support-context span { color: var(--muted); font-size: 12px; }
.support-issue-context { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 10px 0; color: var(--muted); font-size: 11px; }
.message[data-tone="success"], .message.is-success { border-left-color: #267451; background: #e7f4ed; }
.message[data-tone="error"], .message.is-error { border-left-color: #a33a32; background: #fae9e7; }
.family-calendar-break { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 0; color: var(--muted); }
.contact-filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; max-width: 750px; }
#leaders, #scouts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; align-items: start; }
.contact-row { border-bottom: 1px solid var(--border); }
.contact-row summary { padding: 20px 0; }
.contact-row summary span { display: block; font-size: 12px; color: #4c665b; margin: 6px 0 0 18px; }
.contact-row summary strong { font-size: 15px; }
.contact-row[open] { padding-bottom: 18px; }
.patrol-heading { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 24px 0 0; padding: 10px 0; border-bottom: 2px solid #86a99a; color: var(--green); }
.patrol-heading span { font-size: 18px; }
.patrol-heading small { color: var(--muted); font-size: 12px; font-weight: 600; }
.patrol-editor { margin-top: 32px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.patrol-editor > summary { display: flex; justify-content: space-between; gap: 12px; }
.patrol-editor > summary span { color: var(--muted); font-size: 12px; font-weight: 600; }
.patrol-editor > p { max-width: 720px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.patrol-tools { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(190px, 1fr) auto; gap: 12px; align-items: end; margin: 18px 0 12px; }
.patrol-tools label { display: grid; gap: 5px; color: var(--muted); font-size: 12px; font-weight: 700; }
.patrol-select-all { display: flex; gap: 9px; align-items: center; min-height: 42px; border-bottom: 1px solid var(--border); font-size: 13px; font-weight: 700; }
.patrol-assignment { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 220px); align-items: center; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--border); }
.patrol-check { display: flex; align-items: center; gap: 10px; min-width: 0; }
.patrol-check input, .patrol-select-all input { width: 20px; min-width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin: 0; padding: 0; }
.patrol-assignment span, .patrol-assignment small { display: block; }
.patrol-assignment small { margin-top: 3px; color: #785d18; }
.patrol-save { position: sticky; bottom: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; background: white; }
.patrol-history { margin: 8px 0 18px; }
.patrol-history article { padding: 12px 0; border-top: 1px solid var(--border); }
.patrol-history article > span, .patrol-history time { color: var(--muted); font-size: 12px; }
.patrol-history ul { margin: 7px 0 0; padding-left: 20px; font-size: 12px; }
.setup-gates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; border: 0; }
.setup-gates article { display: grid; gap: 7px; padding: 16px; border: 1px solid var(--border); border-radius: 6px; background: white; }
.setup-gates small { color: var(--muted); line-height: 1.5; }
.setup-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
.sync-report-list { border-top: 1px solid var(--border); }
.sync-report { border-bottom: 1px solid var(--border); }
.sync-report > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.sync-report > summary span:first-child { display: grid; gap: 4px; }
.sync-report-counts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 4px 0 14px; }
.sync-report-counts span { display: grid; gap: 3px; padding: 10px; background: #f0f5f2; color: var(--muted); font-size: 11px; }
.sync-report-counts strong { color: var(--ink); font-size: 17px; }
.sync-change-list { display: grid; gap: 5px; margin: 0 0 16px; padding: 0; list-style: none; }
.sync-change-list li { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.change-kind { min-width: 62px; padding: 3px 6px; border-radius: 3px; background: #e7efeb; color: var(--green); font-size: 10px; font-weight: 800; text-align: center; }
.change-removed { background: #fff1d2; color: #735812; }
.leader-requirement-list summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.leader-requirement-list summary > span { margin: 0; }
.leader-requirement-list summary > span:first-child strong,
.leader-requirement-list summary > span:first-child small { display: block; }
.leader-requirement-list summary > span:first-child small { margin-top: 4px; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.contact-actions a { display: flex; flex-direction: column; justify-content: center; min-height: 48px; max-width: 100%; font-size: 12px; color: #275d79; }
.contact-actions a span { font-size: 14px; }
.guardian { padding: 12px 0; }
.guardian h3 { margin: 0; font-size: 14px; }
.guardian p { margin: 3px 0 6px; }
.offline-tool { margin: 18px 0; border: 1px solid #bfd3dc; border-left: 4px solid #34708e; background: #f5fafc; }
.offline-tool > summary { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 14px; color: var(--forest); font-size: 13px; font-weight: 700; cursor: pointer; }
.offline-tool > summary span:first-child { display: flex; align-items: center; gap: 8px; }
.offline-details { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 24px; align-items: center; padding: 4px 16px 16px; border-top: 1px solid #d7e5e9; }
.offline-details > p { max-width: 700px; margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.offline-actions { display: flex; min-width: 220px; flex-direction: column; align-items: stretch; gap: 8px; margin-top: 12px; }
.offline-actions button { justify-content: center; }
.offline-state { color: var(--muted); font-size: 11px; font-weight: 500; text-align: right; }
.offline-state.is-pending { color: #855b05; font-weight: 700; }
.offline-state.is-ready { color: #176044; font-weight: 700; }
.offline-details .offline-privacy { grid-column: 1 / -1; padding-top: 11px; border-top: 1px solid #d7e5e9; color: #4c6773; font-size: 10px; }
.family-focus-actions, .family-secondary-links { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; }
.family-side small { display: block; margin-top: 10px; color: var(--muted); font-size: 11px; }
.family-quick-grid.is-compact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.family-latest { max-width: 920px; }
.family-secondary-links { margin: 18px 0 0; padding-top: 15px; border-top: 1px solid var(--border); font-size: 13px; }
.meeting-safety { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 20px; align-items: start; margin-top: 24px; padding: 20px 22px; border-left: 4px solid #b98412; background: #fff7df; }
.meeting-safety h2, .meeting-safety p { margin: 4px 0; }
.meeting-safety > .prose { grid-column: 1 / -1; }
.meeting-work-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; padding-top: 24px; }
.meeting-work-grid > section { min-width: 0; padding: 22px; border: 1px solid var(--border); background: white; }
.meeting-work-grid h2 { display: flex; align-items: center; gap: 9px; margin: 6px 0 14px; font-size: 18px; }
.meeting-work-grid .meeting-safety { margin: 0; border-top: 1px solid #d9cc98; border-right: 1px solid #d9cc98; border-bottom: 1px solid #d9cc98; }
.family-preview { max-width: 820px; margin-top: 24px; padding: 24px; border-top: 3px solid #34708e; border-bottom: 1px solid var(--border); background: white; }
.family-preview header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.family-preview h2 { margin: 5px 0; }
.plan-import { display: none; }
.plan-import, .meeting-editor { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); margin: 20px 0; }
.plan-import > summary, .meeting-editor > summary { color: #1c5547; font-weight: 650; font-size: 13px; }
summary .icon { margin-right: 6px; }
.planning-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 12px 0 24px; max-width: 1000px; }
.full-width, .form-actions { grid-column: 1 / -1; }
.form-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
textarea { width: 100%; min-width: 0; resize: vertical; font: inherit; line-height: 1.5; color: inherit; padding: 12px; border: 1px solid #98aea5; border-radius: 6px; }
input[type=file] { font-size: 14px; }
.review-table { max-width: 100%; overflow-x: auto; margin: 16px 0; }
.review-table table { border-collapse: collapse; width: 100%; font-size: 14px; }
.review-table th, .review-table td { text-align: left; vertical-align: top; padding: 12px 10px; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.review-table th:first-child, .review-table td:first-child { min-width: 105px; }
.review-issues { padding-left: 20px; line-height: 1.6; }
.checkbox-label { display: flex; align-items: center; gap: 12px; min-height: 48px; }
.checkbox-label input { width: 24px; height: 24px; min-height: 24px; flex-shrink: 0; }
.schedule-text { line-height: 1.8; padding: 16px 0; }
.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; }
.scope-note, .source-line { color: var(--muted); font-size: 12px; }
.status-pill.is-good { background: #dcefe4; color: #17543d; }
.status-pill.is-warning { background: #fff0c7; color: #76570a; }
.task-preview .is-done { opacity: .7; }
.task-preview .is-done strong, .work-list article.is-done h2 { text-decoration: line-through; }
.work-list article:has(.task-status) { grid-template-columns: 120px minmax(0, 1fr) 145px 44px; }
.task-status { margin: 0; }
.task-status select { font-size: 13px; }
.term-section > .section-heading { flex-wrap: wrap; align-items: flex-start; }
.plan-heading-actions, .plan-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.leadership-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 34px; padding: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.leadership-summary div { min-width: 0; padding: 23px 20px; border-right: 1px solid var(--border); background: white; }
.leadership-summary div:last-child { border-right: 0; }
.leadership-summary dt { font-size: 11px; }
.leadership-summary dd { margin: 7px 0 3px; font-size: 27px; color: #245d7a; }
.leadership-summary small { color: var(--muted); font-size: 10px; }
.leadership-summary.compact dd { color: var(--forest); font-size: 22px; }
.action-banner { display: flex; align-items: center; justify-content: space-between; gap: 26px; margin: 0 0 34px; padding: 24px; border: 1px solid #d9cc98; border-left: 4px solid #b78012; background: #fff8df; }
.action-banner h2, .action-banner p { margin: 4px 0; }
.action-banner p { color: #655b3a; font-size: 13px; }
.dashboard-columns { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 42px; }
.dashboard-columns > section { padding-top: 0; border-top: 0; }
.coverage-list article { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(170px, 1fr) auto; align-items: center; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--border); }
.coverage-list strong, .coverage-list span { display: block; }
.coverage-progress { color: var(--muted); font-size: 11px; }
.leadership-next { margin-top: 28px; }
.corps-setup { margin: 0 0 32px; }
.corps-setup.is-complete { margin-bottom: 30px; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.corps-setup.is-complete > summary { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 14px; color: var(--forest); font-weight: 700; cursor: pointer; }
.corps-setup.is-complete > ul, .completed-setup ul { display: grid; gap: 8px; margin: 0; padding: 0 0 16px; color: var(--muted); font-size: 12px; list-style: none; }
.corps-setup.is-complete li, .completed-setup li { display: flex; align-items: center; gap: 8px; }
.completed-setup { margin-top: 12px; color: var(--muted); font-size: 12px; }
.completed-setup > summary { min-height: 44px; padding: 12px 0; cursor: pointer; }
.operational-alerts { margin-bottom: 30px; }
.operational-alerts > div { display: grid; border-top: 1px solid var(--border); }
.operational-alerts a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 1fr) 24px; gap: 16px; align-items: center; min-height: 64px; padding: 10px 0; border-bottom: 1px solid var(--border); color: var(--ink); text-decoration: none; }
.operational-alerts a span { color: var(--muted); font-size: 12px; }
.operational-alerts a > .icon { color: var(--green); }
.setup-task-list { margin: 0; padding: 0; border-top: 1px solid var(--border); list-style: none; }
.setup-task-list a { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto; gap: 13px; align-items: center; min-height: 62px; padding: 9px 0; border-bottom: 1px solid var(--border); color: var(--ink); text-decoration: none; }
.setup-task-state { display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #b3c7be; border-radius: 50%; color: var(--forest); font-size: 12px; font-weight: 750; }
.setup-task-state .icon { width: 16px; height: 16px; }
.setup-task-list li.is-complete strong { color: var(--muted); }
.compact-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 18px; background: var(--border); border: 1px solid var(--border); }
.compact-metrics div { padding: 18px; background: #fdfefe; }
.compact-metrics strong, .compact-metrics span { display: block; }
.compact-metrics strong { font-size: 20px; color: #2c6785; }
.compact-metrics span { margin-top: 5px; color: var(--muted); font-size: 11px; }
.plan-board { border-top: 1px solid var(--border); }
.plan-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; padding: 24px 4px; border-bottom: 1px solid var(--border); }
.plan-row h2 { margin: 11px 0 5px; font-size: 18px; }
.plan-row p { margin: 0; color: var(--muted); font-size: 13px; }
.department-plan-copy { display: flex; align-items: center; gap: 16px; min-width: 0; }
.department-plan-copy > .branch-mark { flex: 0 0 auto; }
.department-plan-copy h2 { margin: 0 0 9px; }
.department-plan-copy p { margin-top: 7px; }
.compact-work-list article { grid-template-columns: 120px minmax(0, 1fr) 44px; }
.privacy-inline { padding: 12px 14px; border-left: 3px solid #34708e; background: #eaf3f7; color: #355a6b; font-size: 12px; line-height: 1.6; }
.readiness-table { border-top: 1px solid var(--border); }
.readiness-table article { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 24px; align-items: center; padding: 15px 4px; border-bottom: 1px solid var(--border); }
.readiness-table strong, .readiness-table span { display: block; }
.readiness-table article > div span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.readiness-table label { margin: 0; }
.health-card-tool, .health-card-reminders { margin-block: 1rem; }
.health-status-overview { margin: 0 0 28px; padding: 22px 24px; border: 1px solid var(--border); border-top: 3px solid #34795f; background: white; }
.health-status-overview > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.health-status-overview > header h2 { margin: 4px 0 0; }
.health-status-overview > header > span { color: var(--muted); font-size: 12px; }
.health-status-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 18px 0 22px; border-block: 1px solid var(--border); }
.health-status-metrics div { padding: 14px 18px 14px 0; }
.health-status-metrics div + div { padding-left: 18px; border-left: 1px solid var(--border); }
.health-status-metrics dt { font-size: 11px; }
.health-status-metrics dd { margin-top: 3px; color: var(--forest); font-size: 24px; font-weight: 800; }
.health-status-groups { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 28px; }
.health-status-groups > section { min-width: 0; padding: 0; border: 0; }
.health-status-groups h3 { margin: 0 0 10px; font-size: 14px; }
.health-status-groups ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.health-status-groups li { padding: 6px 8px; border: 1px solid #cad9d2; border-radius: 4px; background: #f6f9f7; font-size: 12px; }
.health-status-groups .is-pending li { border-color: #e2ce94; background: #fff7df; }
.health-status-groups li span, .health-status-groups li small { display: block; }
.health-status-groups li small { margin-top: 2px; color: #76570a; font-size: 9px; }
.health-status-groups li.is-empty { border: 0; background: transparent; color: var(--muted); }
.health-campaign-summary { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin: 18px 0; padding: 16px 0; border-block: 1px solid var(--border); }
.health-campaign-summary h2 { margin: 3px 0 5px; font-size: 20px; }
.health-campaign-summary span { color: var(--muted); font-size: 13px; }
.health-campaign-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px 18px; }
.health-campaign-links a { display: inline-flex; align-items: center; gap: 6px; font-weight: 750; }
.health-campaign-links svg { width: 16px; height: 16px; }
.health-collection-create { margin: 20px 0; padding: 16px 0; border-block: 1px solid var(--border); }
.health-collection-create > summary { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; cursor: pointer; }
.health-collection-create > summary svg { width: 18px; height: 18px; }
.health-collection-create[open] > summary { margin-bottom: 12px; }
.health-collection-create .planning-form { margin-top: 18px; }
.health-card-result { margin-top: 1rem; }
.saved-form-link { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid var(--border); }
.saved-form-link > span { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 18px; }
.saved-form-link a { display: inline-flex; align-items: center; gap: 6px; }
.saved-form-link svg { width: 16px; height: 16px; }
.health-card-reminders .notice ul { margin: 10px 0; padding-left: 22px; }
.health-card-reminders .notice p { margin: 10px 0 0; }
.health-recipient-review { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 18px; }
.health-recipient-review > header { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 10px; }
.health-recipient-review h3 { margin: 3px 0 0; font-size: 17px; }
.health-recipient-list { max-height: 340px; overflow-y: auto; overscroll-behavior: contain; border-block: 1px solid var(--border); }
.health-send-bar { position: sticky; bottom: 0; z-index: 2; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 0 2px; background: white; }
.health-send-bar > span { color: var(--muted); font-size: 13px; }
.health-reconcile-panel, .health-status-details { margin: 18px 0; border: 1px solid var(--border); background: white; }
.health-reconcile-panel { padding: 0 24px; border-top: 3px solid #34795f; }
.health-reconcile-panel > summary, .health-status-details > summary { padding: 18px 0; cursor: pointer; font-weight: 800; color: #174b3e; }
.health-reconcile-panel > summary { display: flex; align-items: center; gap: 8px; }
.health-reconcile-panel > summary svg { width: 18px; height: 18px; }
.health-reconcile-panel[open] > summary, .health-status-details[open] > summary { border-bottom: 1px solid var(--border); }
.health-reconcile-panel .planning-form { padding-top: 18px; }
.health-status-details { padding: 0 24px 18px; }
.campaign-history { margin-top: 1.25rem; border-top: 1px solid var(--border); padding-top: 1rem; }
.campaign-history h3 { font-size: 1rem; }
.campaign-history article { display: grid; gap: .2rem; padding: .75rem 0; border-bottom: 1px solid var(--border); }
.campaign-history article { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
.campaign-history article span { color: var(--muted); font-size: 12px; }
.delivery-state, .health-reminder-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.secondary.compact { min-height: 34px; padding: 5px 10px; }
.health-card-reminders .readiness-table label { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: center; width: 100%; }
.health-card-reminders .readiness-table label span { display: grid; gap: .15rem; }
.health-card-reminders .readiness-table input[type="checkbox"] { width: 1.25rem; height: 1.25rem; }
.message-composer-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; align-items: stretch; }
.message-composer textarea { min-height: 240px; font-family: inherit; line-height: 1.55; }
.message-preview { padding: 18px; border: 1px solid var(--border); border-left: 4px solid #34708e; background: #f7faf9; }
.message-preview > span { color: var(--muted); font-size: 11px; }
.message-preview h3 { margin: 8px 0 14px; font-size: 17px; }
.message-preview p { margin: 0; white-space: pre-wrap; line-height: 1.55; }
.field-wide { grid-column: 1 / -1; }
.integration-tool { margin: 12px 0 38px; padding: 24px; border: 1px solid var(--border); border-top: 3px solid #34795f; background: white; }
.integration-jumps { display: flex; gap: 4px; margin: 0 0 20px; padding: 8px 0; overflow-x: auto; border-bottom: 1px solid var(--border); background: #f4f7f5; scrollbar-width: thin; }
.integration-jumps a { flex: 0 0 auto; min-height: 38px; padding: 8px 12px; color: var(--forest); font-size: 13px; font-weight: 750; text-decoration: none; }
.integration-jumps a:hover { background: white; }
.integration-tool { scroll-margin-top: 64px; }
.integration-collapsible > summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; }
.integration-collapsible > summary::-webkit-details-marker { display: none; }
.integration-collapsible > summary span:first-child { display: grid; gap: 5px; }
.integration-collapsible > summary small { color: var(--green); font-weight: 750; }
.integration-collapsible > summary h2 { margin: 0; font-size: 20px; }
.integration-collapsible > summary::after { content: '+'; margin-left: auto; color: var(--muted); font-size: 22px; }
.integration-collapsible[open] > summary::after { content: '\2212'; }
.integration-collapsible-body { padding-top: 16px; }
.setup-score { padding: 8px 12px; border: 1px solid var(--border); background: white; color: var(--muted); font-weight: 750; }
.setup-readiness { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 24px; border-left: 4px solid #b98412; background: #fff7df; }
.setup-readiness.is-ready { border-left-color: #34795f; background: #edf7f1; }
.setup-readiness h2, .setup-readiness p { margin: 5px 0; }
.department-setup-list { margin: 24px 0; padding: 0; list-style: none; border-top: 1px solid var(--border); }
.department-setup-list li { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 18px; align-items: center; min-height: 104px; padding: 18px 4px; border-bottom: 1px solid var(--border); }
.department-setup-list h2 { margin: 0 0 5px; font-size: 17px; }
.department-setup-list p { margin: 0; color: var(--muted); }
.setup-number { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid #aebfba; background: white; color: var(--muted); font-weight: 800; }
.department-setup-list .is-complete .setup-number { border-color: #34795f; background: #34795f; color: white; }
.setup-safety { padding: 22px 24px; border-left: 4px solid #34708e; background: #f0f6f9; }
.setup-safety h2, .setup-safety p { margin: 4px 0; }
.setup-return { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 18px 0 28px; padding: 16px 18px; border-left: 4px solid #34708e; background: #eaf3f7; }
.setup-return strong, .setup-return span { display: block; }
.setup-return span { margin-top: 4px; color: var(--muted); font-size: 12px; }
body:has(.setup-return) .plan-import { display: block; }
.archived-departments { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--border); }
.archived-departments > summary { font-weight: 800; }
.archived-departments .department-registry { opacity: .88; }
.integration-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.integration-heading h2 { margin: 5px 0 0; }
.integration-heading + .section-intro { margin: 12px 0 22px; }
.integration-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 22px 0; background: var(--border); }
.integration-facts div { padding: 14px; background: #f5f8f6; }
.integration-facts dd { margin: 5px 0 0; font-size: 13px; }
.integration-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.department-settings { display: grid; grid-template-columns: minmax(220px, 420px) auto; gap: 8px 12px; align-items: end; max-width: 620px; margin: 0 0 28px; }
.department-settings label { grid-column: 1 / -1; margin: 0; }
.weather-place-list { display: grid; gap: 10px; margin-top: 10px; }
.weather-place-row { display: grid; grid-template-columns: minmax(180px, 1.5fr) minmax(120px, 1fr) minmax(120px, 1fr) 44px; gap: 10px; align-items: center; }
.weather-place-row label { min-width: 0; margin: 0; }
.weather-place-row label > span, .weather-place-row label > small { display: block; }
.weather-place-row label > span { margin-bottom: 5px; font-size: 12px; }
.weather-place-row label > small { margin-top: 5px; color: var(--muted); font-size: 10px; font-weight: 450; line-height: 1.35; }
.weather-place-row .icon-button { width: 44px; min-height: 44px; }
.optional { color: var(--muted); font-size: 10px; font-weight: 500; }
.integration-actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 18px; border-top: 1px solid var(--border); }
.mobile-admin-note { display: none; }
.member-review { margin-top: 24px; padding: 24px 0 0; }
.member-review > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.member-review h3 { margin: 5px 0; font-size: 19px; }
.member-review-rows { max-height: 480px; overflow: auto; border-top: 1px solid var(--border); }
.member-review-group { border-bottom: 1px solid var(--border); }
.member-review-group > summary { cursor: pointer; padding: 14px 5px; font-weight: 700; }
.member-review-group[open] > summary { border-bottom: 1px solid var(--border); }
.member-review-rows article { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 5px; border-bottom: 1px solid var(--border); }
.member-review-rows strong, .member-review-rows span { display: block; }
.member-review-rows span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.member-review-rows label { display: flex; align-items: center; gap: 7px; margin: 0; white-space: nowrap; }
.member-review-rows input, .review-issues input { width: 20px; min-height: 20px; }
.weather-result { margin-top: 16px; padding: 16px; border-left: 3px solid #287cab; background: #eaf3f7; }
.privacy-panel { padding: 24px; border: 1px solid #bfcfd8; border-left: 4px solid #34708e; background: #f0f6f9; }
.privacy-panel h2 { margin-top: 0; }
.family-focus { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 30px; padding: 28px; border-top: 3px solid #2b718b; border-bottom: 1px solid var(--border); background: white; }
.family-focus h2 { margin: 15px 0 10px; font-size: 28px; }
.family-focus .button { margin-top: 16px; }
.family-side { padding-left: 24px; border-left: 1px solid var(--border); }
.family-side strong, .family-side span { display: block; }
.family-side strong { color: #245f78; }
.family-side span { margin-top: 8px; color: var(--muted); font-size: 12px; }
.family-response-summary { margin: 18px 0 28px; padding: 22px 24px; border: 1px solid var(--border); background: white; }
.family-response-summary > div { border-top: 1px solid var(--border); }
.family-response-summary article { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 13px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--border); }
.family-response-summary strong, .family-response-summary small { display: block; }
.family-response-summary small { margin-top: 3px; color: var(--muted); }
.family-empty { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 26px; border-left: 4px solid #b98412; background: #fff7df; }
.family-empty h2, .family-empty p { margin: 5px 0; }
.family-empty > div:last-child { display: flex; align-items: center; gap: 18px; flex-shrink: 0; }
.quick-section { padding: 30px 0; }
.family-quick-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px; }
.family-quick-grid a { display: flex; gap: 12px; min-height: 105px; align-items: flex-start; padding: 17px; border: 1px solid var(--border); border-radius: 6px; background: white; color: var(--ink); text-decoration: none; }
.family-quick-grid a:hover { border-color: #6e9fb1; }
.family-quick-grid strong, .family-quick-grid small { display: block; }
.family-quick-grid small { margin-top: 7px; color: var(--muted); line-height: 1.45; }
.family-message-preview { display: grid; gap: 10px; }
.family-message-preview article { padding: 16px 0; border-bottom: 1px solid var(--border); }
.family-message-preview span { color: #286985; font-size: 10px; font-weight: 750; text-transform: uppercase; }
.family-message-preview h3 { margin: 7px 0; font-size: 16px; }
.family-message-preview p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin: 0 0 8px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.family-members article, .profile-grid article { display: flex; gap: 14px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--border); }
.avatar { display: grid; place-items: center; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; background: #dcebf2; color: #225f78; font-weight: 750; }
.avatar.large { width: 54px; height: 54px; flex-basis: 54px; font-size: 20px; }
.family-members strong, .family-members small { display: block; }
.family-members small { margin-top: 4px; color: var(--muted); }
.family-safety { display: flex; justify-content: space-between; align-items: center; gap: 26px; margin-top: 26px; padding: 24px; border-left: 4px solid #b98412; background: #fff7df; }
.family-safety h2, .family-safety p { margin: 5px 0; }
.family-calendar-list { list-style: none; margin: 16px 0 0; padding: 0; border-top: 1px solid var(--border); }
.family-calendar-list a { display: grid; grid-template-columns: 58px minmax(0, 1fr) 24px; gap: 18px; align-items: center; min-height: 96px; padding: 14px 4px; border-bottom: 1px solid var(--border); color: var(--ink); text-decoration: none; }
.calendar-date { display: grid; place-items: center; height: 58px; background: #e9f2f6; color: #245f78; }
.calendar-date strong { font-size: 20px; }
.calendar-date span { font-size: 10px; }
.family-calendar-list h3 { margin: 5px 0; font-size: 16px; }
.family-calendar-list p, .family-calendar-list div > span { margin: 0; color: var(--muted); font-size: 11px; }
.family-calendar-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 12px; }
.family-calendar-actions .secondary, .page-heading [data-download-event] { display: inline-flex; align-items: center; gap: 7px; }
.profile-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; }
.profile-grid h3, .profile-grid p { margin: 3px 0; }
.profile-grid small { color: var(--muted); }
.family-profile-section { margin-top: 20px; border-block: 1px solid var(--border); }
.family-profile-section + .family-profile-section { margin-top: -1px; }
.family-profile-section > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; }
.family-profile-section > summary::-webkit-details-marker { display: none; }
.family-profile-section > summary span, .family-profile-section > summary strong, .family-profile-section > summary small { display: block; }
.family-profile-section > summary small { margin-top: 4px; color: var(--muted); font-size: 11px; font-weight: 500; }
.family-profile-section > summary svg { flex: 0 0 auto; transition: transform .18s ease; }
.family-profile-section[open] > summary svg { transform: rotate(180deg); }
.family-profile-section > div { padding-bottom: 20px; }
.family-safety-link { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 72px; padding: 16px 0; border-bottom: 1px solid var(--border); color: var(--ink); text-decoration: none; }
.family-safety-link span, .family-safety-link strong, .family-safety-link small { display: block; }
.family-safety-link small { margin-top: 4px; color: var(--muted); font-size: 11px; }
.leader-contact-list article { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px 0; border-bottom: 1px solid var(--border); }
.leader-contact-list strong, .leader-contact-list span { display: block; }
.leader-contact-list article > div > span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.leader-contact-list .contact-actions a { display: inline-flex; flex-direction: row; gap: 6px; align-items: center; padding: 0 10px; border: 1px solid var(--border); border-radius: 5px; text-decoration: none; }
.family-information { padding: 22px 24px; border-left: 4px solid #34708e; background: #f0f6f9; }
.family-preview-packing { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--border); }
.family-preview-packing ul { display: flex; flex-wrap: wrap; gap: 6px 22px; margin: 8px 0 0; padding-left: 20px; }
.family-packing { margin: 24px 0; padding: 24px; border: 1px solid #bfd3dc; border-top: 3px solid #34708e; background: white; }
.packing-overview { display: grid; gap: 16px; }
.packing-overview .family-packing { margin: 0; }
.packing-overview-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.family-packing h2 { display: flex; align-items: center; gap: 8px; margin: 5px 0 0; }
.packing-progress { color: #245f78; font-size: 12px; font-weight: 750; }
.packing-list { list-style: none; margin: 16px 0 10px; padding: 0; border-top: 1px solid var(--border); }
.packing-list li { border-bottom: 1px solid var(--border); }
.packing-list label { display: flex; min-height: 50px; align-items: center; gap: 12px; margin: 0; padding: 9px 2px; cursor: pointer; }
.packing-list input { width: 22px; min-height: 22px; flex: 0 0 22px; }
.packing-list input:checked + span { color: var(--muted); text-decoration: line-through; }
.text-button { min-height: 40px; padding: 0; border: 0; background: transparent; color: #296b53; text-decoration: underline; }
.health-status-grid { border-top: 1px solid var(--border); }
.health-status-grid article { display: flex; min-height: 70px; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 2px; border-bottom: 1px solid var(--border); }
.health-status-grid strong, .health-status-grid div span { display: block; }
.health-status-grid div span { margin-top: 4px; color: var(--muted); font-size: 11px; }
.health-status { padding: 7px 10px; border-radius: 4px; background: #fff1c7; color: #744d00; font-size: 11px; font-weight: 750; white-space: nowrap; }
.health-status.is-received { background: #e2f2e8; color: #205f3d; }
.health-status.is-requested, .health-status.is-reminded { background: #e7f0f5; color: #245f78; }
.safety-paths { border-top: 1px solid var(--border); }
.safety-paths > section { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 18px; margin: 0; padding: 25px 2px; border-bottom: 1px solid var(--border); }
.safety-paths h2 { margin: 2px 0 8px; font-size: 19px; }
.safety-paths p { margin: 0; color: var(--muted); line-height: 1.65; }
.safety-number { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #dcebf2; color: #245f78; font-weight: 800; }
.safety-paths .leader-contact-list { margin-top: 14px; }
.absence-list { border-top: 1px solid var(--border); }
.absence-list form { display: grid; grid-template-columns: minmax(140px, 1fr) 160px minmax(200px, 1.4fr) auto; gap: 16px; align-items: end; padding: 18px 0; border-bottom: 1px solid var(--border); }
.absence-list form > div strong, .absence-list form > div span { display: block; }
.absence-list form > div span { margin-top: 5px; color: var(--muted); font-size: 11px; }
.toggle-row { display: flex; min-height: 46px; align-items: center; gap: 9px; margin: 0; }
.toggle-row input { width: 22px; min-height: 22px; }
.absence-note { margin: 0; }
.absence-note small { color: var(--muted); font-weight: 450; }
.weather-card { margin-top: 28px; padding: 22px 24px; border: 1px solid #bfd3dc; border-top: 3px solid #34708e; background: white; }
.weather-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.weather-card h2 { margin: 5px 0 0; }
.attendance-person > span:first-child small { display: block; margin-top: 4px; color: #8a5c00; font-size: 10px; font-weight: 600; }
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) { .plan-import { display: block; } }
@media (max-width: 1200px) { .next-meeting { grid-template-columns: minmax(0, 1fr) 200px; gap: 24px; padding: 24px; } .term-table-head, .term-list li { grid-template-columns: 130px minmax(140px, 1.4fr) minmax(80px, 1fr) minmax(90px, 1fr); gap: 12px; } .task-preview { grid-template-columns: repeat(2, minmax(0, 1fr)); } .knowledge-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1100px) and (min-width: 901px), (max-width: 680px) {
  .next-meeting { grid-template-columns: 1fr; gap: 24px; }
  .meeting-facts { padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--border); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .meeting-facts div { padding: 0; } #schedulePanel { display: block; }
  .preparation { border-left: 0; border-top: 1px solid var(--border); margin-top: 24px; padding-left: 0; }
}
@media (max-width: 900px) {
  .message-composer-layout { grid-template-columns: 1fr; }
  .health-campaign-summary, .health-recipient-review > header, .health-send-bar { align-items: flex-start; flex-direction: column; }
  .health-campaign-links { justify-content: flex-start; }
  .health-send-bar button { width: 100%; }
  .mobile-admin-note { display: block; }
  .integration-admin-controls, .desktop-admin-action { display: none !important; }
  body:has(.setup-return) .integration-admin-controls { display: block !important; }
  body:has(.setup-return) .mobile-admin-note { display: none; }
}
@media (max-width: 680px) {
  .health-status-overview { padding: 18px 16px; }
  .health-status-groups { grid-template-columns: 1fr; gap: 20px; }
  .health-status-metrics div { padding-right: 10px; }
  .health-status-metrics div + div { padding-left: 10px; }
  .setup-return { align-items: stretch; flex-direction: column; }
  .setup-return .button { width: 100%; justify-content: center; }
  .support-layout { grid-template-columns: 1fr; gap: 16px; }
  .tenant-support-list article > header { display: block; }
  .tenant-support-list time { display: block; margin-top: 8px; }
  .support-admin-form { grid-template-columns: 1fr; padding: 16px; }
  .support-admin-form button { width: 100%; }
  .support-form button { width: 100%; }
  .platform-table-head { display: none; }
  .platform-tenant-row { grid-template-columns: 1fr; gap: 9px; padding: 18px 0; }
  .platform-status-form { justify-content: space-between; }
  .platform-form, .department-registry form, .add-department form { grid-template-columns: 1fr; }
  .platform-form-actions { align-items: stretch; flex-direction: column; }
  .platform-form-actions button { width: 100%; }
  .help-topic-list { grid-template-columns: 1fr; }
  .help-topic-list > a:nth-child(odd) { margin-right: 0; }
  .help-actions { align-items: stretch; flex-direction: column; }
  .document-upload form { grid-template-columns: 1fr; }
  .next-meeting { padding: 22px 18px; } .next-meeting h2 { font-size: 25px; }
  .preparation-grid, .home-columns { grid-template-columns: 1fr; gap: 0; }
  .preparation-grid section { padding: 24px 0 0; } .department-summary { grid-template-columns: repeat(2, 1fr); margin-top: 24px; }
  .term-toolbar { flex-wrap: wrap; } .search-control { flex-basis: 100%; max-width: none; }
  .term-table-head { display: none; } .term-list { margin-top: 20px; }
  .term-list li { grid-template-columns: 1fr; gap: 5px; padding: 16px; } .term-list .is-next { padding-left: 13px; }
  .term-title a { min-height: 44px; } .term-when time { display: inline; }
  .term-owner::before { content: 'Ansvariga: '; } .term-place::before { content: 'Plats: '; }
  .meeting-attendance-shortcut { display: inline-flex; margin-top: 18px; }
  .meeting-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; gap: 0; }
  .meeting-tabs button { min-width: 0; min-height: 48px; padding: 8px 5px; white-space: normal; line-height: 1.2; }
  .meeting-tabs button { font-size: 12px; }
  .attendance-list, #leaders, #scouts { grid-template-columns: 1fr; }
  .meeting-work-grid { grid-template-columns: 1fr; gap: 14px; }
  .meeting-work-grid > section, .family-preview { padding: 18px 16px; }
  .planning-form, .contact-filters { grid-template-columns: 1fr; }
  .patrol-assignment { grid-template-columns: 1fr; gap: 6px; }
  .patrol-tools, .setup-gates { grid-template-columns: 1fr; }
  .sync-report-counts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .patrol-assignment select, .patrol-save button { width: 100%; }
  .patrol-save { align-items: stretch; flex-direction: column; }
  .timeline li { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; }
  .attendance-actions > button { flex: 1; } .page-heading { gap: 10px; }
  .task-preview, .knowledge-grid { grid-template-columns: 1fr; }
  .task-preview a { min-height: 0; }
  .work-toolbar { align-items: stretch; flex-wrap: wrap; }
  .work-toolbar .search-control { flex-basis: 100%; max-width: none; }
  .work-list article { grid-template-columns: minmax(0, 1fr) 44px; gap: 12px; padding: 18px 0; }
  .work-list article:has(.task-status) { grid-template-columns: minmax(0, 1fr) 44px; }
  .work-state { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 10px; }
  .task-status { grid-column: 1; }
  .work-state time { margin: 0; }
  .message-list article { padding: 18px; } .message-list header { gap: 10px; } .message-actions > * { flex: 1; }
  .whatsapp-heading { flex-direction: column; gap: 8px; }
  .whatsapp-review textarea { min-height: 430px; font-size: 16px; }
  .leadership-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leadership-summary div:nth-child(2) { border-right: 0; }
  .leadership-summary div { border-bottom: 1px solid var(--border); }
  .action-banner, .family-safety { align-items: stretch; flex-direction: column; }
  .dashboard-columns { grid-template-columns: 1fr; gap: 18px; }
  .compact-metrics { grid-template-columns: 1fr; }
  .plan-row { grid-template-columns: 1fr; gap: 16px; }
  .coverage-list article { grid-template-columns: minmax(0, 1fr) auto; }
  .leader-requirement-list summary { grid-template-columns: minmax(0, 1fr); }
  .coverage-progress { grid-column: 1 / -1; grid-row: 2; padding-left: 52px; }
  .plan-row-actions { justify-content: flex-start; }
  .readiness-table article { grid-template-columns: 1fr; gap: 10px; }
  .integration-tool { padding: 19px 16px; }
  .saved-form-link { flex-direction: column; }
  .saved-form-link > span { justify-content: flex-start; }
  .integration-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .integration-form { grid-template-columns: 1fr; }
  .department-settings { grid-template-columns: minmax(0, 1fr) auto; }
  .weather-place-row { grid-template-columns: minmax(0, 1fr) 44px; }
  .weather-place-row input { grid-column: 1; }
  .weather-place-row label { grid-column: 1; }
  .weather-place-row .icon-button { grid-column: 2; grid-row: 1; }
  .family-focus { grid-template-columns: 1fr; padding: 22px 18px; }
  .offline-details { grid-template-columns: 1fr; }
  .meeting-safety { grid-template-columns: 1fr; padding: 18px 16px; }
  .meeting-safety > .prose { grid-column: 1; }
  .offline-actions { min-width: 0; }
  .family-side { padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--border); }
  .family-empty, .setup-readiness { align-items: stretch; flex-direction: column; }
  .family-empty > div:last-child { align-items: stretch; flex-direction: column; }
  .department-setup-list li { grid-template-columns: 38px minmax(0, 1fr); gap: 14px; }
  .department-setup-list li .button { grid-column: 2; width: 100%; justify-content: center; }
  .family-quick-grid, .family-quick-grid.is-compact, .profile-grid { grid-template-columns: 1fr; }
  .platform-tabs, .workspace-tabs { overflow-x: auto; scrollbar-width: thin; }
  .platform-tabs button, .workspace-tabs button { flex: 0 0 auto; }
  .family-quick-grid a { min-height: 82px; }
  .leader-contact-list article { align-items: stretch; flex-direction: column; }
  .leader-contact-list .contact-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .leader-contact-list .contact-actions a { justify-content: center; }
  .absence-list form { grid-template-columns: 1fr; gap: 12px; }
  .absence-list form > button { width: 100%; }
  .family-calendar-actions { width: 100%; justify-content: flex-start; }
  .family-calendar-actions .secondary, .page-heading [data-download-event] { width: 100%; justify-content: center; }
  .family-packing { padding: 19px 16px; }
  .health-status-grid article { align-items: flex-start; flex-direction: column; gap: 8px; }
  .safety-paths > section { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; }
}
@media print {
  @page { margin: 16mm; }
  .meeting-tabs, .meeting-editor, .plan-import, .workspace-context, #message, #communicationPanel, #attendancePanel, .offline-tool, .print-button, .back-link { display: none !important; }
  #schedulePanel, #materialPanel, #safetyPanel { display: block !important; } body { background: white; } .timeline li, .meeting-work-grid > section { break-inside: avoid; }
}
.checkbox-row {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  width: fit-content;
  font-weight: 600;
}

.checkbox-row input {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
}

.meeting-safety-note { margin-top: 24px; padding: 16px 0; border-top: 1px solid var(--border); }
.meeting-safety-note > summary { cursor: pointer; font-weight: 650; }
.meeting-print-sheet { display: none; }
/* A dedicated sheet also handles browser Print while another meeting tab is open. */
.meeting-print-sheet.is-measuring, body > .meeting-print-sheet {
  box-sizing: border-box; color: #182d25; font-family: Arial, sans-serif;
  font-size: 10pt; line-height: 1.3; width: 190mm; margin: 0; padding: 0;
}
.meeting-print-sheet.is-measuring { display: block; position: absolute; left: -10000px; top: 0; }
:is(.meeting-print-sheet, .term-print-sheet) .print-brand { display: flex; align-items: center; gap: 12px; padding-bottom: 10px; border-bottom: 2px solid #174c3d; }
:is(.meeting-print-sheet, .term-print-sheet) .print-brand strong { font-size: 20pt; line-height: 1; font-weight: 700; color: #174c3d; }
:is(.meeting-print-sheet, .term-print-sheet) .print-brand span { margin-left: auto; font-size: 9pt; }
.meeting-print-sheet h1 { font-size: 19pt; line-height: 1.15; margin: 10px 0 6px; }
.meeting-print-sheet h2 { font-size: 11pt; margin: 8px 0 4px; }
.meeting-print-sheet p { margin: 4px 0; line-height: inherit; }
.meeting-print-sheet .print-meta { color: #40574a; }
.meeting-print-sheet .print-material { margin: 8px 0; padding: 6px 0; border-bottom: 1px solid #cbd6cf; }
.meeting-print-sheet .prose { white-space: pre-wrap; overflow-wrap: anywhere; }
.meeting-print-sheet .schedule-text { padding: 0; background: none; border: 0; font: inherit; }
.meeting-print-sheet .timeline { list-style: none; padding: 0; margin: 0; }
.meeting-print-sheet .timeline li { display: grid; grid-template-columns: 50px minmax(0, 1fr); gap: 12px; padding: 7px 0; border-bottom: 1px solid #d4ddd7; break-inside: avoid; }
.meeting-print-sheet .timeline h2 { margin: 0 0 3px; }
.meeting-print-sheet .step-time { font-size: 10pt; color: #244f3d; padding: 0; }
.meeting-print-sheet .step-time span { display: block; font-size: 8pt; }
.meeting-print-sheet .step-owner { font-size: 8.5pt; }
.meeting-print-sheet section { padding: 5px 0; margin: 0; border: 0; }
@media print {
  @page { size: A4 portrait; margin: 10mm; }
  body:has(> .meeting-print-sheet) > :not(.meeting-print-sheet) { display: none !important; }
  body > .meeting-print-sheet { display: block !important; position: static; width: 190mm; zoom: var(--meeting-print-scale, 1); }
  html, body { min-height: 0 !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
}


/* Printed hierarchy stays clear even without background graphics. */
.meeting-print-sheet .print-schedule > h2 { font-size: 10pt; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; margin: 10px 0 3px; }
.meeting-print-sheet .print-moment { display: grid; grid-template-columns: 70px minmax(0, 1fr); column-gap: 13px; padding: 8px 0; border-bottom: 1px solid #bbc9c0; break-inside: avoid; }
.block-editor { min-width: 0; }
.block-budget { padding: 10px 12px; background: #edf5ef; border-left: 3px solid #427957; }
.block-budget.is-warning { background: #fff4d8; border-color: #a37616; }
.schedule-block { margin: 10px 0; padding: 8px 0; border: 0; border-top: 1px solid #bbc9c0; min-width: 0; }
.schedule-block legend { font-weight: 600; padding-right: 8px; }
.block-heading, .block-actions { display: flex; align-items: center; gap: 8px; }
.block-heading { justify-content: space-between; flex-wrap: wrap; margin-bottom: 6px; }
.block-heading output { font-weight: 600; }
.block-actions .icon-button { width: 40px; height: 40px; flex: 0 0 40px; }
.block-actions [data-block-up] .icon, .block-actions [data-block-down] .icon { transform: rotate(90deg); }
.block-fields { display: grid; grid-template-columns: minmax(0,1fr) 140px; gap: 10px; align-items: end; }
.schedule-block label { display: block; margin-bottom: 6px; min-width: 0; }
.schedule-block input, .schedule-block textarea { width: 100%; box-sizing: border-box; padding: 8px 10px; font-weight: 400; }
.schedule-block textarea { min-height: 60px; resize: vertical; }
.block-top { display: block; }
.block-heading { padding: 0; margin-bottom: 4px; }
.block-heading output { font-size: 14px; color: #52645d; }
.block-details { display: grid; grid-template-columns: minmax(0,2fr) minmax(180px,1fr); gap: 10px; }
@media(max-width:700px) {
  .block-fields { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .block-fields { grid-template-columns: minmax(0,1fr) 115px; }
  .block-details { grid-template-columns: minmax(0,1fr); }
  .block-actions { gap: 4px; }
}
.block-owner-field { min-width: 0; margin-bottom: 6px; }
.block-owner-label { display: block; font-weight: 600; }
.block-owner-picker { position: relative; }
.block-owner-picker > summary { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 44px; padding: 8px 10px; box-sizing: border-box; border: 1px solid #98aea5; border-radius: 6px; background: white; cursor: pointer; list-style: none; }
.block-owner-picker > summary::-webkit-details-marker { display: none; }
.block-owner-picker > summary > span { min-width: 0; overflow-wrap: anywhere; }
.block-owner-picker > summary .icon { flex-shrink: 0; transform: rotate(90deg); }
.block-owner-picker[open] > summary .icon { transform: rotate(-90deg); }
.block-owner-options { position: absolute; left: 0; right: 0; z-index: 10; margin-top: 4px; padding: 4px; max-height: min(380px, 55vh); overflow-y: auto; border: 1px solid #98aea5; border-radius: 6px; background: white; box-shadow: 0 4px 12px #0002; }
.schedule-block .block-owner-option { display: flex; align-items: center; gap: 8px; padding: 5px 6px; margin: 0; min-height: 32px; line-height: 1.3; box-sizing: border-box; cursor: pointer; }
.schedule-block .block-owner-option input { width: 18px; height: 18px; min-height: 18px; flex: 0 0 18px; margin: 0; padding: 0; }
.block-owner-option span { overflow-wrap: anywhere; }
.block-owner-option small { display: block; margin: 0; font-size: 12px; line-height: 1.25; font-weight: 400; color: #52645d; }
#schedulePanel .print-moment { padding: 16px 0; border-bottom: 1px solid #bbc9c0; overflow-wrap: anywhere; }
#schedulePanel .print-moment-time { display: flex; gap: 12px; flex-wrap: wrap; }
#schedulePanel .print-moment h3 { margin: 8px 0; }
.meeting-print-sheet .print-moment h3 { margin: 0 0 4px; font-size: 11pt; line-height: 1.2; font-weight: 700; color: #182d25; }
.meeting-print-sheet .print-moment-time strong { display: block; font-size: 10.5pt; font-weight: 700; color: #244f3d; }
.meeting-print-sheet .print-moment-time span { display: block; margin-top: 3px; font-size: 8pt; color: #40574a; }
.meeting-print-sheet .print-moment p { margin: 0 0 3px; white-space: pre-wrap; }
.meeting-print-sheet .print-moment .print-moment-owner { margin-top: 5px; font-size: 8.5pt; color: #344c3e; }
.meeting-print-sheet .timeline h2 { font-weight: 700; }

/* Instructions remain visible while choosing a reserve game. */
.library-situations { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; }
.library-situations [aria-pressed="true"] { background: var(--forest); color: white; }
.knowledge-grid { align-items: start; }
.knowledge-grid [hidden] { display: none; }
.knowledge-grid p, .knowledge-grid .game-steps { font-size: 16px; line-height: 1.6; }
.knowledge-grid h3 { font-size: 16px; margin: 0 0 8px; }
.game-steps { padding-left: 22px; margin: 0 0 20px; }
.game-steps li + li { margin-top: 10px; }
.knowledge-grid .game-facts { font-size: 14px; }

.task-claim { margin-top: 10px; font-size: 13px; }

.responsibility-list > article { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--border); }
.responsibility-list h2 { margin: 0 0 8px; font-size: 18px; }
.responsibility-list p { margin: 8px 0; }
.responsibility-date { color: var(--muted); font-size: 13px; }
.responsibility-controls { margin: 16px 0; }
.responsibility-actions { display: flex; align-items: start; flex-wrap: wrap; gap: 12px; }
.responsibility-editor summary { cursor: pointer; min-height: 44px; padding: 12px; }
.responsibility-option { display: flex; align-items: center; gap: 10px; margin: 12px 0; overflow-wrap: anywhere; }
.responsibility-option input { width: 20px; min-height: 20px; flex: 0 0 20px; }
.responsibility-option small { display: block; color: var(--muted); }
.responsibility-editor fieldset { min-width: 0; }
@media (max-width: 700px) { .responsibility-list > article { grid-template-columns: minmax(0, 1fr); gap: 8px; } .responsibility-editor { max-width: 100%; } }

.responsibility-list h2 a { color: var(--forest); }
@media print { .responsibility-actions { display: none !important; } }

.health-status-groups li [data-health-whatsapp] { display: block; padding: 6px 0; min-height: 44px; text-align: left; }
[data-health-whatsapp-preview] { max-width: 420px; overflow-wrap: anywhere; }
[data-health-whatsapp-preview] p { white-space: pre-wrap; }
[data-health-whatsapp-preview] a { display: block; margin: 8px 0; white-space: normal; }

.health-bulk { padding: 18px; margin: 20px 0; border: 1px solid var(--border); border-radius: 6px; }
.health-bulk [hidden] { display: none; }
.health-bulk-choice { padding: 14px 0; border-bottom: 1px solid var(--border); }
.health-bulk-choice label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.health-bulk-choice input { flex: 0 0 auto; width: 20px; height: 20px; }
.health-bulk-choice details { margin: 10px 0; }
.health-bulk .prose { white-space: pre-wrap; overflow-wrap: anywhere; }
.health-bulk .message-actions { flex-wrap: wrap; }
.health-bulk [data-bulk-start] { margin-top: 16px; }

[data-health-review] { margin: 20px 0; overflow-wrap: anywhere; }
[data-health-review] + .section-intro, [data-health-sync] + .section-intro { margin-top: 20px; }

.health-sync-status { padding: 14px 18px; margin-bottom: 20px; border: 1px solid var(--line); background: #f5f8f7; }
.health-sync-status p { margin: 0 0 10px; }
.health-sync-status.is-warning { background: #fff5d9; }
.health-name-link { display: flex; align-items: end; flex-wrap: wrap; gap: 16px; border-top: 1px solid #ded6ba; padding: 16px 0; }
.health-name-link > div, .health-name-link > label { flex: 1 1 220px; min-width: 0; }
.health-name-link select { display: block; width: 100%; margin-top: 6px; }
.health-name-link [data-link-status]:empty { display: none; }
.health-reminder-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.health-reminder-columns > * { min-width: 0; margin-top: 0; }
.health-reminder-columns .message-composer-layout { grid-template-columns: 1fr; }
.health-reminder-columns .section-heading { flex-wrap: wrap; }
@media (max-width: 900px) { .health-reminder-columns { grid-template-columns: 1fr; } }

.health-channel { background: white; border: 1px solid #d4e2de; min-width: 0; }
.health-channel > summary { padding: 20px; cursor: pointer; font-weight: 700; font-size: 1.1rem; }
.health-channel > .integration-tool, .health-channel > .health-bulk { margin: 0; border: 0; border-top: 1px solid #d4e2de; }

#platformTenantSelector { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 16px 0; }
#platformTenantSelector select { max-width: 100%; min-width: 0; }
.integration-actions { padding-left: 20px; }
.integration-actions li { padding: 12px 0; border-bottom: 1px solid var(--border); overflow-wrap: anywhere; }
.control-check details li { margin: 12px 0; }
.family-focus + .family-focus { margin-top: 1.5rem; }
.family-health-cards, .family-publication-changes { display: grid; gap: 1rem; }
.family-health-cards article, .family-publication-changes article { padding: 1rem; border: 1px solid var(--line, #dce3df); border-radius: 12px; overflow-wrap: anywhere; }
#familyContactsForm fieldset { min-width: 0; display: grid; gap: .5rem; border: 1px solid var(--line, #dce3df); border-radius: 12px; padding: 1rem; }
.family-side .contact-actions { flex-wrap: wrap; }
.family-focus > div { min-width: 0; overflow-wrap: anywhere; }

.family-action-section { margin-bottom: 2rem; }
.family-action-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1rem; }
.family-child-actions { min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: 12px; background: white; overflow-wrap: anywhere; }
.family-action { padding: 1rem 0; border-top: 1px solid var(--border); }
.family-action h4 { margin: .5rem 0; }
[id^="health-"], [id^="change-"] { scroll-margin-top: 110px; }

.platform-tabs { flex-wrap: wrap; }
.platform-steps li, .platform-person-list article { padding: 1rem; margin-block: .75rem; border: 1px solid var(--line, #d8dfda); border-radius: 8px; overflow-wrap: anywhere; }
[data-platform-lifecycle] { display: grid; gap: 1rem; max-width: 680px; }
[data-platform-lifecycle] label { display: grid; gap: .5rem; }
[data-control-editor] { margin-block: 1rem; }
[data-control-editor] > summary { cursor: pointer; font-weight: 700; padding-block: .75rem; }
.platform-action-links { display: flex; flex-wrap: wrap; gap: .75rem; }

.platform-steps li > a { display: block; margin-top: .65rem; color: var(--green, #24564b); }

#contact { scroll-margin-top: 110px; }

/* Keep the next activity's contacts readable in the narrow family column. */
.family-activity-contacts { margin-top: 16px; min-width: 0; }
.family-activity-contacts h3 { margin: 0 0 12px; font-size: 14px; color: var(--ink, #17342d); }
.family-contact-cards { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.family-contact-cards li { min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: #f7faf9; }
.family-contact-cards .family-contact-name { margin: 0 0 10px; font-size: 14px; line-height: 1.45; font-weight: 650; color: var(--ink, #17342d); overflow-wrap: anywhere; }
.family-contact-cards .contact-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.family-contact-cards .contact-actions a { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 5px; min-height: 44px; min-width: 0; padding: 4px; border: 1px solid #b8ccc5; border-radius: 6px; background: white; text-decoration: none; font-size: 12px; line-height: 1.3; }
.family-contact-cards .contact-actions .icon { width: 16px; height: 16px; flex: 0 0 16px; }
.family-contact-cards .contact-actions a:hover { background: #eaf2ee; border-color: #347a60; }
.family-all-contacts { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; margin-top: 8px; font-size: 13px; }
:is(.meeting-print-sheet, .term-print-sheet) .print-brand-mark { display: block; width: 48px; height: 48px; flex: 0 0 48px; print-color-adjust: exact; -webkit-print-color-adjust: exact; }

/* Keep each Scoutnet decision next to its person and comparison. */
.member-review-rows { max-height: none; overflow: visible; }
.member-review-rows article { display: block; padding: 20px 0; }
.member-review-rows h4 { margin: 0; font-size: 18px; }
.review-comparison { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.review-comparison h5 { grid-column: 1 / -1; margin: 0; font-size: 15px; }
.review-comparison > div { padding: 12px; background: #f4f7f5; overflow-wrap: anywhere; }
.review-comparison p { white-space: pre-wrap; margin: 6px 0 0; }
.review-decision { display: flex; flex-wrap: wrap; gap: 16px; padding: 12px; border: 1px solid var(--border); }
.review-decision legend { font-weight: 700; }
.member-review-rows .review-decision label { white-space: normal; }
.review-warning { padding: 12px; background: #fff7df; border-left: 3px solid #b98412; }
@media (max-width: 600px) { .review-comparison { grid-template-columns: 1fr; } }

.review-information { padding: 12px; background: #f4f7f5; color: var(--muted); }

/* Optional department questions share the same presentation in both role views. */
.to-leadership { margin: 2rem 0; padding: 1.5rem; border: 1px solid var(--line, #d4e0da); border-radius: .5rem; }
.department-question { margin: 1rem 0; padding: 1.25rem 0; border-top: 1px solid var(--line, #d4e0da); overflow-wrap: anywhere; }
.department-question header { display:flex; gap:1rem; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.department-question h3 { margin:0; }
.question-text { white-space:pre-wrap; }
[data-question-form] { display:grid; gap:1rem; margin-top:1rem; max-width:50rem; }
[data-question-form] label { display:grid; gap:.4rem; }
[data-question-form] input, [data-question-form] textarea, [data-question-form] select { width:100%; min-width:0; box-sizing:border-box; }
[data-question-form] button { justify-self:start; white-space:normal; }

#placeManager > label { display:block; margin-top:16px; }
#placeManager > input, #placeManager > select { margin-bottom:12px; }
.place-search-results { display:grid; gap:8px; margin:12px 0; }
.place-search-results button { white-space:normal; text-align:left; overflow-wrap:anywhere; }
.weather-place-search { margin-bottom: 2px; }
.place-search-controls { display:flex; align-items:end; gap:10px; }
.place-search-controls input { min-width:0; flex:1; }
.weather-coordinate-fields { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); grid-column:span 2; gap:10px; }
.weather-coordinate-fields summary { grid-column:1 / -1; cursor:pointer; font-weight:650; }
.weather-coordinate-fields:not([open]) > div { display:none; }
@media (max-width: 760px) {
  .place-search-controls { align-items:stretch; flex-direction:column; }
  .weather-coordinate-fields { grid-template-columns:1fr; grid-column:auto; }
}
#newPlaceDetails { margin:20px 0; }
#messageTemplateForm, [data-message-extra], [data-bulk-meetings] { display: grid; gap: 14px; margin: 18px 0; }
#messageTemplateForm label, [data-message-extra] label, [data-bulk-meetings] label { display: grid; gap: 6px; }
[data-bulk-meetings] label.invite-send-option { display: flex; }
#messageTemplateForm [data-template-output], [data-bulk-result] { padding: 16px; background: #fff; border: 1px solid var(--border); }
@media (max-width: 600px) {
  .message-list .message-actions > * { flex: 1 1 180px; justify-content: center; }
  #messageTemplateForm [data-template-token] { flex: 1 1 100px; }
}


.meeting-birthdays { margin-block: 1.5rem; padding: 1.25rem; border: 1px solid var(--border); border-radius: 16px; }
.meeting-birthdays > h2 { margin: 0 0 .5rem; font-size: 1.2rem; }
.birthday-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1rem; }
.birthday-group { padding: 1rem; border-radius: 12px; background: var(--surface, #f4f6f1); min-width: 0; }
.birthday-same-day { background: #edf4e5; }
.birthday-group h3 { margin: 0 0 .75rem; font-size: 1rem; }
.birthday-group ul { list-style: none; padding: 0; margin: 0; display: grid; gap: .75rem; }
.birthday-group li { display: grid; gap: .2rem; overflow-wrap: anywhere; }
.birthday-group li span, .birthday-missing { font-size: .875rem; }
.birthday-missing { margin-bottom: 0; }

/* Import comparisons use the same readable form rhythm as meeting edits. */
#importColumnMapping, #startColumnMapping { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; margin-top: 20px; }
#importColumnMapping label, #startColumnMapping label, #reimportReview label { display: grid; gap: 8px; }
#reimportReview fieldset { min-width: 0; border: 1px solid var(--line, #dce3df); border-radius: 12px; padding: 20px; margin: 20px 0; display: grid; gap: 16px; }
#reimportReview legend { font-weight: 700; padding: 0 8px; }
#reimportReview p { overflow-wrap: anywhere; }
#reimportReview .invite-send-option { display: flex; margin: 12px 0; }

#messageTemplateForm label.checkbox-label { display: flex; align-items: center; gap: 12px; }

#departmentPackingForm { display:grid; gap:14px; margin:18px 0; }
#departmentPackingForm label { display:grid; gap:6px; }

/* Row corrections use the full table width on desktop. */
.review-row-editor { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 12px; background: var(--surface, white); }
.review-row-editor label { display: block; }
.review-row-editor textarea { min-height: 90px; }

.review-row-editor .full-width { grid-column: 1 / -1; }
.parent-help { margin: 24px 0; padding: 20px; border: 1px solid var(--border); border-radius: 10px; scroll-margin-top: 100px; }
.parent-help-list { display: grid; gap: 16px; margin: 16px 0; }
.parent-help-card { padding: 16px; background: #f7faf9; border: 1px solid var(--border); border-radius: 8px; min-width: 0; overflow-wrap: anywhere; }
.parent-help-card h3 { margin: 0 0 10px; }
.parent-help form { display: grid; gap: 12px; margin-top: 14px; max-width: 560px; }
.parent-help label { display: grid; gap: 6px; }
.parent-help input, .parent-help textarea { max-width: 100%; min-width: 0; }

.meeting-paste { margin: 1rem 0; }
.meeting-paste fieldset { margin: 1rem 0; min-width: 0; }
.meeting-paste textarea, .meeting-paste input:not([type=checkbox]), .meeting-paste select { width: 100%; max-width: 100%; }
.meeting-paste label { display: block; margin-top: .5rem; }

.meeting-paste .paste-times { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); align-items: end; gap: .6rem; }
.meeting-paste .paste-duration { padding-bottom: .75rem; font-weight: 600; }
.meeting-paste .paste-block { padding: .75rem; }
.meeting-paste .paste-warning { padding: .75rem 1rem; background: #fff4d8; border-left: .25rem solid #a37616; }
.meeting-paste .paste-block details { margin-top: .5rem; }
@media(max-width:600px) { .meeting-paste .paste-times { grid-template-columns: minmax(0,1fr) minmax(0,1fr); } .meeting-paste .paste-duration { grid-column: 1/-1; padding-bottom: 0; } }

@media(min-width:701px) {
 .meeting-paste .paste-block { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px, .8fr); gap: 8px 16px; align-items: end; }
 .meeting-paste .paste-block > label { margin: 0; }
 .meeting-paste .paste-block > details { grid-column: 1/-1; margin: 0; }
 .meeting-paste .paste-times label { margin: 0; }
}

/* File connection and sync review remain available on mobile. */
#googleSheetSync { display: block; }
#planningSheetReview { grid-column: 1 / -1; min-width: 0; }
#planningSheetReview fieldset { min-width: 0; margin-bottom: 16px; }
#planningSheetReview .prose { overflow-wrap: anywhere; white-space: pre-wrap; }
@media print { #googleSheetSync { display: none !important; } }

#googleSheetSync .sheet-hint { display: block; margin: 12px 0 20px; color: var(--muted, #526b60); }
#googleSheetSync .sheet-start-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 18px 0; }
#googleSheetSync .sheet-start-choice { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 20px; border: 1px solid var(--border); border-radius: 10px; background: #fff; }
#googleSheetSync .sheet-start-choice h3, #googleSheetSync .sheet-start-choice p { margin: 0; }
#googleSheetSync .sheet-start-choice h3 { font-size: 1.08rem; }
#googleSheetSync .sheet-start-choice p { color: var(--muted); line-height: 1.5; }
#googleSheetSync .sheet-start-choice button { margin-top: auto; }
#googleSheetSync .sheet-other-ways { margin-top: 18px; border-top: 1px solid var(--border); padding-top: 14px; }
#googleSheetSync .sheet-other-ways > summary { cursor: pointer; font-weight: 600; }
#googleSheetSync .sheet-other-ways[open] > summary { margin-bottom: 14px; }
#googleSheetSync .sheet-other-ways p { margin: 0 0 12px; }
#googleSheetSync .sheet-copy-option { margin-bottom: 18px; }
#googleSheetSync #planningSheetCopyResult:empty { display: none; }
@media (max-width: 760px) {
  #googleSheetSync .sheet-start-choices { grid-template-columns: minmax(0, 1fr); }
  #googleSheetSync .sheet-start-choice { padding: 16px; }
}
#googleSheetSync .sheet-connection-overview { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; margin: 16px 0; padding: 20px; border: 1px solid var(--border); border-radius: 10px; }
#googleSheetSync .sheet-connection-details { min-width: 0; }
#googleSheetSync .sheet-connection-details p { margin: 0 0 10px; overflow-wrap: anywhere; }
#googleSheetSync .sheet-connection-details p:last-child { margin-bottom: 0; }
#googleSheetSync .sheet-connection-actions { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: flex-start; gap: 12px; }
#googleSheetSync .sheet-connection-actions > button { margin: 0; }
#googleSheetSync .sheet-manage { margin: 0; }
#googleSheetSync .sheet-manage > summary { padding: 11px 14px; border: 1px solid var(--border); border-radius: 7px; font-weight: 600; cursor: pointer; }
#googleSheetSync .sheet-manage[open] { flex-basis: 100%; }
#googleSheetSync .sheet-manage .form-actions { margin-top: 12px; }
#googleSheetSync .sheet-manage .sheet-hint { margin-bottom: 0; }
#googleSheetSync #sheetHistory { margin-top: 16px; }
@media (max-width: 760px) {
  #googleSheetSync .sheet-connection-overview { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  #googleSheetSync .sheet-connection-actions { justify-content: flex-start; }
}
#planningSheetReview:not(:empty) { margin-top: 24px; }
#planningSheetReview > details { margin-bottom: 20px; }

/* Leave room for the focus ring below each review label. */
#planningSheetReview label { display: grid; gap: 12px; margin: 16px 0 8px; line-height: 1.5; }
#planningSheetReview label select { display: block; width: 100%; margin: 0; }

.sheet-review-meeting { margin-block: 1rem; min-width: 0; }
.sheet-review-row { display: flex; gap: 1rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.sheet-review-row label { flex: 0 1 20rem; min-width: 0; }
.sheet-review-bulk button { margin: 0 .5rem .5rem 0; }
.sheet-review-meeting > details { margin-top: .75rem; }
.sheet-review-meeting .prose { overflow-wrap: anywhere; }
#planningSheetReview .sheet-review-row label { margin: 0; }
#planningSheetReview .sheet-review-meeting { padding: 12px; }
#planningSheetReview .sheet-review-meeting > details { margin-block: 8px 0; }
#planningSheetReview .sheet-review-meeting > details > summary { padding-block: 8px; }

#sheetHistoryEntries fieldset { min-width: 0; margin-block: 1rem; padding: 12px; }
#sheetHistoryEntries .prose { overflow-wrap: anywhere; white-space: pre-wrap; }
#sheetHistoryEntries label { display: grid; gap: 12px; margin: 16px 0 8px; line-height: 1.5; }
#sheetHistoryEntries select { width: 100%; margin: 0; }
#planningSheetReview label[hidden], #sheetHistoryEntries label[hidden] { display: none; }

#planningSheetReview label.checkbox-label, #sheetHistoryEntries label.checkbox-label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
#planningSheetReview .checkbox-label input[type="checkbox"], #sheetHistoryEntries .checkbox-label input[type="checkbox"] {
  width: 24px;
  height: 24px;
  min-height: 24px;
  flex: 0 0 24px;
  margin: 0;
  padding: 0;
  accent-color: var(--primary, #183f34);
}
#planningSheetReview label.checkbox-label[hidden], #sheetHistoryEntries label.checkbox-label[hidden] { display: none; }

/* Keep patrol actions in the page flow when the fixed mobile menu is shown. */
@media (max-width: 900px), (max-height: 600px) {
  .patrol-save { position: static; }
}

.family-action-summary { margin: 0 0 20px; }
#family-actions { scroll-margin-top: 88px; }

/* Meeting editing stays in one modal with actions outside the scrolling fields. */
.meeting-edit-dialog { width: min(1000px, calc(100vw - 48px)); max-width: none; height: min(900px, calc(100dvh - 48px)); max-height: none; padding: 0; border: 1px solid var(--border); border-radius: 12px; color: var(--ink, #17342d); overflow: hidden; }
.meeting-edit-dialog[open] { display: flex; flex-direction: column; }
.meeting-edit-dialog::backdrop { background: rgb(12 34 28 / .55); }
.meeting-edit-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 24px; border-bottom: 1px solid var(--border); }
.meeting-edit-heading h2 { margin: 0; font-size: 22px; }
.meeting-edit-form { display: flex; flex-direction: column; min-height: 0; flex: 1; }
.meeting-edit-scroll { overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding: 20px 24px; margin: 0; align-content: start; }
.meeting-edit-footer { flex-shrink: 0; padding: 12px 24px max(12px, env(safe-area-inset-bottom)); border-top: 1px solid var(--border); background: white; }
.meeting-edit-footer p { margin: 0 0 8px; font-size: 14px; }
#meetingEditError { color: #8b2525; }
.meeting-edit-footer .form-actions { margin: 0; }
.term-owner-toolbar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding-bottom: 12px; }
.term-owner-toolbar > span { font-size: 14px; }
#googleSheetSync { margin: 8px 0; }
#googleSheetSync > summary { padding: 10px 0; }
.sheet-compact-status { font-weight: 400; margin-left: 8px; font-size: 12px; }
.plan-secondary-actions { margin: 8px 0 12px; }
.plan-secondary-actions > summary { font-size: 14px; padding: 6px 0; }
.term-owner .responsibility-controls { margin: 0; padding: 0; border: 0; }
.term-owner .responsibility-names { margin: 0 0 8px; }
.term-owner .responsibility-actions { flex-wrap: wrap; gap: 8px; }
.term-owner .responsibility-actions > button { padding: 7px 10px; font-size: 13px; }
.term-owner .responsibility-editor { min-width: 0; }
body:has(.meeting-edit-dialog[open]) { overflow: hidden; }
@media (max-width: 700px) {
  .meeting-edit-dialog { width: 100vw; height: 100dvh; margin: 0; border: 0; border-radius: 0; }
  .meeting-edit-heading, .meeting-edit-scroll, .meeting-edit-footer { padding-left: 16px; padding-right: 16px; }
  .meeting-edit-scroll { grid-template-columns: minmax(0,1fr); }
  .term-owner-toolbar { gap: 8px; }
  .term-owner-toolbar .segmented { max-width: 100%; }
  .sheet-compact-status { display: block; margin: 4px 0 0; }
}
@media print { .meeting-edit-dialog, [data-open-meeting-editor], .plan-secondary-actions { display: none !important; } }
.workspace-view-terms .context-help { margin-bottom: 8px; padding-bottom: 0; }
.workspace-view-terms .workspace-context { margin-bottom: 6px; }
.workspace-view-terms .page-heading { margin-bottom: 8px; }
.workspace-view-terms .term-toolbar { padding: 8px 0; }
.workspace-view-terms .term-section { padding-top: 8px; }
.workspace-view-terms .term-section > .section-heading { gap: 8px; }
.workspace-view-terms .term-section h2 { margin-top: 0; }
.workspace-view-terms .plan-heading-actions > .muted { display: none; }
@media (max-width: 700px) {
  .workspace-view-terms .plan-heading-actions button { padding: 9px 12px; font-size: 13px; }
  .workspace-view-terms .term-list { margin-top: 8px; }
}

.term-owner:has(.responsibility-controls)::before { content: none; }

/* Activity bank: one compact search row; instructions open on demand. */
.library-filters { display:grid; grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr)) auto; gap:12px; align-items:end; margin:20px 0 12px; }
.library-filters label { display:block; margin-bottom:6px; font-weight:600; }
.library-filters input,.library-filters select { width:100%; min-width:0; }
.library-source-note { font-size:.875rem; }
.knowledge-grid article { min-width:0; }
.knowledge-grid .game-facts { font-size:.9rem; }
@media(max-width:1000px) { .library-filters { grid-template-columns:repeat(3,minmax(0,1fr)); } .library-search { grid-column:1/-1; } }
@media(max-width:520px) { .library-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .library-filters > :last-child { grid-column:2; } }

.workspace-view-library .context-help { margin-bottom:16px; }
.workspace-view-library .workspace-context { margin-bottom:12px; }
.workspace-view-library .page-heading { margin-bottom:12px; }

.source-new-tab { display:block; font-weight:400; font-size:.8rem; }
.workspace-view-library .section-intro { margin-bottom:12px; }

/* Keep the meeting title readable before its actions on narrow screens. */
@media (max-width: 700px) {
  .meeting-heading h1 { flex: 0 0 100%; overflow-wrap: normal; hyphens: auto; }
  .workspace-context { margin-bottom: 12px; }
  .context-help { margin-bottom: 14px; }
  .context-help summary { padding-block: 12px; }
  .workspace-view-terms .term-toolbar { margin-block: 0; padding-block: 6px; gap: 8px; }
  .workspace-view-terms .term-owner-toolbar { margin-block: 0; padding-bottom: 8px; gap: 6px; }
  .workspace-view-meeting .meeting-meta { margin-block: 12px; }
  input[type="date"] { min-width: 0; width: 100%; }
}

/* Everyday overview: keep records ahead of secondary controls. */
.term-filter-options { margin: 0; padding: 0; border: 0; }
.term-filter-options > summary { display: none; }
.term-filter-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; padding: 6px 0; }
.term-filter-controls .term-owner-toolbar { padding: 0; }
#termResultCount { display: block; font-size: 13px; color: var(--muted); margin-block: 4px; }
.health-settings { margin-block: 20px; }
.health-settings > summary { padding-block: 14px; font-weight: 700; }
.health-settings .health-campaign-summary { margin-block: 12px; }
.health-status-details { margin-bottom: 16px; }
.family-view .workspace-context { margin-bottom: 10px; }
.family-view .workspace-context .scope-note { white-space: nowrap; }
.family-view .page-heading { margin-bottom: 16px; }
.family-view .family-action-summary { margin-block: 12px 20px; }
@media (max-width: 700px) {
  .term-filter-options > summary { display: list-item; padding: 10px 0; cursor: pointer; font-weight: 700; }
  #termFilterSummary { color: var(--muted); font-size: 12px; font-weight: 400; }
  .term-filter-controls { gap: 8px; padding-bottom: 10px; }
  .workspace-view-terms .sheet-compact-status { display: inline; margin-left: auto; }
  .family-view .context-help { margin-bottom: 10px; }
  .family-view .workspace-context { flex-wrap: nowrap; gap: 12px; }
  .family-view .family-focus { padding: 18px 16px; }
}

/* Keep reviewed support changes readable under the strict CSP. */
[data-review-summary] { white-space: pre-wrap; overflow-wrap: anywhere; }

/* A4 overview: retain readable type and paginate instead of shrinking a whole term. */
.term-print-sheet { display: none; box-sizing: border-box; width: 190mm; margin: 0; padding: 0; color: #182d25; font: 10pt/1.3 Arial, sans-serif; }
.term-print-sheet h1 { font-size: 19pt; margin: 12px 0 6px; line-height: 1.15; overflow-wrap: anywhere; }
.term-print-sheet .print-meta { font-size: 9pt; color: #40574a; margin: 0 0 14px; }
.term-print-sheet .print-brand span { overflow-wrap: anywhere; }
.term-print-table { width: 100%; border-collapse: collapse; table-layout: fixed; font: inherit; }
.term-print-table .term-print-date { width: 17%; }
.term-print-table .term-print-time { width: 13%; }
.term-print-table .term-print-title { width: 30%; }
.term-print-table .term-print-place, .term-print-table .term-print-owner { width: 20%; }
.term-print-table th { color: #174c3d; text-align: left; border-bottom: 2px solid #174c3d; font-size: 9pt; }
.term-print-table th, .term-print-table td { padding: 7px 6px; vertical-align: top; overflow-wrap: anywhere; }
.term-print-table td { border-bottom: 1px solid #cbd6cf; }
.term-print-table thead { display: table-header-group; }
.term-print-table tr { break-inside: avoid; }
@media print {
  body:has(> .term-print-sheet) > :not(.term-print-sheet) { display: none !important; }
  body > .term-print-sheet { display: block !important; }
  .term-print-sheet + .term-print-sheet { break-before: page; }
}

/* Planning starts with a small overview; optional meeting fields stay folded. */
.term-start { margin: 20px 0; padding: 18px 20px; border: 1px solid var(--border); border-radius: 12px; background: #fff; }
.term-start > summary { font-weight: 700; cursor: pointer; }
.term-start-row { display: grid; grid-template-columns: minmax(140px, .7fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: 12px; margin: 14px 0; min-width: 0; }
.term-start-row label { display: grid; gap: 6px; min-width: 0; }
.term-start-row button { grid-column: 1/-1; justify-self: start; }
.term-start input:not([type=checkbox]), .term-start select, .term-start textarea { width: 100%; min-width: 0; }
#startReview { border-top: 1px solid var(--border); margin-top: 20px; padding-top: 16px; }
#startReviewContent p { overflow-wrap: anywhere; padding-block: 8px; border-bottom: 1px solid var(--border); }
#startColumnOptions { border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; }
#startColumnOptions > summary { cursor: pointer; font-weight: 700; }
#startColumnOptions > button { margin-top: 12px; }
.term-start-review-list { display: grid; gap: 12px; max-height: min(65vh, 760px); overflow-y: auto; padding: 4px; }
.term-start-review-row { min-width: 0; border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px 14px; background: var(--surface, #fff); }
.term-start-review-row > summary { cursor: pointer; font-weight: 700; overflow-wrap: anywhere; }
.term-start-decision { color: var(--muted); font-weight: 500; }
.term-start-review-row[open] > summary { margin-bottom: 10px; }
.term-start-review-row > label { display: grid; gap: 6px; margin-top: 10px; }
.term-start-review-row > details { margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--border); }
.term-start-review-row > details > summary { cursor: pointer; font-weight: 600; }
.term-start-review-row > details > label { display: grid; gap: 5px; margin-top: 10px; }
.term-start-review-row > details > button { margin-top: 12px; }
#startReviewContent .term-start-review-row p { border: 0; padding-block: 2px; margin-block: 4px; }

.sheet-tab-choice { margin-top: 14px; padding: 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface, #fff); }
.sheet-tab-choice > label { display: block; font-weight: 700; margin-bottom: 8px; }
.sheet-tab-choice > select { width: 100%; max-width: 480px; }
.sheet-tab-choice[hidden] { display: none; }
.sheet-tab-choice > label.sheet-manual-toggle { display: inline-flex; width: fit-content; max-width: 100%; gap: 10px; align-items: flex-start; margin: 12px 0; cursor: pointer; line-height: 1.45; }
.sheet-manual-toggle input[type="checkbox"] { box-sizing: border-box; width: 20px; min-width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin: 1px 0 0; padding: 0; border-radius: 4px; accent-color: #173e33; cursor: pointer; }
.sheet-manual-toggle span { min-width: 0; max-width: 62ch; }
#planningSheetMapFields[hidden] { display: none; }
#planningSheetMapFields > select { width: 100%; max-width: 480px; }
.sheet-map-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; margin-block: 14px; }
.sheet-map-row { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(160px, 1.5fr) minmax(180px, 1.4fr); gap: 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--border); min-width: 0; }
.sheet-map-row strong { overflow-wrap: anywhere; }
.sheet-map-examples { color: var(--muted); font-size: .9rem; overflow-wrap: anywhere; }
.sheet-map-row label { display: grid; gap: 4px; font-weight: 600; min-width: 0; }
.sheet-map-row select { width: 100%; min-width: 0; }
@media (max-width: 700px) { .sheet-map-row { grid-template-columns: minmax(0, 1fr); gap: 5px; } }
#planningSheetMapFields details { margin-block: 10px; }

#startWarningLabel { display: inline-flex; width: fit-content; max-width: 100%; gap: 10px; align-items: flex-start; margin: 14px 0; cursor: pointer; line-height: 1.45; }
#startWarningLabel input[type="checkbox"] { box-sizing: border-box; width: 20px; min-width: 20px; height: 20px; min-height: 20px; flex: 0 0 20px; margin: 1px 0 0; padding: 0; border-radius: 4px; accent-color: #173e33; cursor: pointer; }
#startWarningLabel span { min-width: 0; max-width: 62ch; }
#startWarningLabel[hidden] { display: none; }
.edit-section { border: 1px solid var(--border); border-radius: 8px; padding: 14px; min-width: 0; }
.edit-section > summary { font-weight: 700; cursor: pointer; }
.edit-section > .planning-form { margin-bottom: 0; }
.meeting-paste pre { white-space: pre-wrap; overflow-wrap: anywhere; padding: 12px; background: var(--paper); }
.birthday-empty { padding: 12px 16px; margin-block: 16px; border-radius: 8px; }
.birthday-empty > summary { font-size: 1rem; font-weight: 700; cursor: pointer; }
.birthday-empty p { margin-block: 6px; font-size: .875rem; }
.message-choice { max-width: 720px; margin-block: 20px; }
.message-choice select { width: 100%; }
@media (max-width: 600px) {
  .term-start { padding: 14px; }
  .term-start-row { grid-template-columns: minmax(0,1fr); }
  .workspace-view-meeting .meeting-date { margin-block: 10px 4px; }
  .workspace-view-meeting .meeting-heading { margin-bottom: 10px; padding-bottom: 10px; gap: 10px; }
  .workspace-view-meeting .meeting-heading h1 { margin: 0; font-size: 1.75rem; }
  .workspace-view-meeting .meeting-tabs { margin-top: 18px; }
  .workspace-view-meeting .meeting-attendance-shortcut { margin-block: 4px; }
}

.message-settings { margin-top: 32px; }
.message-settings > h2 { font-size: 1.15rem; }

.health-collection-options { margin: 4px 0 12px; border: 1px solid var(--border); border-radius: 6px; padding: 0 14px; }
.health-collection-options > summary { cursor: pointer; font-weight: 700; padding: 13px 0; }
.health-collection-options .planning-form { padding: 6px 0 14px; }
.health-collection-create small { display: block; margin-top: 5px; color: var(--muted); }
.health-reconcile-panel > summary { display: block; min-height: 24px; padding: 16px 8px; margin: 0 -8px; border-radius: 6px; }
.health-reconcile-panel > summary svg { vertical-align: middle; margin-right: 5px; }
.health-reconcile-panel > summary:focus-visible { outline: 3px solid #287cab; outline-offset: 2px; }

/* Unsaved family answers: one explicit choice, with keyboard and mobile support. */
.absence-unsaved-dialog { box-sizing: border-box; width: min(540px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 1px solid var(--border); border-radius: 12px; color: var(--ink); }
.absence-unsaved-dialog::backdrop { background: rgb(12 34 28 / .55); }
.absence-unsaved-dialog .form-actions { display: flex; flex-wrap: wrap; gap: 12px; }
[data-absence-state]:empty { display: none; }
[data-absence-form][data-dirty="true"] [data-absence-state] { color: #79551a; font-weight: 600; }

/* Review one meeting in the page flow, without a second disclosure or scroll area. */
.term-start-review-list { max-height: none; overflow: visible; }
.term-review-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--border); }
.term-review-fields > p, .term-review-fields > button { grid-column: 1 / -1; }
.term-review-fields label { display: grid; gap: 6px; min-width: 0; }
.term-review-fields input, .term-review-fields select { width: 100%; }
.family-home-packing, .family-activity-contacts { margin-block: 12px; }
.family-home-packing > summary, .family-activity-contacts > summary { cursor: pointer; font-weight: 700; }
@media (max-width: 600px) {
  .term-review-fields { grid-template-columns: minmax(0, 1fr); }
  .workspace-view-meeting .context-help { margin-bottom: 8px; }
  .workspace-view-meeting .workspace-context { margin-bottom: 8px; }
  .workspace-view-meeting .meeting-heading { margin-block: 8px 12px; }
  .workspace-view-meeting .meeting-date { margin-block: 10px 4px; }
  .family-view-family .family-focus { gap: 12px; }
}

@media (max-width: 600px) {
  .family-view-family .family-focus-actions { gap: 8px; margin-block: 12px; }
  .family-view-family .family-focus-actions .button { margin-top: 0; }
  .family-view-family .family-focus h2 { font-size: 24px; margin-block: 10px; }
}

.leader-requirement-list > details > summary::after { content: '⌄'; font-size: 20px; margin-left: 10px; }
.leader-requirement-list > details[open] > summary::after { content: '⌃'; }
[data-library-copy-text]:not([hidden]) { min-height: 180px; width: 100%; margin-top: 12px; }
[data-copy-library] { margin-top: 14px; }

[data-template-editor]:not([hidden]) { display: grid; gap: 14px; }
