/* finesse · component refinement · monochrome guide navigation and printable checklist */
.triage-quick-nav { margin: 0 0 30px; padding: 0 0 20px; border-bottom: 1px solid var(--line); }
.triage-quick-nav h2 { margin: 0 0 8px; font-family: var(--sans); font-size: 18px; line-height: 1.5; font-weight: 500; }
.triage-quick-nav > p { margin: 0 0 10px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.triage-quick-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 24px; margin: 0; padding: 0; list-style: none; }
.triage-quick-list li { min-width: 0; border-top: 1px solid var(--line); }
.triage-quick-list button { display: flex; align-items: center; justify-content: space-between; gap: 14px; width: 100%; min-height: 44px; padding: 10px 0; border: 0; background: transparent; color: var(--ink); text-align: left; font-family: var(--sans); font-size: 14px; line-height: 1.7; cursor: pointer; }
.triage-quick-list button::after { content: '↓'; flex-shrink: 0; color: var(--muted); }
.triage-quick-list button:hover { text-decoration: underline; text-underline-offset: 4px; }
.triage-quick-list button:focus-visible, .checklist-tool-buttons button:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
.urgent-note[id^="urgent-"] { scroll-margin-top: 32px; }
.urgent-note[id^="urgent-"]:focus { outline: 1px solid var(--ink); outline-offset: 8px; }
#urgent-items .urgent-note { padding: 0; }
#urgent-items .urgent-note > h2, #urgent-items .urgent-note > h3 { margin: 0; }
.triage-toggle { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; min-height:56px; margin:0; padding:14px 0; border:0; border-radius:0; background:transparent; color:var(--ink); text-align:left; font-family:var(--sans); font-size:18px; line-height:1.6; font-weight:400; cursor:pointer; }
.triage-toggle::after { content:'＋'; flex-shrink:0; font-size:18px; color:var(--muted); }
.triage-toggle[aria-expanded="true"]::after { content:'－'; }
.triage-toggle:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.triage-panel[hidden] { display:none; }
.triage-panel { padding:0 0 18px; }
.triage-panel > p { margin-top:0; }
.triage-panel > .triage-body { color:#222; font-size:16px; line-height:1.9; }
.triage-immediate-action { display:block; margin:0 0 8px; color:#222; font-size:16px; font-weight:700; line-height:1.7; }
.emergency-contact { margin:0 0 34px; padding:0 0 20px; border-bottom:1px solid var(--line); }
.emergency-contact-saved { display:flex; flex-wrap:wrap; align-items:center; gap:8px 18px; margin:0 0 8px; }
.emergency-contact-saved[hidden] { display:none; }
.emergency-contact-hospital { flex:1 1 180px; color:#222; font-size:15px; font-weight:600; overflow-wrap:anywhere; }
.emergency-contact-call { display:inline-flex; align-items:center; min-height:44px; color:#222; font-size:16px; text-decoration:underline; text-underline-offset:4px; overflow-wrap:anywhere; }
.emergency-contact-editor > summary { width:fit-content; min-height:44px; padding:10px 0; color:#333; font-size:14px; line-height:1.7; cursor:pointer; }
.emergency-contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; max-width:680px; padding:10px 0; }
.emergency-contact-form label { display:flex; flex-direction:column; gap:7px; min-width:0; color:#333; font-size:13px; line-height:1.6; }
.emergency-contact-form input { box-sizing:border-box; width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:0; background:transparent; color:#222; font-family:var(--sans); font-size:16px; }
.emergency-contact-form input[aria-invalid="true"] { border-color:#222; box-shadow:inset 0 0 0 1px #222; }
.emergency-contact-hint { grid-column:1 / -1; margin:0; color:#555; font-size:12px; line-height:1.8; }
.emergency-contact button { min-height:44px; width:fit-content; padding:9px 14px; border:1px solid var(--line); border-radius:0; background:transparent; color:#222; font-family:var(--sans); font-size:14px; line-height:1.6; cursor:pointer; }
.emergency-contact .emergency-contact-clear { padding:9px 4px; border-color:transparent; color:#555; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.emergency-contact .emergency-contact-save { background:#222; color:#fff; border-color:#222; }
.emergency-contact-privacy, .emergency-contact-status { margin:6px 0 0; color:#666; font-size:12px; line-height:1.8; }
.emergency-contact-status { color:#333; }
.emergency-contact-status:empty { display:none; }
.emergency-contact :is(input,button,a,summary):focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
.guide-page-footer { justify-content:space-between; margin-top:34px; padding:22px 0; border-top:1px solid var(--line); }
.guide-page-footer a { color:#333; font-size:14px; line-height:1.7; }
.triage-quick-list button[aria-expanded="true"] { text-decoration:underline; text-underline-offset:4px; }
@media(hover:hover) { .triage-toggle:hover { color:var(--muted); } }
.checklist-tools { margin: 18px 0 0; }
.checklist-tool-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.checklist-tool-buttons button { min-height: 44px; padding: 10px 16px; border: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); font-family: var(--sans); font-size: 14px; line-height: 1.5; white-space: nowrap; cursor: pointer; }
.checklist-tool-buttons button:hover { border-color: var(--ink); background: var(--hover-surface); }
.checklist-tools > p { margin: 8px 0 0; }
#checklist-export-status:empty { display: none; }
.checklist-print-sheet { display: none; }
@media(max-width:880px) { .urgent-note[id^="urgent-"] { scroll-margin-top: 170px; } }
@media(max-width:600px) { .triage-quick-list, .emergency-contact-form { grid-template-columns:minmax(0,1fr); } .emergency-contact-hospital { flex-basis:100%; } }
@media(max-width:760px) { .triage-toggle { font-size:16px; gap:12px; } }
@media print {
 @page { size: A4; margin: 14mm; }
 body.checklist-printing { display: block !important; margin: 0 !important; padding: 0 !important; background: #fff !important; color: #111 !important; }
 body.checklist-printing > :not(#checklist-print-sheet) { display: none !important; }
 body.checklist-printing #checklist-print-sheet { display: block !important; margin: 0; padding: 0; font-family: "Microsoft YaHei", "PingFang SC", sans-serif; font-size: 10pt; line-height: 1.65; }
 .checklist-print-heading { margin: 0 0 6mm; padding: 0 0 4mm; border-bottom: 1px solid #333; }
 .checklist-print-heading h1 { font-family: inherit; font-size: 22pt; line-height: 1.3; font-weight: 500; margin: 2mm 0; }
 .checklist-print-heading p { margin: 0; font-size: 10pt; }
 .checklist-print-brand { color: #555; }
 .checklist-print-list { columns: 2; column-gap: 9mm; }
 .checklist-print-item { break-inside: avoid; padding: 0 0 5mm; }
 .checklist-print-item h2 { display: flex; gap: 2.5mm; align-items: flex-start; font-size: 11pt; line-height: 1.5; font-weight: 600; margin: 0 0 1.5mm; }
 .checklist-print-item p { margin: 0; font-size: 10pt; line-height: 1.65; }
 .checklist-print-box { display: inline-flex; align-items: center; justify-content: center; width: 4mm; height: 4mm; flex-shrink: 0; margin-top: .8mm; border: 1px solid #333; font-size: 11pt; line-height: 1; }
 .checklist-print-footnote { margin: 5mm 0 0; padding-top: 4mm; border-top: 1px solid #aaa; font-size: 9pt; line-height: 1.7; color: #444; }
}
