:root {
    --care-ink:#213b38;
    --care-muted:#687c77;
    --care-line:#dce6e0;
    --care-soft:#f2f6f2;
    --care-paper:#fff;
    --care-green:#146b5a;
    --care-amber:#936215}
.fi-body {
    background:#f7f8f3}
.care-intro {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1.5rem;
    padding:1.6rem 1.8rem;
    border-radius:1rem;
    background:#e9f1ea;
    color:var(--care-ink)}
.care-eyebrow {
    font-size:.73rem;
    letter-spacing:.09em;
    font-weight:700;
    color:var(--care-green)}
.care-intro h2 {
    font-size:1.65rem;
    font-weight:750;
    margin:.55rem 0;
    line-height:1.7}
.care-intro p,.care-section-heading p {
    font-size:.9rem;
    color:var(--care-muted);
    line-height:1.9}
.care-pill,.care-badge {
    display:inline-flex;
    align-items:center;
    flex-shrink:0;
    border-radius:999px;
    background:var(--care-soft);
    color:var(--care-muted);
    padding:.28rem .65rem;
    font-size:.74rem;
    line-height:1.8}
.care-pill {
    background:var(--care-paper);
    padding:.5rem 1rem}
.care-stats {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    border:1px solid var(--care-line);
    background:var(--care-paper);
    border-radius:.9rem}
.care-stats>div {
    padding:1.2rem 1.5rem;
    display:flex;
    gap:1rem;
    align-items:center}
.care-stats>div+div {
    border-inline-start:1px solid var(--care-line)}
.care-stats strong {
    font-size:1.9rem;
    color:var(--care-ink);
    font-weight:700}
.care-stats span {
    color:var(--care-muted);
    font-size:.85rem}
.care-toolbar {
    display:flex;
    gap:1rem;
    align-items:end;
    flex-wrap:wrap}
.care-toolbar label {
    display:flex;
    flex-direction:column;
    gap:.5rem;
    font-size:.78rem;
    color:var(--care-muted);
    font-weight:600;
    min-width:160px}
.care-toolbar .care-search {
    flex:1;
    min-width:240px}
.care-toolbar input:not([type=checkbox]),.care-toolbar select {
    border:1px solid var(--care-line);
    border-radius:.6rem;
    padding:.75rem 1rem;
    background:var(--care-paper);
    color:var(--care-ink);
    font:inherit;
    min-height:46px}
.care-toolbar .care-checkbox {
    flex-direction:row;
    align-items:center;
    padding-bottom:.9rem}
.care-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:1.1rem}
.care-house-card {
    display:flex;
    flex-direction:column;
    border:1px solid var(--care-line);
    border-radius:.9rem;
    padding:1.2rem;
    background:var(--care-paper);
    transition:box-shadow .15s,border-color .15s;
    min-width:0}
.care-house-card:hover {
    border-color:#92b1a4;
    box-shadow:0 5px 20px #214d3010}
.care-card-top {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:1rem}
.care-house-icon {
    width:40px;
    height:40px;
    background:#eaf3ec;
    color:var(--care-green);
    display:grid;
    place-items:center;
    border-radius:.7rem}
.care-house-icon svg {
    width:23px;
    height:23px}
.care-house-card h3,.care-person h3,.care-section h3 {
    font-size:1.05rem;
    font-weight:700;
    color:var(--care-ink);
    line-height:1.8}
.care-address {
    color:var(--care-muted);
    font-size:.83rem;
    line-height:1.9;
    min-height:3.2rem;
    margin:.4rem 0 1rem}
.care-card-facts {
    display:flex;
    gap:1rem;
    font-size:.78rem;
    margin-top:auto}
.care-card-footer {
    display:flex;
    justify-content:space-between;
    border-top:1px solid var(--care-line);
    padding-top:.85rem;
    margin-top:1rem;
    color:var(--care-muted);
    font-size:.74rem}
.care-attention {
    color:var(--care-amber)}
.care-success {
    color:#216d46;
    background:#e7f3e9}
.care-muted {
    color:var(--care-muted);
    font-size:.85rem;
    line-height:1.9}
.care-empty {
    padding:3rem 1.5rem;
    border:1px dashed var(--care-line);
    border-radius:1rem;
    grid-column:1/-1;
    text-align:center;
    color:var(--care-muted)}
.care-empty h3 {
    font-size:1.2rem;
    margin-bottom:.6rem}
.care-loading {
    opacity:.65}
.care-house-hero {
    display:flex;
    gap:1rem;
    justify-content:space-between;
    background:#e9f1ea;
    border-inline-start:4px solid #4c8a67;
    border-radius:.7rem;
    padding:1.5rem}
.care-house-hero p {
    font-size:1.05rem;
    margin:.6rem 0;
    color:var(--care-ink)}
.care-house-hero span {
    font-size:.83rem;
    color:var(--care-muted)}
.care-hero-meta {
    display:flex;
    flex-direction:column;
    align-items:end;
    justify-content:center;
    gap:.75rem}
.care-jump {
    display:flex;
    gap:.7rem;
    flex-wrap:wrap}
.care-jump a {
    border:1px solid var(--care-line);
    background:var(--care-paper);
    border-radius:999px;
    padding:.55rem 1rem;
    font-size:.84rem;
    color:var(--care-green)}
.care-detail-grid {
    display:grid;
    grid-template-columns:minmax(0,1.85fr) minmax(270px,1fr);
    gap:1.4rem;
    align-items:start}
.care-main,.care-aside {
    display:grid;
    gap:1.4rem;
    min-width:0}
.care-section {
    border:1px solid var(--care-line);
    border-radius:.9rem;
    background:var(--care-paper);
    padding:1.4rem;
    min-width:0;
    scroll-margin-top:5rem}
.care-section h2 {
    font-weight:700;
    font-size:1.05rem;
    line-height:1.9;
    color:var(--care-ink)}
.care-section-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    margin-bottom:1.2rem;
    flex-wrap:wrap}
.care-person {
    padding:1.1rem 0;
    border-top:1px solid var(--care-line)}
.care-person-heading {
    display:flex;
    align-items:center;
    gap:.8rem}
.care-person-heading>div {
    flex:1;
    min-width:0}
.care-person-heading p {
    font-size:.78rem;
    color:var(--care-muted)}
.care-avatar {
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
    background:#ecf1e8;
    color:#647952;
    border-radius:50%;
    flex-shrink:0}
.care-person-details {
    display:flex;
    flex-wrap:wrap;
    gap:.6rem;
    font-size:.8rem;
    align-items:center;
    margin:.8rem 0}
.care-phone {
    background:var(--care-soft);
    border-radius:.4rem;
    padding:.3rem .6rem;
    color:var(--care-green)}
.care-missing {
    font-size:.77rem;
    color:var(--care-amber)}
.care-text-button,.care-inline-actions button {
    font-size:.8rem;
    color:var(--care-green);
    font-weight:650;
    cursor:pointer;
    min-height:36px}
.care-text-button:hover,.care-inline-actions button:hover {
    text-decoration:underline}
.care-details {
    font-size:.8rem;
    margin-top:.65rem;
    color:var(--care-muted)}
.care-details summary {
    cursor:pointer;
    padding:.5rem 0}
.care-details p {
    margin:.5rem 0;
    line-height:1.9}
.care-inline-actions {
    display:flex;
    gap:1.1rem;
    flex-wrap:wrap;
    margin-top:.65rem}
.care-section-footer {
    display:flex;
    gap:.8rem;
    flex-wrap:wrap;
    border-top:1px solid var(--care-line);
    padding-top:1rem}
.care-check-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.5rem;
    border-bottom:1px solid var(--care-line);
    padding:.9rem 0;
    font-size:.83rem}
.care-check-row small {
    display:block;
    color:var(--care-muted);
    font-size:.72rem;
    margin-top:.3rem}
.care-note {
    white-space:pre-line;
    overflow-wrap:anywhere;
    font-size:.83rem;
    line-height:1.95;
    margin:.65rem 0;
    color:var(--care-muted)}
.care-facts {
    font-size:.85rem;
    line-height:1.9;
    margin:1rem 0}
.care-facts dt {
    color:var(--care-muted);
    font-size:.73rem;
    margin-top:.7rem}
.care-facts dd {
    color:var(--care-ink)}
.care-issue,.care-connection {
    border-top:1px solid var(--care-line);
    padding:1rem 0;
    font-size:.84rem}
.care-issue strong {
    color:var(--care-amber)}
.care-visit {
    display:grid;
    grid-template-columns:100px minmax(0,1fr);
    gap:1rem;
    border-top:1px solid var(--care-line);
    padding:1rem 0;
    font-size:.85rem}
.care-visit-date {
    color:var(--care-green);
    font-weight:600;
    padding-top:.1rem}
.care-people-list {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem}
.care-resolution {
    border-inline-start:3px solid var(--care-green);
    padding:.5rem .8rem;
    background:var(--care-soft);
    font-size:.85rem}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible {
    outline:2px solid #218270;
    outline-offset:3px}
@media(max-width:1100px) {
    .care-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))}
