/* Isolated source-library styles. Original source artwork and existing portal screens are untouched. */
.source-form-library { color:#242724; font:inherit; font-size:16px; line-height:1.55; --sfl-soft:#ee8a50; --sfl-line:#c9ced3; --sfl-peach:#ffeee0; }
.source-form-library * { box-sizing:border-box; }
.source-form-library h1,.source-form-library h2,.source-form-library h3,.source-form-library p { overflow-wrap:anywhere; }
.source-form-library h1 { font-size:clamp(1.7rem,4vw,2.5rem); line-height:1.15; margin:.35rem 0 1rem; }
.source-form-library h2 { font-size:1.25rem; line-height:1.35; }
.source-form-library h3 { font-size:1rem; }
.source-form-library .bilingual { display:grid; gap:.15rem; }
.source-form-library .bilingual>[lang]:not([lang=en]) { font-size:.95em; font-weight:400; }
.source-form-library .sfl-literal { display:inline-grid; white-space:pre-wrap; overflow-wrap:anywhere; }
.source-form-library .sfl-header { display:flex; gap:1.5rem; justify-content:space-between; align-items:start; margin-bottom:1.25rem; }
.source-form-library .sfl-tag { font-size:14px; font-weight:700; letter-spacing:.04em; }
.source-form-library label { display:grid; gap:.5rem; font-weight:650; }
.source-form-library input:not([type=checkbox]),.source-form-library select,.source-form-library textarea { width:100%; min-width:0; padding:.8rem 1rem; min-height:48px; border:1px solid #7a827c; border-radius:12px; background:#fff; color:#242724; font:inherit; font-size:16px; }
.source-form-library textarea { resize:vertical; white-space:pre-wrap; }
.source-form-library input[type=checkbox] { width:24px; height:24px; flex-shrink:0; accent-color:#b4480c; }
.source-form-library :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #b4480c; outline-offset:3px; }
.source-form-library :is(.sfl-primary,.sfl-secondary,.sfl-selected) { display:inline-flex; justify-content:center; align-items:center; gap:.5rem; min-height:48px; max-width:100%; padding:.7rem 1rem; border:1px solid #7a827c; border-radius:999px; color:#242724; background:#fff; font:inherit; font-size:15px; font-weight:700; line-height:1.35; text-decoration:none; text-align:center; cursor:pointer; }
.source-form-library .sfl-primary,.source-form-library .sfl-selected { background:var(--sfl-soft); border-color:#c46a2e; }
.source-form-library .sfl-selected { cursor:default; }
.source-form-library button:disabled { opacity:.6; cursor:not-allowed; }
.source-form-library .sfl-context { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:1rem 1.25rem; border:1px solid var(--sfl-line); background:#fff; border-radius:16px; }
.source-form-library dl { margin:1rem 0; }
.source-form-library dt { font-size:14px; font-weight:700; }
.source-form-library dd { margin:0; overflow-wrap:anywhere; }
.source-form-library .sfl-notice { padding:1rem 1.25rem; background:#fff5ec; border-left:3px solid #c46a2e; border-radius:8px; margin:1rem 0 1.5rem; }
.source-form-library .sfl-notice p { margin:.25rem 0; font-size:14px; }
.source-form-library .sfl-search { margin:1.5rem 0; }
.source-form-library .sfl-catalog { list-style:none; padding:0; margin:0; display:grid; gap:1rem; }
.source-form-library .sfl-catalog>li { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.4rem; border:1px solid var(--sfl-line); background:#fff; border-radius:18px; }
.source-form-library .sfl-catalog h2 { margin:.25rem 0; }
.source-form-library .sfl-catalog p { margin:.3rem 0; }
.source-form-library .sfl-catalog button { flex-shrink:0; }
.source-form-library small { display:block; font-size:13px; font-weight:400; line-height:1.5; }
.source-form-library .sfl-modes,.source-form-library .sfl-actions { display:flex; flex-wrap:wrap; gap:.75rem; align-items:center; margin:1.25rem 0; }
.source-form-library .sfl-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.source-form-library .sfl-section,.source-form-library .sfl-field { min-width:0; }
.source-form-library .sfl-section { padding:1.5rem; border:1px solid var(--sfl-line); border-radius:18px; margin:1.5rem 0; background:#fff; }
.source-form-library .sfl-section>legend { padding:0 .5rem; font-size:1.15rem; font-weight:750; }
.source-form-library .sfl-field { padding:0; border:0; margin:0; }
.source-form-library .sfl-full { grid-column:1/-1; }
.source-form-library .sfl-locator { color:#555d57; font-size:13px; }
.source-form-library .sfl-editor-lock { border:0; padding:0; margin:0; min-width:0; }
.source-form-library .sfl-provenance { margin:1.2rem 0; padding:1rem 1.25rem; border:1px solid var(--sfl-line); border-radius:16px; background:#fff; }
.source-form-library summary { cursor:pointer; font-weight:700; min-height:32px; }
.source-form-library .sfl-hash { font-family:ui-monospace,SFMono-Regular,monospace; font-size:13px; overflow-wrap:anywhere; }
.source-form-library .sfl-check-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(8rem,.5fr) minmax(0,1fr); gap:1rem; padding:1rem 0; border-bottom:1px solid var(--sfl-line); }
.source-form-library .sfl-table-row { border:1px solid var(--sfl-line); border-radius:12px; padding:1rem; margin:1rem 0; }
.source-form-library .sfl-table-row>.sfl-secondary { margin-top:.75rem; }
.source-form-library .sfl-review { display:flex; align-items:start; gap:.8rem; padding:1.2rem; margin:1rem 0; border:1px solid #c46a2e; border-radius:12px; background:#fff5ec; }
.source-form-library .sfl-error { border-left:3px solid #b4480c; padding:1rem 1.5rem; background:#fff5ec; border-radius:8px; }
.source-form-library .sfl-message:empty { display:none; }
.source-form-library .sfl-message { font-weight:650; }
.source-form-library .sfl-voice { border:1px solid var(--sfl-line); padding:1.2rem; border-radius:16px; background:#fff; }
.source-form-library .voice-panel { display:grid; gap:1rem; border:0; margin:0; padding:1rem 0 0; background:#fff; color:#242724; }
.source-form-library .sfl-history { margin-top:2rem; }
.source-form-library .sfl-history article { display:flex; gap:1rem; justify-content:space-between; align-items:center; border-top:1px solid var(--sfl-line); padding:1.2rem 0; }
.source-form-library .sfl-report-section { margin:1.5rem 0; padding:1.2rem; border:1px solid var(--sfl-line); border-radius:12px; }
.source-form-library .sfl-report-value { border-bottom:1px solid #e3e5e3; padding:.5rem 0; }
.source-form-library .sfl-report-value p { white-space:pre-wrap; }
.source-form-library .sfl-reference-text,.source-form-library .sfl-source-note { white-space:pre-wrap; overflow-wrap:anywhere; }
.source-form-library table { width:100%; table-layout:fixed; border-collapse:collapse; }
.source-form-library th,.source-form-library td { padding:.6rem; border:1px solid var(--sfl-line); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.source-form-library.sfl-print-dialog { width:min(960px,96vw); max-height:94vh; padding:1.5rem; border:1px solid #7a827c; border-radius:16px; background:#fff; }
.source-form-library.sfl-print-dialog::backdrop { background:#24272499; }
.source-form-library .sfl-print-tools { display:flex; justify-content:space-between; gap:1rem; margin-bottom:1.5rem; }
.source-form-library.sfl-print-dialog footer { margin-top:2rem; border-top:2px solid #c46a2e; padding-top:1rem; }
@media(max-width:700px) {
 .source-form-library .sfl-header,.source-form-library .sfl-catalog>li,.source-form-library .sfl-history article { display:flex; flex-direction:column; align-items:stretch; }
 .source-form-library .sfl-grid,.source-form-library .sfl-context,.source-form-library .sfl-check-row { grid-template-columns:minmax(0,1fr); }
 .source-form-library :is(.sfl-primary,.sfl-secondary,.sfl-selected,input:not([type=checkbox]),select,summary) { min-height:56px; font-size:16px; }
 .source-form-library .sfl-actions>* { flex:1 1 14rem; }
 .source-form-library .sfl-section { padding:1rem; }
 .source-form-library .sfl-tag { font-size:14px; }
 .source-form-library :is(small,dt,.sfl-locator,.sfl-notice p) { font-size:16px; line-height:1.5; }
 .source-form-library { padding-bottom:calc(150px + env(safe-area-inset-bottom,0px)); }
}
@media print {
 body.sfl-print-active>*:not(#sfl-print-dialog) { display:none!important; }
 body.sfl-print-active #sfl-print-dialog { display:block!important; position:static; width:100%; height:auto; max-height:none; overflow:visible; border:0; border-radius:0; padding:0; color:#000; background:#fff; font-size:11pt; }
 body.sfl-print-active #sfl-print-dialog::backdrop { display:none; }
 body.sfl-print-active #sfl-print-dialog .sfl-print-tools { display:none; }
 body.sfl-print-active #sfl-print-dialog .sfl-report-section { border-radius:0; break-inside:auto; padding:.7rem; }
 body.sfl-print-active #sfl-print-dialog :is(h1,h2,h3,h4,dt) { break-after:avoid; }
 body.sfl-print-active #sfl-print-dialog th,body.sfl-print-active #sfl-print-dialog td { font-size:10pt; }
 body.sfl-print-active #sfl-print-dialog .sfl-context { grid-template-columns:repeat(3,minmax(0,1fr)); }
 @page { size:auto; margin:15mm; }
}
