/* Family desk: ink blue, clear paper, savings teal and warm bill reminders. */
.app-shell{background:#eef3f7}.app-top{background:rgba(238,243,247,.96)}
.family-hub{--family-ink:#233952;--family-teal:#1b796e;--family-line:#dce5ec;color:var(--family-ink);font-family:"Ubuntu Local",system-ui,sans-serif;margin-bottom:32px}
.family-hub *, .family-dialog *{box-sizing:border-box}
.family-hub button,.family-dialog button{font:inherit;cursor:pointer;min-height:42px;border-radius:12px;border:1px solid #dce5ec;padding:10px 15px;background:#fff;color:#233952;transition:background .15s,transform .15s}
.family-hub button:hover,.family-dialog button:hover{background:#e8f2f0}
.family-hub button:focus-visible,.family-dialog :focus-visible{outline:3px solid #587fa5;outline-offset:3px}
.family-hub button.family-primary,.family-dialog button.family-primary{background:#233952;color:white;border-color:#233952;font-weight:700}
.family-kicker{font-size:10px!important;font-weight:700;letter-spacing:.13em;color:#597086;margin:0 0 10px!important;line-height:1.5}
.family-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.family-heading h2{font-size:clamp(25px,3vw,38px);line-height:1.15;letter-spacing:-.04em;margin:0 0 10px;color:#233952}
.family-heading>div>p:last-child{font-size:14px;color:#63788a;margin:0;line-height:1.6}
.family-month{display:grid;gap:6px;font-size:11px;color:#526b81;flex-shrink:0}
.family-month input{font:inherit;font-size:13px;border:1px solid #d1dde6;border-radius:10px;background:#fff;padding:10px;color:#233952;min-height:42px;max-width:180px}
.family-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px;font-size:13px}
.family-overview{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-bottom:18px}
.family-budget,.family-savings{border-radius:22px;padding:26px;min-width:0;border:1px solid #dce5ec;background:#fff}
.family-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:10px;letter-spacing:.08em;font-weight:700;color:#526b81;min-height:32px}
.family-tag{padding:7px 9px;border-radius:8px;background:#eef3f7;font-size:10px;letter-spacing:0;white-space:nowrap}
.family-total{display:block;font-size:clamp(25px,3vw,39px);letter-spacing:-.04em;margin:13px 0 6px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.family-budget>p{font-size:12px;color:#63788a;margin:0 0 24px}
.family-budget-track{height:12px;background:#e7eef4;border-radius:20px;overflow:hidden}
.family-budget-track i{display:block;height:100%;background:#587fa5;border-radius:20px}.family-budget-track i.over{background:#be634a}
.family-budget-label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin-top:6px}
.family-budget-label button{border:0;padding-inline:0;font-size:11px;background:transparent;white-space:nowrap}
.family-spending-key{border-top:1px solid #e4ebf1;padding-top:17px;margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:10px;color:#657b8d}
.family-spending-key span{display:grid;grid-template-columns:7px 1fr;align-items:center;column-gap:7px}.family-spending-key b{grid-column:2;margin-top:4px;color:#233952;font-size:12px}.family-spending-key i{width:7px;height:7px;border-radius:3px;background:#587fa5}.family-spending-key .category-1{background:#65a79a}.family-spending-key .category-2{background:#deb270}.family-spending-key .category-3{background:#9a91b1}
.family-savings{background:#e2efeb;border-color:#cedfd7;display:flex;flex-direction:column}.family-savings .family-card-top button{background:transparent;border:0;min-height:30px;padding:0 6px;font-size:20px}
.family-saving-body{display:flex;align-items:center;gap:20px;flex:1;margin:24px 0}.family-saving-body>div:last-child{min-width:0}.family-saving-body h3{font-size:17px;line-height:1.3;margin:0 0 10px;overflow-wrap:anywhere}.family-saving-body strong{font-size:23px;color:#1a665d;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.family-saving-body p{font-size:12px;color:#52786e;line-height:1.5;margin:6px 0 0}
.family-ring{width:105px;height:105px;border-radius:50%;background:conic-gradient(#1b796e var(--progress),#c4ddd4 0);display:grid;place-items:center;flex-shrink:0}.family-ring span{display:grid;place-items:center;width:85px;height:85px;border-radius:50%;background:#e2efeb;color:#1b796e;font-size:26px;font-weight:700}
.family-saving-actions{display:flex;gap:8px;flex-wrap:wrap;font-size:11px}.family-saving-actions button{border-color:#bad5ca;background:transparent;color:#1a665d;flex:1;padding-inline:9px}.family-savings>small{color:#52786e;font-size:10px;line-height:1.5;margin-top:13px}
.family-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-bottom:18px}.family-panel{border:1px solid #dce5ec;background:#fff;border-radius:22px;padding:24px;min-width:0}.family-panel>header{display:flex;justify-content:space-between;align-items:center;gap:15px}.family-panel h3{font-size:19px;letter-spacing:-.03em;line-height:1.25;margin:0}.family-panel header>strong{font-size:14px;white-space:nowrap}.family-panel-hint{font-size:11px;color:#718395;margin:11px 0 20px;line-height:1.5}
.family-bill{display:flex;align-items:center;gap:13px;padding:14px 0;border-top:1px solid #e7edf2}.family-bill>div{flex:1;min-width:0}.family-bill b{font-size:13px;display:block;overflow-wrap:anywhere}.family-bill small{display:block;color:#738597;font-size:11px;margin-top:5px}.family-bill button{font-size:11px;padding:8px 12px}.family-date{flex-shrink:0;border-radius:10px;background:#eef3f7;padding:11px 7px;max-width:60px;text-align:center;font-size:11px;line-height:1.4;font-weight:700}.family-date.late{background:#fff0e1;color:#965929}
.family-team-count{border-radius:50%;width:30px;height:30px;background:#edf2f6;display:grid;place-items:center;font-size:12px}.family-person{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid #e7edf2}.family-initial{height:36px;width:36px;display:grid;place-items:center;flex-shrink:0;background:#eeeaf5;border-radius:13px;color:#6d6291;font-weight:700}.family-person>div{flex:1;min-width:0}.family-person b{font-size:13px;overflow-wrap:anywhere}.family-person small{display:block;font-size:11px;color:#758497;margin-top:5px;line-height:1.5;overflow-wrap:anywhere}.family-person button{border:0;min-height:42px;padding:7px;font-size:10px}.family-team-note{font-size:11px;color:#718395;line-height:1.6}.family-invite-button{width:100%;font-size:12px!important;border-style:dashed!important;background:#f4f7fa!important}
.family-entry{display:flex;align-items:center;gap:13px;padding:17px 0;border-top:1px solid #e7edf2}.family-entry:first-of-type{margin-top:20px}.family-entry>div{flex:1;min-width:0}.family-entry b{font-size:13px;overflow-wrap:anywhere}.family-entry small{display:block;font-size:11px;color:#758497;margin-top:6px;line-height:1.5}.family-entry strong{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}.family-entry button{border:0;font-size:20px;padding:7px}.family-entry-icon{flex-shrink:0;width:36px;height:36px;background:#eef3f7;border-radius:12px;display:grid;place-items:center;font-size:20px}.family-entry-icon.saving{background:#e2efeb;color:#1b796e}.family-entry-icon.withdrawal{background:#fff0e1;color:#965929}.family-activity header>span{font-size:11px;color:#758497;text-align:right}
.family-empty{padding:24px 8px;text-align:center;font-size:13px}.family-empty>span{display:block;font-size:24px;color:#1b796e;margin-bottom:10px}.family-empty p{color:#718395;font-size:12px;line-height:1.7}.family-empty button{font-size:12px}.family-loading{background:#fff;border:1px solid #dce5ec;border-radius:22px;padding:32px;line-height:1.6}
.home-extra{border-top:1px solid #d4e0e8;padding-top:20px}.home-extra>summary{cursor:pointer;font-size:14px;font-weight:700;color:#536e84;padding:15px 0}.home-extra[open]>summary{margin-bottom:18px}
.family-dialog{border:0;border-radius:24px;background:#fff;color:#233952;padding:32px;width:min(520px,calc(100% - 28px));max-height:90dvh;overflow:auto;box-shadow:0 30px 100px #132b4b44;font:14px/1.6 "Ubuntu Local",system-ui,sans-serif}.family-dialog::backdrop{background:#122b45a8;backdrop-filter:blur(5px)}.family-dialog h2{font-size:28px;line-height:1.15;letter-spacing:-.035em;margin:12px 28px 18px 0}.family-dialog p{color:#63788a;font-size:13px}.family-dialog button.family-close{position:absolute;right:17px;top:14px;font-size:24px;background:transparent;border:0;padding:5px 12px}.family-dialog label{display:grid;gap:7px;font-size:12px;font-weight:700;margin:17px 0}.family-dialog input,.family-dialog select{width:100%;min-width:0;min-height:46px;border:1px solid #cbd9e3;border-radius:10px;padding:11px;background:#f7f9fb;color:#233952;font:14px "Ubuntu Local",system-ui,sans-serif}.family-dialog input:focus{outline:2px solid #587fa5;outline-offset:1px}.family-dialog .family-primary{width:100%;margin-top:12px;min-height:48px}.family-note{padding:15px;background:#eef4f7;border-radius:12px;font-size:12px;line-height:1.7;color:#536e84}.family-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.family-error{color:#ad412b!important}.family-error:empty{display:none}.family-dialog button:disabled{opacity:.55;cursor:wait}
.family-invite-notice{display:flex;gap:15px;align-items:center;flex-wrap:wrap;background:#e2efeb;color:#233952;padding:20px 5%;font-size:13px}.family-invite-notice button{border:1px solid #1b796e;border-radius:9px;background:white;color:#1b796e;padding:12px;cursor:pointer}.family-invite-notice span{flex:1}
@media(min-width:1500px){.family-hub{max-width:1250px}}
@media(max-width:1000px){.family-overview,.family-columns{grid-template-columns:1fr}.family-heading h2{font-size:30px}.family-saving-body{justify-content:flex-start}.family-savings{padding:24px}.family-ring{width:94px;height:94px}.family-ring span{width:76px;height:76px}.family-saving-actions button{flex:initial}.family-savings>small{margin-top:14px}}
@media(max-width:600px){.family-heading{align-items:flex-start;flex-direction:column;gap:16px}.family-heading h2{font-size:29px}.family-month{display:flex;align-items:center;gap:12px;width:100%;justify-content:space-between}.family-month input{flex:1;max-width:180px}.family-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.family-actions button{font-size:11px;padding:12px 7px}.family-budget,.family-savings,.family-panel{padding:19px;border-radius:18px}.family-total{font-size:31px}.family-panel h3{font-size:18px}.family-panel>header{align-items:flex-start}.family-panel header>strong{font-size:12px}.family-budget-label{font-size:11px}.family-budget-label button{font-size:10px}.family-saving-body{gap:16px}.family-saving-body strong{font-size:23px}.family-ring{width:80px;height:80px}.family-ring span{width:64px;height:64px;font-size:22px}.family-entry{gap:9px;flex-wrap:wrap}.family-entry>div{flex-basis:calc(100% - 52px)}.family-entry strong{margin-left:45px}.family-entry button{margin-left:auto}.family-activity header>span{max-width:80px}.family-dialog{padding:25px 20px}.family-dialog h2{font-size:26px}.family-form-row{grid-template-columns:1fr;gap:0}.family-invite-notice{display:grid}.family-spending-key{gap:14px 8px}.family-spending-key b{font-size:11px}.family-bill{gap:9px}.family-bill button{padding:8px}.family-team-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){.family-hub *,.family-dialog *{transition:none!important;animation:none!important}}

.house-uid-panel{padding:24px;border:1px solid #dce5ec;border-radius:20px;background:#fff}.house-uid-panel h3{margin:8px 0;font-size:24px}.house-uid-panel p{line-height:1.6;margin-bottom:16px}.house-uid-panel output{max-width:100%;user-select:all}.house-uid-panel [hidden]{display:none}