.care-detail-grid {
    grid-template-columns:1fr}
.care-aside {
    grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px) {
    .care-intro {
    padding:1.2rem;
    display:block}
.care-intro h2 {
    font-size:1.3rem}
.care-pill {
    margin-top:.8rem}
.care-grid,.care-people-list,.care-aside {
    grid-template-columns:1fr}
.care-stats>div {
    flex-direction:column;
    gap:.2rem;
    padding:.8rem .4rem}
.care-stats strong {
    font-size:1.5rem}
.care-stats span {
    font-size:.68rem}
.care-toolbar label {
    flex:1;
    min-width:130px}
.care-toolbar .care-search {
    flex-basis:100%}
.care-section {
    padding:1rem}
.care-house-hero {
    display:block}
.care-hero-meta {
    align-items:start;
    margin-top:1rem}
.care-visit {
    grid-template-columns:1fr;
    gap:.4rem}
.care-inline-actions {
    gap:.6rem 1rem}
.care-jump {
    gap:.4rem}
.care-jump a {
    font-size:.75rem;
    padding:.5rem .75rem}
.care-person-heading {
    flex-wrap:wrap}
.care-section-heading .fi-btn {
    font-size:.75rem}
}
.dark {
    --care-ink:#dfebe3;
    --care-muted:#a3b7ad;
    --care-line:#35483f;
    --care-soft:#263b30;
    --care-paper:#1c2c24;
    --care-green:#79c9a8;
    --care-amber:#e9bc73}
.dark .fi-body {
    background:#15251d}
.dark .care-intro,.dark .care-house-hero {
    background:#233c2e}
.dark .care-house-icon,.dark .care-avatar {
    background:#304d39;
    color:#abd5b8}
.dark .care-success {
    background:#264832;
    color:#a3d9b1}

.care-identity-compare {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
    font-size:.85rem;
    line-height:1.9}
.care-identity-compare>div {
    border:1px solid var(--care-line);
    padding:1rem;
    border-radius:.7rem}
.care-identity-compare h3 {
    font-weight:700;
    color:var(--care-green);
    margin-bottom:.6rem}
.care-identity {
    margin:.7rem 0}
@media(max-width:500px) {
    .care-identity-compare {
    grid-template-columns:1fr}
}

/* Cleanup: three destinations and one family form, usable on a small phone. */
.cleanup {
    font-size:1rem;
    line-height:1.8;
    max-width:72rem;
    margin:auto;
    overflow-wrap:anywhere;
    min-width:0
}
.cleanup * {
    box-sizing:border-box;
    min-width:0
}
.cleanup-nav,.cleanup-buttons {
    display:flex;
    gap:.6rem;
    flex-wrap:wrap;
    align-items:center;
    margin:1rem 0
}
.cleanup-nav a,.cleanup button,.cleanup-buttons a {
    padding:.65rem .9rem;
    min-height:44px;
    border:1px solid #9dbbb5;
    border-radius:.6rem;
    background:#f5faf9;
    color:#075e54;
    cursor:pointer;
    text-decoration:none
}
.cleanup-nav a.active,.cleanup-confirm button {
    background:#086b60;
    color:white
}
.cleanup input,.cleanup select,.cleanup textarea {
    display:block;
    width:100%;
    max-width:100%;
    min-height:44px;
    border:1px solid #a4b4b0;
    border-radius:.5rem;
    padding:.55rem .7rem;
    background:var(--cleanup-input,#fff);
    color:#142e29;
    margin:.3rem 0 .75rem;
    font:inherit
}
.cleanup label {
    display:block;
    font-weight:600
}
.cleanup-card {
    padding:1rem;
    margin:1rem 0;
    border:1px solid #c5d7d2;
    border-radius:.8rem;
    background:#fff;
    color:#18352e
}
.cleanup-card h2 {
    font-weight:700;
    font-size:1.15rem
}
.cleanup summary {
    cursor:pointer;
    padding:.6rem 0;
    min-height:44px;
    font-weight:700
}
.cleanup-field-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem
}
.cleanup-fact {
    padding:.7rem;
    border-bottom:1px solid #d9e3e0
}
.cleanup-fact details {
    font-size:.9rem
}
.cleanup-evidence {
    white-space:pre-wrap;
    word-break:break-word;
    max-height:24rem;
    overflow:auto;
    direction:rtl;
    font-family:inherit;
    padding:.7rem;
    background:#f0f5f3
}
.cleanup-savebar {
    position:sticky;
    top:0;
    z-index:12;
    border:1px solid #aacac2;
    background:#edf8f4;
    padding:.65rem;
    border-radius:.6rem;
    color:#144436;
    box-shadow:0 2px 8px #0001
}
.cleanup-savebar p {
    margin:0
}
.cleanup-error {
    padding:.8rem;
    border:1px solid #bc5252;
    border-radius:.5rem;
    color:#862b2b;
    background:#fff2f2
}
.cleanup-confirm {
    padding:1rem;
    border:2px solid #168572
}
.cleanup fieldset:disabled {
    opacity:.85
}
.cleanup button:disabled {
    opacity:.45;
    cursor:default
}
.cleanup-cards {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem
}
.cleanup-cards .cleanup-card {
    margin:0
}
@media(max-width:600px) {
    .cleanup-field-grid,.cleanup-cards {
        grid-template-columns:1fr
    }
    .cleanup-card {
        padding:.7rem
    }
    .cleanup-nav {
        gap:.35rem
    }
    .cleanup-nav a {
        flex:1;
        text-align:center;
        padding:.55rem .3rem;
        font-size:.9rem
    }
    .cleanup-savebar {
        position:static
    }
    .cleanup-buttons>* {
        max-width:100%
    }
}
.cleanup-source-image { max-width:100%; max-height:28rem; object-fit:contain; }
.cleanup-evidence-values dt { font-weight:700; margin-top:.5rem; }
.cleanup-evidence-values dd { margin:0 .5rem .5rem 0; white-space:pre-wrap; }
