/* HiddenHelp Self Help Sheets */
body.hh-page-self-help .hh-self-help-main { padding: clamp(28px, 5vw, 64px) 0 clamp(42px, 7vw, 82px); }
.hh-self-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(280px, .78fr);
  gap: clamp(18px, 3.5vw, 34px);
  align-items: stretch;
  margin-bottom: clamp(20px, 4vw, 38px);
}
.hh-self-hero-copy, .hh-self-hero-card {
  border: 1px solid var(--hh-line);
  border-radius: var(--hh-radius-xl);
  background: rgba(255,255,255,.88);
  box-shadow: var(--hh-shadow-sm);
}
.hh-self-hero-copy { padding: clamp(24px, 4.8vw, 48px); position: relative; overflow: hidden; background: linear-gradient(145deg, #fffafd, #eef8ff 58%, #fff8fa); }
.hh-self-hero-copy::after { content: none; display: none; }
.hh-self-hero-copy > * { position: relative; z-index: 1; }
.hh-self-hero-copy h1 { max-width: 780px; }
.hh-self-hero-copy p { max-width: 760px; color: var(--hh-ink-soft); font-size: clamp(1.04rem, 1.45vw, 1.18rem); }
.hh-self-hero-card { padding: clamp(20px, 3vw, 28px); background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(233,221,248,.62)); }
.hh-self-hero-card h2 { font-size: clamp(1.25rem, 2vw, 1.7rem); }
.hh-self-hero-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.hh-self-hero-list li { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 10px; align-items: start; margin: 0; color: var(--hh-ink-soft); }
.hh-self-hero-list span { width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: #fff; box-shadow: var(--hh-shadow-xs); }
.hh-self-help-notice { margin: 0 0 clamp(20px, 4vw, 34px); padding: clamp(16px, 2.5vw, 22px); border: 1px solid rgba(178,93,118,.25); border-radius: var(--hh-radius-lg); background: linear-gradient(145deg, #fff, var(--hh-danger-soft)); box-shadow: var(--hh-shadow-xs); }
.hh-self-help-notice h2 { font-size: 1.18rem; font-family: var(--hh-font); font-weight: 860; letter-spacing: 0; margin-bottom: 6px; }
.hh-self-help-notice p { margin-bottom: 0; color: var(--hh-ink-soft); }
.hh-self-toolbar { margin-bottom: clamp(16px, 3vw, 26px); padding: clamp(16px, 2.5vw, 22px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: end; }
.hh-self-toolbar h2 { font-size: clamp(1.35rem, 2.5vw, 2rem); }
.hh-self-filter-row { display: flex; gap: 8px; flex-wrap: wrap; }
.hh-self-filter-row button, .hh-self-rail-controls button, .hh-self-sheet-actions button, .hh-self-sheet-actions a, .hh-self-import-actions button { min-height: 44px; border: 1px solid var(--hh-line-strong); border-radius: 999px; padding: 9px 13px; background: rgba(255,255,255,.94); font-weight: 820; cursor: pointer; text-decoration: none; color: var(--hh-ink); box-shadow: var(--hh-shadow-xs); }
.hh-self-hero .hh-bill-tracker-cta { background: linear-gradient(145deg, #eef9ff, #dff2fd); border-color: rgba(127,196,232,.52); color: #3f3150; }
.hh-self-sheet-actions button, .hh-self-sheet-actions a { white-space: normal; line-height: 1.18; text-align: center; }
.hh-self-sheet-actions .hh-self-plan-follow { background: linear-gradient(135deg, var(--hh-lilac), var(--hh-blue)); border-color: transparent; color: #4b2d63; }
.hh-self-filter-row button[aria-pressed="true"] { border-color: transparent; background: linear-gradient(135deg, var(--hh-lilac), var(--hh-blue)); color: #4b2d63; }
.hh-self-rail-shell { margin-bottom: clamp(20px, 4vw, 36px); }
.hh-self-rail-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.hh-self-rail-head p { margin: 0; color: var(--hh-muted); }
.hh-self-rail-controls { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.hh-self-rail-controls span { color: var(--hh-muted); font-weight: 820; min-width: 76px; text-align: center; }
.hh-self-card-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, calc((100% - 16px) / 2)); gap: 16px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; padding: 4px 4px 18px; scrollbar-color: rgba(112,75,140,.45) transparent; }
.hh-self-card { scroll-snap-align: start; display: flex; flex-direction: column; min-height: 390px; border: 1px solid var(--hh-line); border-radius: var(--hh-radius-lg); background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(247,242,250,.82)); box-shadow: var(--hh-shadow-sm); padding: clamp(18px, 2.7vw, 24px); }
.hh-self-card:nth-child(3n+1) { background: linear-gradient(145deg, #fff, rgba(233,221,248,.74)); }
.hh-self-card:nth-child(3n+2) { background: linear-gradient(145deg, #fff, rgba(223,242,253,.76)); }
.hh-self-card:nth-child(3n+3) { background: linear-gradient(145deg, #fff, rgba(227,246,234,.7)); }
.hh-self-card-head { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; align-items: start; margin-bottom: 12px; }
.hh-self-card-icon { width: 52px; height: 52px; border-radius: 18px; display: grid; place-items: center; background: rgba(255,255,255,.95); box-shadow: var(--hh-shadow-xs); font-size: 1.45rem; }
.hh-self-card-kicker { display: inline-flex; width: fit-content; border-radius: 999px; background: rgba(255,255,255,.82); color: var(--hh-muted); padding: 4px 9px; font-size: .76rem; font-weight: 850; margin-bottom: 7px; }
.hh-self-card h3 { margin: 0 0 8px; font-size: clamp(1.16rem, 1.8vw, 1.38rem); }
.hh-self-card p { color: var(--hh-ink-soft); }
.hh-self-card ul { margin: 0 0 16px; color: var(--hh-ink-soft); }
.hh-self-card-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 9px; }
.hh-self-card-actions button { min-height: 44px; border-radius: 999px; border: 1px solid var(--hh-line-strong); background: rgba(255,255,255,.94); padding: 9px 12px; font-weight: 820; cursor: pointer; }
.hh-self-card-actions button:first-child { border-color: transparent; background: linear-gradient(135deg, #b38bca, #7fc4e8); color: #fff; }
.hh-self-workspace { margin-top: clamp(22px, 4vw, 38px); }
.hh-self-sheet { padding: clamp(20px, 3.4vw, 34px); }
.hh-self-sheet[hidden] { display: none !important; }
.hh-self-sheet-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: start; border-bottom: 1px solid var(--hh-line); padding-bottom: 18px; margin-bottom: 18px; }
.hh-self-sheet-top h2 { margin-bottom: 8px; }
.hh-self-sheet-top p { color: var(--hh-ink-soft); margin: 0; }
.hh-self-sheet-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; max-width: 520px; }
.hh-self-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.hh-self-form-grid label { display: block; }
.hh-self-form-grid label.wide { grid-column: 1 / -1; }
.hh-self-form-grid small { display: block; margin-top: 6px; color: var(--hh-muted); font-weight: 650; }
.hh-self-gentle-prompts { margin-top: 18px; padding: 16px; border: 1px dashed var(--hh-line-strong); border-radius: var(--hh-radius-md); background: rgba(255,255,255,.66); }
.hh-self-gentle-prompts h3 { font-size: 1.05rem; }
.hh-self-gentle-prompts ul { margin: 0; color: var(--hh-ink-soft); }
.hh-self-import { margin: 18px 0; padding: clamp(16px, 2.5vw, 22px); border: 1px solid rgba(76,157,203,.28); border-radius: var(--hh-radius-lg); background: linear-gradient(145deg, #fff, rgba(223,242,253,.72)); }
.hh-self-import h3 { font-size: 1.1rem; }
.hh-self-import p { color: var(--hh-ink-soft); }
.hh-self-import-grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: end; }
.hh-self-import-status { margin: 10px 0 0; color: var(--hh-muted); font-weight: 760; }
.hh-self-links { margin-top: clamp(24px, 4vw, 40px); padding: clamp(18px, 3vw, 28px); }
.hh-self-links-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.hh-self-link-card { border: 1px solid var(--hh-line); border-radius: var(--hh-radius-md); background: rgba(255,255,255,.78); padding: 16px; text-decoration: none; color: var(--hh-ink); box-shadow: var(--hh-shadow-xs); }
.hh-self-link-card strong { display: block; margin-bottom: 5px; }
.hh-self-link-card span { color: var(--hh-muted); }
.hh-self-toast { position: fixed; left: 50%; bottom: 24px; z-index: 9800; max-width: min(560px, calc(100vw - 32px)); transform: translate(-50%, 16px); opacity: 0; pointer-events: none; border: 1px solid #abd4bb; border-radius: 999px; background: #f1fff6; color: #244b31; padding: 11px 15px; box-shadow: var(--hh-shadow-md); font-weight: 820; transition: opacity var(--hh-duration), transform var(--hh-duration); }
.hh-self-toast.show { opacity: 1; transform: translate(-50%, 0); }
.hh-self-print-pack { display: none; }
.hh-self-print-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.hh-self-print-brand img:first-child { width: 178px; }
.hh-self-print-brand img:last-child { width: 42px; height: 42px; }
.hh-self-print-text-brand { display: inline-flex; align-items: center; gap: 10px; font-family: var(--hh-font); }
.hh-self-print-text-brand strong { font-size: 18pt; letter-spacing: -.02em; }
.hh-self-print-text-brand .hh-print-hidden { color: #9a72b6; }
.hh-self-print-text-brand .hh-print-help { color: #7fc4e8; }
.hh-self-print-text-brand em { width: 30px; height: 30px; border: 1px solid #b994ce; border-radius: 50%; display: inline-grid; place-items: center; font-style: normal; color: #7d55a0; }
.hh-self-print-kicker { display: inline-flex; border-radius: 999px; background: #efe5f8; color: #5f3a83; padding: 5px 10px; font-size: 9pt; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.hh-self-print-page { page-break-after: always; }
.hh-self-print-page:last-child { page-break-after: auto; }
.hh-self-print-cover { border: 1px solid #d8cce5; border-radius: 18px; padding: 22px; background: linear-gradient(135deg, #fbf7ff, #eef8ff 58%, #fff5f8); }
.hh-self-print-cover h1 { font-family: Georgia, 'Times New Roman', serif; font-size: 27pt; line-height: 1.05; margin: 12px 0 9px; }
.hh-self-print-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.hh-self-print-meta span { border: 1px solid #d8cce5; border-radius: 999px; padding: 5px 9px; background: #fff; font-size: 9pt; }
.hh-self-print-fields { margin-top: 16px; display: grid; gap: 10px; }
.hh-self-print-field { border: 1px solid #d8cce5; border-radius: 12px; padding: 9px 10px; min-height: 60px; break-inside: avoid; }
.hh-self-print-field strong { display: block; font-size: 10pt; margin-bottom: 5px; color: #241b2d; }
.hh-self-print-field span { white-space: pre-wrap; color: #241b2d; }
.hh-self-print-lines { display: grid; gap: 8px; margin-top: 6px; }
.hh-self-print-lines i { display: block; border-bottom: 1px solid #aaa; height: 20px; }
.hh-self-print-reminders { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.hh-self-print-reminders section, .hh-self-print-footer { border: 1px solid #d8cce5; border-radius: 12px; padding: 12px; }
.hh-self-print-reminders h2 { font-family: var(--hh-font); font-size: 13pt; letter-spacing: 0; margin: 0 0 6px; }
.hh-self-print-reminders ul { margin: 0; padding-left: 1.1rem; }
.hh-self-print-footer { margin-top: 16px; font-size: 9.5pt; }
.hh-self-print-footer p { margin: 0 0 5px; }
@media (max-width: 940px) {
  .hh-self-hero { grid-template-columns: 1fr; }
  .hh-self-toolbar { grid-template-columns: 1fr; }
  .hh-self-rail-head { align-items: flex-start; flex-direction: column; }
  .hh-self-card-rail { grid-auto-columns: minmax(280px, 82vw); }
  .hh-self-sheet-top { grid-template-columns: 1fr; }
  .hh-self-sheet-actions { justify-content: flex-start; }
  .hh-self-form-grid, .hh-self-links-grid, .hh-self-import-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .hh-self-card { min-height: 0; }
  .hh-self-sheet-actions { display: grid; grid-template-columns: 1fr; max-width: none; }
  .hh-self-hero .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hh-self-card-rail { grid-auto-columns: calc(100vw - 34px); gap: 12px; }
  .hh-self-hero-copy, .hh-self-hero-card, .hh-self-sheet { border-radius: 22px; }
}

.hh-self-action-group { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; align-items: center; }
.hh-self-action-group button, .hh-self-action-group a { min-height: 44px; border-radius: 999px; border: 1px solid var(--hh-line-strong); background: rgba(255,255,255,.94); padding: 9px 12px; font-weight: 820; cursor: pointer; text-decoration: none; color: var(--hh-ink); box-shadow: var(--hh-shadow-xs); white-space: normal; line-height: 1.18; text-align: center; }
.hh-self-action-group [data-self-action="save-progress"] { border-color: transparent; background: linear-gradient(135deg, var(--hh-lilac), var(--hh-blue)); color: #4b2d63; }
.hh-self-action-group [data-self-action="load-progress"] { background: linear-gradient(145deg, #eef9ff, #dff2fd); border-color: rgba(127,196,232,.52); color: #3f3150; }
.hh-self-action-group button:disabled { opacity: .48; cursor: not-allowed; }
.hh-self-progress-note, .hh-self-progress-status { width: 100%; margin: 6px 0 0; color: var(--hh-muted); font-weight: 700; font-size: .94rem; }
.hh-self-progress-status { color: #5f4c6e; }
.hh-self-bottom-actions { margin-top: 18px; padding: 16px; border: 1px solid var(--hh-line); border-radius: var(--hh-radius-md); background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(239,248,255,.72)); }
.hh-self-bottom-actions h3 { margin-bottom: 10px; font-size: 1.08rem; }
.hh-self-bottom-actions .hh-self-action-group { justify-content: flex-start; }
.hh-self-sheet-actions > .hh-self-action-group { max-width: 680px; }
@media (max-width: 940px) {
  .hh-self-action-group { justify-content: flex-start; }
}
@media (max-width: 720px) {
  .hh-self-action-group { display: grid; grid-template-columns: 1fr; width: 100%; }
  .hh-self-action-group button, .hh-self-action-group a { width: 100%; }
}

@media print {
  @page { size: A4; margin: 12mm; }
  html, body { background: #fff !important; }
  body.hh-page-self-help > *:not(.hh-self-print-pack) { display: none !important; }
  .hh-self-print-pack { display: block !important; color: #000; width: 100%; max-width: 190mm; margin: 0 auto; }
  .hh-self-print-page { display: block; }
  .hh-self-print-cover, .hh-self-print-field, .hh-self-print-reminders section, .hh-self-print-footer { box-shadow: none !important; }
  .hh-self-print-reminders { grid-template-columns: 1fr 1fr; }
  a { color: #000 !important; text-decoration: none !important; }
}


/* v5: keep sheet actions calm by tucking the many actions into one menu. */
.hh-self-action-menu-wrap { max-width: 520px; }
.hh-self-action-menu { position: relative; }
.hh-self-action-menu summary { list-style: none; cursor: pointer; min-height: 48px; border: 1px solid var(--hh-line-strong); border-radius: 999px; padding: 10px 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; background: linear-gradient(135deg, var(--hh-lilac), var(--hh-blue)); color: #fff; box-shadow: var(--hh-shadow-xs); font-weight: 900; }
.hh-self-action-menu summary::-webkit-details-marker { display: none; }
.hh-self-action-menu summary::after { content: "⌄"; width: 30px; height: 30px; border-radius: 999px; display: grid; place-items: center; background: rgba(255,255,255,.26); font-size: 1rem; flex: 0 0 auto; }
.hh-self-action-menu[open] summary::after { content: "⌃"; }
.hh-self-action-menu summary span { display: block; }
.hh-self-action-menu summary small { display: block; font-size: .78rem; font-weight: 750; opacity: .92; line-height: 1.25; }
.hh-self-action-panel { margin-top: 10px; border: 1px solid var(--hh-line); border-radius: 20px; padding: 12px; background: rgba(255,255,255,.96); box-shadow: var(--hh-shadow-sm); display: grid; gap: 10px; }
.hh-self-action-panel section { border: 1px solid rgba(215,201,227,.75); border-radius: 16px; padding: 10px; background: linear-gradient(145deg, #fff, rgba(246,239,252,.66)); display: grid; gap: 8px; }
.hh-self-action-panel h4 { margin: 0 0 2px; font-size: .85rem; color: var(--hh-muted); text-transform: uppercase; letter-spacing: .04em; }
.hh-self-action-panel button, .hh-self-action-panel a { min-height: 42px; border-radius: 999px; border: 1px solid var(--hh-line-strong); background: rgba(255,255,255,.96); padding: 9px 12px; font-weight: 820; cursor: pointer; text-decoration: none; color: var(--hh-ink); box-shadow: var(--hh-shadow-xs); text-align: center; }
.hh-self-action-panel [data-self-action="save-progress"], .hh-self-action-panel [data-self-action="save-plan"], .hh-self-action-panel [data-self-plan-follow] { border-color: transparent; background: linear-gradient(135deg, #b38bca, #7fc4e8); color: #fff; }
.hh-self-action-panel [data-self-action="load-progress"], .hh-self-action-panel [data-self-action="print-filled"], .hh-self-action-panel [data-self-action="print-blank"] { background: linear-gradient(145deg, #f8fcff, #e8f6fd); border-color: rgba(127,196,232,.52); }
.hh-self-action-panel [data-self-action^="clear"] { background: #fff7fa; border-color: rgba(214,139,157,.32); }
.hh-self-action-panel button:disabled { opacity: .48; cursor: not-allowed; }
.hh-self-action-group { display: none !important; }
.hh-self-sheet-actions { min-width: min(420px, 100%); }
.hh-self-progress-note, .hh-self-progress-status { max-width: 100%; margin: 8px 0 0; color: var(--hh-muted); font-weight: 700; font-size: .94rem; }
.hh-self-progress-status { color: #5f4c6e; }
.hh-self-bottom-actions { margin-top: 20px; padding: 16px; border: 1px solid var(--hh-line); border-radius: var(--hh-radius-md); background: linear-gradient(145deg, rgba(255,255,255,.9), rgba(239,248,255,.72)); }
.hh-self-bottom-actions h3 { margin-bottom: 10px; font-size: 1.08rem; }
.hh-self-bottom-actions .hh-self-action-menu-wrap { max-width: 720px; }
@media (min-width: 940px) { .hh-self-action-panel { grid-template-columns: repeat(3, minmax(0,1fr)); } .hh-self-bottom-actions .hh-self-action-panel { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 940px) { .hh-self-action-menu-wrap { max-width: none; } .hh-self-sheet-actions { min-width: 0; } }
@media (max-width: 720px) { .hh-self-action-menu summary { border-radius: 20px; align-items: flex-start; } .hh-self-action-panel { border-radius: 18px; } }

/* v5: print sheets now follow the Support Pack print language more closely. */
.hh-self-print-person, .hh-self-print-purpose, .hh-self-print-worker-notes, .hh-self-print-about { display: none; }
@media print {
  body.hh-page-self-help .hh-self-print-pack { display: block !important; color: #241b2d; width: 100%; max-width: 190mm; margin: 0 auto; font: 9.2pt/1.35 Arial, sans-serif; }
  body.hh-page-self-help .hh-self-print-cover { position: relative; overflow: hidden; padding: 20px 22px 18px; border: 1.4px solid #ccb9db; border-radius: 22px; background: radial-gradient(circle at 100% 0%,#dff2fd 0,transparent 43%),radial-gradient(circle at 0% 100%,#f4e5fa 0,transparent 48%),#fff; margin-bottom: 9px; }
  body.hh-page-self-help .hh-self-print-cover::after { content: ""; position: absolute; width: 42mm; height: 42mm; right: -18mm; bottom: -22mm; border: 1px solid rgba(142,93,174,.18); border-radius: 50%; }
  body.hh-page-self-help .hh-self-print-brand { display: flex; align-items: center; gap: 7px; margin-bottom: 13px; position: relative; z-index: 1; }
  body.hh-page-self-help .hh-self-print-brand img:first-child { width: 145px; }
  body.hh-page-self-help .hh-self-print-brand img:last-child { width: 31px; height: 31px; }
  body.hh-page-self-help .hh-self-print-kicker { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: #e9dcf6; color: #66427d; font-size: 8pt; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
  body.hh-page-self-help .hh-self-print-cover h1 { max-width: 155mm; margin: 8px 0 5px; font: 500 27pt/1.05 Georgia, serif; color: #251b2d; position: relative; z-index: 1; }
  body.hh-page-self-help .hh-self-print-cover p { max-width: 155mm; margin: 0; color: #5f5267; font-size: 10pt; position: relative; z-index: 1; }
  body.hh-page-self-help .hh-self-print-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; color: #66596d; font-size: 8.5pt; font-weight: 700; position: relative; z-index: 1; }
  body.hh-page-self-help .hh-self-print-meta span { border: 0; background: transparent; padding: 0; }
  body.hh-page-self-help .hh-self-print-person { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 6px; margin: 9px 0; }
  body.hh-page-self-help .hh-self-print-person > div { min-width: 0; border: 1px solid #ded3e6; border-radius: 11px; padding: 7px 9px; background: #fff; }
  body.hh-page-self-help .hh-self-print-person span, body.hh-page-self-help .hh-self-print-person strong { display: block; }
  body.hh-page-self-help .hh-self-print-person span { color: #6c5d73; font-size: 7.4pt; font-weight: 800; text-transform: uppercase; letter-spacing: .035em; }
  body.hh-page-self-help .hh-self-print-person strong { margin-top: 3px; font-size: 9pt; overflow-wrap: anywhere; }
  body.hh-page-self-help .hh-self-print-purpose { break-inside: avoid; display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; margin: 9px 0 10px; border: 1px solid #d9cce3; border-radius: 16px; padding: 11px 13px; background: linear-gradient(135deg,#fbf7fe,#f0f9fd); }
  body.hh-page-self-help .hh-self-print-purpose h2, body.hh-page-self-help .hh-self-print-worker-notes h2, body.hh-page-self-help .hh-self-print-about h2 { margin: 4px 0 4px; font: 600 13pt/1.15 Georgia,serif; }
  body.hh-page-self-help .hh-self-print-purpose p, body.hh-page-self-help .hh-self-print-purpose ul { margin: 3px 0; }
  body.hh-page-self-help .hh-self-print-purpose ul { padding-left: 17px; }
  body.hh-page-self-help .hh-self-print-fields { margin-top: 10px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  body.hh-page-self-help .hh-self-print-field { break-inside: avoid; border: 1px solid #ded4e5; border-radius: 12px; padding: 8px 9px; min-height: 24mm; background: #fff; }
  body.hh-page-self-help .hh-self-print-field:nth-child(odd):last-child { grid-column: 1 / -1; }
  body.hh-page-self-help .hh-self-print-field strong { display: block; font-size: 8.4pt; margin-bottom: 5px; color: #66427d; }
  body.hh-page-self-help .hh-self-print-field span { display: block; white-space: pre-wrap; overflow-wrap: anywhere; color: #241b2d; }
  body.hh-page-self-help .hh-self-print-lines { display: grid; gap: 6px; margin-top: 4px; }
  body.hh-page-self-help .hh-self-print-lines i { display: block; border-bottom: 1px solid #bdb1c5; height: 6mm; }
  body.hh-page-self-help .hh-self-print-reminders { break-inside: avoid; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 9px; }
  body.hh-page-self-help .hh-self-print-reminders section, body.hh-page-self-help .hh-self-print-worker-notes, body.hh-page-self-help .hh-self-print-about, body.hh-page-self-help .hh-self-print-footer { border: 1px solid #d9cfe1; border-radius: 16px; padding: 9px 11px; background: #fcf9fd; }
  body.hh-page-self-help .hh-self-print-reminders h2 { margin: 0 0 5px; font: 600 12pt/1.1 Georgia,serif; }
  body.hh-page-self-help .hh-self-print-reminders ul { margin: 0; padding-left: 16px; }
  body.hh-page-self-help .hh-self-print-worker-notes { break-inside: avoid; margin-top: 9px; }
  body.hh-page-self-help .hh-self-print-worker-notes p { margin: 3px 0 7px; color: #66596d; }
  body.hh-page-self-help .hh-self-print-note-lines { display: grid; gap: 7px; }
  body.hh-page-self-help .hh-self-print-note-lines span { display: block; height: 7mm; border-bottom: 1px solid #bdb1c5; }
  body.hh-page-self-help .hh-self-print-about { break-inside: avoid; display: grid; grid-template-columns: 34px minmax(0,1fr) minmax(50mm,.65fr); gap: 10px; align-items: start; margin-top: 9px; background: linear-gradient(135deg,#eef8fd,#faf5fd); }
  body.hh-page-self-help .hh-self-print-about-mark { width: 32px; height: 32px; display: grid; place-items: center; border: 2px solid #966ab1; border-radius: 10px; color: #966ab1; font-size: 16pt; font-weight: 900; }
  body.hh-page-self-help .hh-self-print-about p { margin: 0; color: #5f5267; }
  body.hh-page-self-help .hh-self-print-about-contact { display: grid; grid-template-columns: auto 1fr; gap: 2px 7px; font-size: 7.8pt; }
  body.hh-page-self-help .hh-self-print-about-contact strong { color: #65457a; }
  body.hh-page-self-help .hh-self-print-about-contact span { overflow-wrap: anywhere; }
  body.hh-page-self-help .hh-self-print-footer { break-inside: avoid; margin-top: 9px; border-top: 4px solid #9d73b7; font-size: 8.2pt; }
  body.hh-page-self-help .hh-self-print-footer p { margin: 0 0 4px; }
}


/* v6: final polish for sheet action menu and print branding. */
.hh-self-action-menu-wrap { max-width: 460px; }
.hh-self-action-menu summary {
  min-height: 46px;
  padding: 9px 14px;
  background: linear-gradient(135deg, #f2e9fb, #e7f6fd);
  color: var(--hh-ink);
  border-color: rgba(170,143,190,.45);
  box-shadow: var(--hh-shadow-xs);
}
.hh-self-action-menu summary small { color: var(--hh-ink-soft); opacity: 1; font-size: .74rem; }
.hh-self-action-menu summary::after { background: rgba(255,255,255,.88); color: #5f3a83; border: 1px solid rgba(149,106,177,.24); width: 28px; height: 28px; }
.hh-self-action-panel { padding: 9px; gap: 8px; border-radius: 18px; }
.hh-self-action-panel section { padding: 9px; gap: 7px; border-radius: 14px; }
.hh-self-action-panel h4 { font-size: .76rem; letter-spacing: .045em; }
.hh-self-action-panel button, .hh-self-action-panel a {
  min-height: 38px;
  padding: 7px 10px;
  border-radius: 14px;
  font-size: .9rem;
  line-height: 1.15;
  box-shadow: none;
}
.hh-self-action-panel [data-self-action="save-progress"],
.hh-self-action-panel [data-self-action="save-plan"],
.hh-self-action-panel [data-self-plan-follow] {
  color: #4b2d63;
  background: linear-gradient(135deg, #eadcf7, #dff2fd);
  border-color: rgba(149,106,177,.22);
}
.hh-self-bottom-actions .hh-self-action-menu-wrap { max-width: 560px; }
@media (min-width: 940px) {
  .hh-self-action-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .hh-self-action-menu summary { border-radius: 18px; }
  .hh-self-action-panel { grid-template-columns: 1fr; }
  .hh-self-action-panel button, .hh-self-action-panel a { min-height: 44px; font-size: .96rem; }
}
@media print {
  body.hh-page-self-help .hh-self-print-about { grid-template-columns: 42mm minmax(0,1fr) minmax(50mm,.65fr); }
  body.hh-page-self-help .hh-self-print-about-brand { display: flex; align-items: center; gap: 4px; min-width: 0; }
  body.hh-page-self-help .hh-self-print-about-brand img:first-child { width: 33mm; max-width: 100%; }
  body.hh-page-self-help .hh-self-print-about-brand img:last-child { width: 8mm; height: 8mm; flex: 0 0 auto; }
  body.hh-page-self-help .hh-self-print-note-lines span { height: 8mm; }
}
