/* Shared family life follows the existing cream and sage design. */
.household-overview .panel-label { display:flex;align-items:center;gap:7px; }
.household-overview .panel-label .icon-btn { margin-left:auto; }
.household-mini-members { display:flex;align-items:center;gap:5px;margin:15px 0 19px; }
.household-mini-members>span:last-child:not(.household-mini-avatar) { margin-left:7px;font-size:11px;color:var(--muted); }
.household-mini-avatar { width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e3eadb;color:#476544;font-size:12px;font-weight:600;flex-shrink:0; }
.family-color-1 { background:#ece2d5;color:#806343; }
.family-color-2 { background:#dde8e7;color:#4b7070; }
.family-color-3 { background:#ecdeda;color:#8e6156; }
.household-mini-line { display:flex;justify-content:space-between;align-items:start;gap:12px;margin-top:11px;font-size:11px; }
.household-mini-line>span { color:var(--muted); }
.household-mini-line b { text-align:right;font-size:12px;font-weight:500; }
.household-overview .budget-link { margin-top:15px; }
.household-layout { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start; }
.household-layout>div,.household-layout>aside { min-width:0; }
.household-layout>aside { display:grid;gap:22px; }
.household-people-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px; }
.household-person { margin:0!important;padding:21px!important;min-width:0; }
.household-person-heading { display:flex;align-items:center;gap:11px;margin-bottom:18px; }
.household-person-heading>div:last-child { min-width:0; }
.household-person-heading h3 { font-size:15px;overflow-wrap:anywhere; }
.household-person-heading .eyebrow { font-size:8px;letter-spacing:1px; }
.household-person-heading p { font-size:10px;color:var(--muted);margin-top:3px; }
.household-person-heading .household-mini-avatar { width:42px;height:42px; }
.household-person-job { display:flex;gap:8px;align-items:start;font-size:12px;color:var(--ink);line-height:1.5;min-height:36px; }
.household-person-job .icon { width:15px;height:15px;margin-top:2px; }
.household-member-facts { display:grid;gap:7px;padding:14px 0;font-size:10px; }
.household-member-facts>span { display:flex;align-items:start;justify-content:space-between;gap:10px;color:var(--muted); }
.household-member-facts b { text-align:right;color:var(--body);font-weight:500; }
.household-member-now { display:flex;align-items:center;gap:8px;padding:10px;border-radius:7px;background:#edf1e6;font-size:10px;color:#496242;min-height:37px; }
.household-member-needs { font-size:11px;line-height:1.7;margin-top:12px;color:var(--muted); }
.household-member-needs .icon { width:13px;height:13px;margin-right:4px; }
.household-member-aspiration { font-size:10px;line-height:1.7;color:var(--muted);margin-top:12px; }
.household-closeness { display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:15px;font-size:10px;color:var(--muted); }
.household-closeness b { font-weight:500;color:var(--body); }
.household-closeness .meter { grid-column:1/-1;height:4px; }
.household-member-schedule { margin-top:15px;padding-top:12px;border-top:1px solid var(--line);font-size:11px; }
.household-member-schedule summary { cursor:pointer;min-height:32px;display:flex;align-items:center;justify-content:space-between;color:var(--green);gap:10px; }
.household-member-schedule summary .icon { width:13px;height:13px; }
.household-member-schedule ol { padding:7px 0 0;list-style:none;margin:0;display:grid;gap:9px; }
.household-member-schedule li { display:grid;grid-template-columns:77px minmax(0,1fr);gap:7px;font-size:10px;line-height:1.6; }
.household-member-schedule time { color:var(--muted);font-variant-numeric:tabular-nums; }
.family-memory { opacity:.72; }
.household-plan .field-label { font-size:11px;margin-top:18px; }
.household-plan select { font-size:12px;padding:11px 8px; }
.household-plan-impact { display:grid;gap:9px;padding:16px 0;margin-top:3px;font-size:10px; }
.household-plan-impact>span { display:flex;justify-content:space-between;gap:9px;color:var(--muted); }
.household-plan-impact b { color:var(--ink);font-weight:500; }
.household-plan .btn { margin-top:15px;font-size:11px; }
.household-care-explanation { font-size:10px;line-height:1.8;color:var(--muted);margin-top:10px;padding:10px 12px;background:#eef1e7;border-radius:7px; }
.household-transfer { margin-top:18px;border-top:1px solid var(--line);padding-top:9px;font-size:11px; }
.household-transfer summary { min-height:44px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--green); }
.household-transfer summary .icon { width:15px;height:15px; }
.household-transfer form>p:first-child { display:flex;gap:12px;justify-content:space-between;color:var(--muted);font-size:11px; }
.household-transfer form>p>b { text-align:right;color:var(--body);font-weight:500; }
.household-transfer .field-label { margin-top:12px;font-size:11px; }
.household-transfer-fields { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:9px; }
.household-transfer-fields input { min-width:0;font-size:13px; }
.household-transfer-fields .btn { padding:11px 12px;font-size:11px;min-height:46px; }
.household-transfer-fields .icon { width:14px;height:14px; }
.household-debt-note { font-size:10px;line-height:1.8;color:var(--red);margin-top:12px;padding:10px 12px;background:#f6e9e1;border-radius:7px; }
.household-time-warning { color:var(--red);font-size:11px;line-height:1.7;padding:10px;background:#f6e9e1;border-radius:6px; }
.household-budget .section-heading .eyebrow { font-size:8px;margin-bottom:5px; }
.household-money-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0 24px; }
.household-money-grid>div { min-width:0; }
.household-money-grid span,.household-money-grid small { display:block;font-size:10px;color:var(--muted); }
.household-money-grid strong { display:block;font-family:Georgia,serif;font-weight:400;font-size:23px;line-height:1.4;margin:7px 0 3px;color:var(--green);overflow-wrap:anywhere; }
.household-budget .budget-line { font-size:11px;gap:12px; }
.household-budget .budget-line>span { min-width:0; }
.household-budget .budget-line>b { flex-shrink:0; }
.household-budget.compact { margin-bottom:24px; }
.household-budget.compact .household-money-grid { max-width:560px; }
.household-budget.compact .budget-table { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px; }
.household-budget.compact .budget-line.total { grid-column:1/-1; }
.household-world { padding-bottom:15px!important;overflow:hidden; }
.household-world-canvas { margin:0 -26px;overflow:hidden;background:#dbe4d0; }
.household-world-canvas canvas { display:block;width:100%;height:auto;image-rendering:pixelated;transform:translateX(var(--scene-offset,0)); }
.household-world-clock { font-size:11px;color:var(--green);margin:12px 0;min-height:18px; }
.household-live-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px; }
.household-live-list>div { min-width:0;display:grid;gap:3px;font-size:10px; }
.household-live-list span { color:var(--muted); }
.household-live-list b { font-weight:500;color:var(--ink); }
.household-world-note { margin-top:14px;font-size:10px;line-height:1.7;color:var(--muted); }
@media(min-width:1500px) { .household-people-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1100px) { .household-layout { grid-template-columns:minmax(0,1fr) minmax(270px,.85fr);gap:18px; }.household-people-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:760px) { .household-layout { grid-template-columns:minmax(0,1fr); }.household-people-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.household-layout>aside { grid-template-columns:repeat(2,minmax(0,1fr));align-items:start; }.household-world-canvas { margin:0 -18px; }.household-world-canvas canvas { width:760px;max-width:none; }.household-world .section-heading .text-btn { min-height:44px; }.household-world .section-heading h2 { font-size:15px; }.household-live-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .household-people-grid,.household-layout>aside { grid-template-columns:minmax(0,1fr); }.household-person { padding:19px!important; }.household-budget.compact .budget-table { display:block; }.household-money-grid strong { font-size:22px; }.household-world .section-heading { align-items:start;gap:8px; }.household-world .section-heading .eyebrow { font-size:7px;letter-spacing:.8px; }.household-world .section-heading .text-btn { font-size:10px;white-space:nowrap; }.household-plan select { font-size:13px; }.household-member-schedule summary { min-height:44px; } }
