/* Family Hub administration, scoped to its module and native dialogs. */
.fha{--fha-border:#d5e3e8;--fha-soft:#f3f8f8;--fha-error:#8d2c31;max-width:1160px;margin-inline:auto;color:var(--ink,#14334b)}
.fha-heading,.fha-section-heading,.fha-editor-top,.fha-actions,.fha-source-footer,.fha-save,.fha-meta{display:flex;align-items:center;gap:14px}
.fha-heading,.fha-section-heading{justify-content:space-between;margin-bottom:22px}
.fha-heading h2{font-size:clamp(1.4rem,2vw,1.8rem);margin:0 0 8px}
.fha-heading p,.fha-section-heading p{margin-bottom:0;color:var(--muted,#546c7e);max-width:65ch}
.fha-eyebrow{font-weight:700;font-size:.76rem!important;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px!important;color:var(--deep,#075d63)!important}
.fha-nav{display:flex;flex-wrap:wrap;gap:6px;padding:6px;background:#e8f1f3;border-radius:13px;margin-bottom:12px}
.fha-nav button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 16px;border-radius:9px;font-weight:600;font-size:.88rem;flex:1}
.fha-nav button[aria-pressed=true]{background:white;box-shadow:0 2px 5px #14334b0b;color:var(--deep,#075d63)}
.fha-nav button:hover{background:#ffffffbf}
.fha-status{font-size:.88rem;min-height:1.4em;margin:0 0 18px;line-height:1.6}
.fha-status:empty{min-height:0;margin-bottom:22px}
.fha-error{color:var(--fha-error);font-weight:600}
.fha-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px;background:white;border:1px solid var(--fha-border);border-radius:14px}
.fha-filters label{font-size:.82rem;min-width:0}
.fha-filters label:first-child{grid-column:1/-1}
.fha-filters :is(input,select){width:100%;min-width:0;margin-top:7px}
.fha-filters select:disabled{color:#607785;background-color:#f1f5f6;opacity:1}
.fha-results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fha-results-bar>.btn{flex:none;font-size:.8rem}
.fha-result-count{font-size:.8rem;color:var(--muted,#546c7e);margin:16px 0}
.fha-review-dates{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:9px;font-size:.75rem;line-height:1.6;color:var(--muted,#546c7e)}
.fha-review-dates .fha-due{color:#8a4612;font-weight:650}
.fha-export-status{font-size:.82rem!important;color:#146252;overflow-wrap:anywhere}
.fha-export-status:empty{margin:0}
.fha-records{display:grid;gap:12px}
.fha-record{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 22px;border:1px solid var(--fha-border);border-radius:14px;background:white}
.fha-record>div{min-width:0}
.fha-record h4{font-size:1.05rem;line-height:1.4;margin:10px 0 8px;overflow-wrap:anywhere}
.fha-record p{font-size:.88rem;max-width:75ch;margin-bottom:8px;overflow-wrap:anywhere}
.fha-record small,.fha-meta{font-size:.76rem;color:var(--muted,#546c7e)}
.fha-record>.btn{flex:none}
.fha-meta{gap:9px;flex-wrap:wrap}
.fha-badge{display:inline-flex;align-items:center;border-radius:5px;background:#fff1d9;color:#795100;padding:3px 8px;font-size:.72rem;font-weight:600;line-height:1.5}
.fha-badge.fha-published{color:#146252;background:#e1f2e9}
.fha-badge.fha-neutral{color:#526578;background:#edf2f5}
.fha-section-heading h3{font-size:1.23rem;margin-bottom:8px}
.fha-editor-top{flex-wrap:wrap;margin-bottom:18px}
.fha-editor-top small{color:var(--muted,#546c7e)}
.fha-section{padding:24px;border:1px solid var(--fha-border);border-radius:15px;background:white;margin:24px 0}
.fha-section>legend{font-family:var(--heading,'Segoe UI',sans-serif);font-size:1.06rem;font-weight:600;padding:0 10px;display:flex;align-items:center;gap:9px}
.fha-section h4{font-size:1.05rem;margin-bottom:12px}
.fha-field{display:block;min-width:0;margin-bottom:18px;font-size:.86rem}
.fha-field:last-child{margin-bottom:0}
.fha-field>span{display:block}
.fha-field input,.fha-field select,.fha-field textarea{margin-top:7px;width:100%;font-weight:400}
.fha-field textarea{min-height:98px}
.fha-required{color:#a63c3c}
.fha-help{display:block;font-weight:400;color:var(--muted,#546c7e);font-size:.8rem;line-height:1.6}
.fha-field .fha-help{margin-top:7px}
.fha-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:22px;align-items:start}
.fha-grid .fha-field:last-child{margin-bottom:18px}
.fha-source{padding:20px;border:1px solid var(--fha-border);border-radius:12px;background:var(--fha-soft);margin-bottom:22px}
.fha-source legend{padding:0 8px;font-size:.9rem;font-weight:700}
.fha-source-footer{justify-content:space-between;align-items:flex-start}
.fha-source-footer .btn{flex:none}
.fha-technical{border-top:1px solid var(--fha-border);padding:16px 0;color:var(--muted,#546c7e);font-size:.8rem}
.fha-technical summary{cursor:pointer;font-weight:600;padding:10px 0}
.fha-technical p{margin-top:12px;margin-bottom:0}
.fha-technical code{overflow-wrap:anywhere}
.fha-save{justify-content:space-between;align-items:center;padding:20px 22px;border:1px solid #b9d7d5;border-radius:14px;background:#ebf5f2;margin:20px 0 12px}
.fha-save p{font-size:.86rem;font-weight:600;margin:0 0 5px}
.fha-save small{font-size:.76rem;color:var(--muted,#546c7e);line-height:1.5}
.fha-actions{flex-wrap:wrap;gap:10px}
.fha-actions .btn{white-space:normal;min-height:46px}
.fha-save .fha-actions{flex:none}
.fha-import-steps{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}
.fha-import-steps span{padding:8px 13px;background:#edf4f6;border-radius:6px;font-size:.78rem;font-weight:600}
.fha-import-review{padding:24px;border:1px solid #b9d7d5;border-radius:15px;background:#f5faf8;margin:24px 0}
.fha-import-review>h4{font-size:1.1rem}
.fha-table-wrap{overflow:auto;margin:20px 0;border:1px solid var(--fha-border);border-radius:10px;background:white}
.fha-table-wrap table{border-collapse:collapse;width:100%;text-align:left;font-size:.83rem;min-width:480px}
.fha-table-wrap th,.fha-table-wrap td{padding:13px 16px;vertical-align:top;border-bottom:1px solid var(--fha-border)}
.fha-table-wrap th{background:#eef5f5;color:var(--deep,#075d63);font-size:.78rem}
.fha-table-wrap tr:last-child td{border-bottom:0}
.fha-table-wrap small{display:block;color:var(--muted,#546c7e);overflow-wrap:anywhere;margin-top:5px}
.fha-check{display:flex;align-items:flex-start;gap:12px;font-size:.85rem;font-weight:400;line-height:1.65;margin:20px 0}
.fha-check input{flex:none;width:20px;min-height:20px;margin-top:3px}
.fha-error-box{background:#fff3f2;border:1px solid #e9c1c1;color:#852c31;border-radius:10px;padding:16px;margin:16px 0}
.fha-error-box p{margin-bottom:8px}
.fha-error-box ul{margin-bottom:0;font-size:.85rem}
.fha-notice{display:flex;align-items:flex-start;gap:14px;padding:20px;border:1px solid #c7dce1;background:#edf6f7;border-radius:14px;margin:22px 0}
.fha-notice>.icon{margin-top:3px;flex:none}
.fha-notice p{margin:6px 0 0;font-size:.86rem}
.fha-review-note{padding-top:12px;border-top:1px solid var(--fha-border);margin-top:14px}
.fha-empty{text-align:center;padding:42px 24px;border:1px dashed #bdcfd7;border-radius:15px;background:#ffffffb3}
.fha-empty>.icon{width:30px;height:30px;color:var(--teal,#087f83);margin-bottom:12px}
.fha-empty h3,.fha-empty h4{margin:8px 0;font-size:1.1rem}
.fha-empty p{color:var(--muted,#546c7e);font-size:.88rem}
.fha-more{text-align:center;margin:22px 0}
.fha-dialog{width:min(670px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #c7d9e1;border-radius:18px;background:white;color:var(--ink,#14334b);box-shadow:0 24px 90px #102e4a44;overflow:hidden}
.fha-dialog::backdrop{background:#102e4a80}
.fha-dialog-form{display:flex;flex-direction:column;max-height:calc(100dvh - 34px);margin:0}
.fha-dialog header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;padding:24px;border-bottom:1px solid #d5e3e8;flex:none}
.fha-dialog header h3{display:flex;align-items:center;gap:12px;font-size:1.15rem;margin:5px 0 0;line-height:1.4}
.fha-dialog header h3 .icon{flex:none;color:var(--teal,#087f83)}
.fha-close{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;flex:none;background:#eff5f6}
.fha-dialog-body{overflow:auto;padding:24px;overscroll-behavior:contain}
.fha-dialog-body p{font-size:.9rem;line-height:1.65}
.fha-dialog-body h4{font-size:1.05rem;line-height:1.4}
.fha-dialog footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:18px 24px;border-top:1px solid #d5e3e8;background:#f7fafb;flex:none}
.fha-dialog footer .btn{min-height:46px}
.fha-dialog-error{color:#8d2c31;font-weight:600}
.fha-dialog-error:empty{margin:0}
.fha-review-facts{display:grid;gap:12px;margin:20px 0}
.fha-review-facts div{display:grid;grid-template-columns:135px minmax(0,1fr);gap:12px}
.fha-review-facts dt{font-size:.83rem;color:var(--muted,#546c7e)}
.fha-review-facts dd{margin:0;font-size:.86rem}
.fha-source-review{padding-left:20px;line-height:1.6}
.fha-source-review li{font-size:.86rem;margin:12px 0}
.fha-source-review small{display:block;font-size:.76rem;color:var(--muted,#546c7e)}
.fha :is(a,button,input,select,textarea,summary):focus-visible,.fha-dialog :is(a,button,input,select,textarea):focus-visible{outline:3px solid #c28b16;outline-offset:3px}
.fha [tabindex="-1"]:focus,.fha-dialog [tabindex="-1"]:focus{outline:0}
@media(max-width:900px){.fha-filters{grid-template-columns:1fr 1fr}.fha-filters label:first-child{grid-column:1/-1}.fha-save{align-items:flex-start;flex-direction:column}.fha-save .fha-actions{width:100%}.fha-save .fha-actions .btn{flex:1}}
@media(max-width:580px){.fha-heading,.fha-section-heading{align-items:flex-start;flex-direction:column;gap:15px}.fha-heading>.btn{align-self:flex-end}.fha-nav{gap:4px;padding:4px}.fha-nav button{font-size:.72rem;padding:10px 5px;gap:6px;flex-direction:column}.fha-nav .icon{width:19px;height:19px}.fha-filters{padding:14px;gap:12px}.fha-filters label{font-size:.76rem}.fha-filters select{padding-inline:8px}.fha-record{padding:18px;align-items:flex-start;flex-direction:column;gap:14px}.fha-record>.btn{align-self:flex-end}.fha-grid{grid-template-columns:1fr;gap:0}.fha-section{padding:18px 14px;margin:22px 0}.fha-source{padding:16px 12px}.fha-source-footer{flex-direction:column}.fha-source-footer .btn{align-self:flex-end}.fha-save{padding:18px 14px}.fha-save .fha-actions{flex-direction:column;align-items:stretch}.fha-dialog header{padding:18px}.fha-dialog-body{padding:20px 18px}.fha-dialog footer{padding:14px 18px}.fha-review-facts div{grid-template-columns:1fr;gap:3px}.fha-import-review{padding:18px 14px}.fha-notice{padding:18px 14px}.fha-import-steps{gap:6px}.fha-import-steps span{font-size:.72rem;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.fha *,.fha-dialog *{scroll-behavior:auto!important}}

