:root {--accent:#0f766e;--accent-strong:#115e59;--surface-2:#f0fdfa;}
.family-language{position:fixed;right:18px;bottom:18px;z-index:30;box-shadow:var(--shadow)}
.family-mode #tabs,.family-mode #main-view>.tab-page,.family-mode #stale-banner,.family-mode .family-return{display:none!important}
body:not(.family-mode) #family-workspace{display:none}
#family-workspace{max-width:1080px;margin:auto;padding:12px 0 90px}
.family-intro{padding:22px 0 24px;max-width:680px}.family-intro h2{font-size:clamp(1.65rem,4vw,2.4rem);letter-spacing:-.04em;line-height:1.25;margin:8px 0 12px}.family-intro p:last-child{color:var(--muted);line-height:1.7}
.family-nav,.family-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}.family-nav{border-bottom:1px solid var(--line);padding-bottom:16px}.family-nav button{min-height:44px}.family-actions button{flex:1;min-width:135px;min-height:54px}
#family-notice:empty{display:none}#family-notice{padding:14px;background:#ccfbf1;border-radius:12px;margin-bottom:16px}#family-notice[data-error=true],.family-form-error{color:var(--danger)}
.family-search{max-width:420px;margin:12px 0 20px}.family-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(275px,1fr));gap:16px}.family-item{display:flex;flex-direction:column;gap:12px}.family-item[hidden]{display:none}.family-item-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.family-item h3{font-size:1.15rem}.family-badge{display:inline-block;white-space:nowrap;font-size:.75rem;border-radius:20px;padding:5px 9px;background:#f1f5f9;color:#475569}.family-quantity{font-size:2.2rem;font-weight:750;letter-spacing:-.04em}.family-quantity small{font-size:1rem;font-weight:500;letter-spacing:0}.family-item .button-row{margin-top:auto;flex-wrap:wrap}.family-item button{font-size:.85rem;padding:0 12px}.family-help{margin-top:24px}
.family-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.family-two .panel{display:grid;gap:16px}.family-two h2{font-size:1.25rem}.family-request{margin-top:14px}.family-request p{line-height:1.6;overflow-wrap:anywhere}.family-comments{border-left:3px solid #ccfbf1;padding-left:12px}.family-photos{display:flex;flex-wrap:wrap;gap:8px}.family-photos img{width:130px;max-width:100%;height:130px;object-fit:cover;border-radius:12px}.family-request form{display:grid;gap:10px}.family-request form button{justify-self:start}
.family-dialog{width:min(560px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 25px 80px #0f172a33;color:var(--text)}.family-dialog::backdrop{background:#0f172a88}.family-dialog-head{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:20px}.family-dialog-head h2{font-size:1.35rem}.family-dialog form{display:grid;gap:16px}.family-dialog form>button[type=submit]{min-height:48px}.family-dialog details,.family-help{border-top:1px solid var(--line);padding-top:16px}.family-dialog summary,.family-help summary{cursor:pointer;font-weight:650;margin-bottom:12px}.family-dialog details label{margin-top:14px}.family-evidence{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem;max-height:50vh;overflow:auto;background:#f1f5f9;padding:14px;border-radius:12px}.family-form-error:empty{display:none}
@media(max-width:640px){.family-two{grid-template-columns:1fr}.family-intro{padding-top:12px}.family-nav{gap:6px}.family-nav button{font-size:.85rem;padding:0 11px}.family-items{grid-template-columns:1fr}.family-actions{gap:8px}.family-actions button{min-width:100px;font-size:.85rem}.family-dialog{padding:18px}.family-language{bottom:12px;right:12px}.topbar{gap:12px}.top-actions{flex-wrap:wrap}}

#family-refresh{margin-bottom:16px}.family-consolidation{margin-top:24px}.family-consolidation input[type=checkbox]{width:20px;min-height:20px}.family-consolidation form>label{display:flex;align-items:center;gap:10px;margin:16px 0}.family-consolidation article{border-top:1px solid var(--line);padding:16px 0}.family-consolidation p{margin:12px 0;line-height:1.6}

.family-records{display:grid;gap:16px}.family-record{display:grid;gap:12px}.family-record p{line-height:1.6;overflow-wrap:anywhere}.family-record .button-row{flex-wrap:wrap}

.family-item p{line-height:1.55;overflow-wrap:anywhere}.family-item details{border-top:1px solid var(--line);padding-top:12px}.family-item summary{cursor:pointer;font-weight:650}.family-item details form{display:grid;gap:12px;margin-top:14px}.family-forecast-kind{color:var(--accent-strong)}
#family-shopping{margin-top:24px}#family-shopping fieldset{border:0;padding:0;display:grid;gap:12px;min-width:0}#family-shopping label{display:flex;align-items:center;gap:10px}#family-shopping input[type=checkbox]{width:20px;min-height:20px}#family-shopping button{justify-self:start}

.family-requests-only .family-return,.family-requests-only #help-button{display:none!important}.family-request-filters{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.family-request-filters label{flex:1;min-width:130px}.family-shopping-checks{display:flex;flex-wrap:wrap;gap:16px;margin:14px 0}.family-shopping-checks label{display:flex;gap:8px;align-items:center}.family-shopping-checks input[type=checkbox]{width:22px;min-height:22px}.family-requests-only .family-two{grid-template-columns:minmax(0,1fr)}#family-request-form details label{margin-top:12px}

.family-parent-requests{display:block}.family-parent-add{margin-bottom:18px;padding:14px 18px}.family-parent-add>summary,.family-request-detail>summary{cursor:pointer;font-weight:600}.family-parent-add>#family-request-form{border:0;box-shadow:none;padding:18px 0 0;margin:0}.family-request-compact{padding:16px;margin-top:10px}.family-request-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.family-request-heading h3{margin:0}.family-request-compact .family-request-author{margin:6px 0}.family-request-compact .family-shopping-checks{margin:10px 0;gap:12px}.family-request-detail{border-top:1px solid var(--line);padding-top:10px}.family-request-detail>summary{font-size:.85rem;color:var(--muted)}.family-request-detail[open]>summary{margin-bottom:14px}.family-request-detail>label,.family-request-detail>button{margin-top:12px}

.family-parent-requests .family-request-compact,.family-parent-requests .family-parent-add{display:block}

.family-reminders{margin:24px 0;display:grid;gap:14px}.family-reminders form>fieldset{display:grid;gap:16px;border:0;padding:0;min-width:0}.family-reminder-days,.family-reminder-time{display:flex;flex-wrap:wrap;gap:12px}.family-reminder-days label,.family-reminder-check{display:flex;align-items:center;gap:8px}.family-reminders input[type=checkbox]{width:22px;min-height:22px}.family-reminder-time label{flex:1;min-width:90px}.family-reminders textarea{width:100%;resize:vertical;min-height:90px}.family-reminders pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.65;background:#f0fdfa;padding:14px;border-radius:12px}.family-reminder-preview-button{font-weight:600;color:var(--accent-strong);margin:10px 0}.family-reminders [hidden]{display:none!important}

#family-observation-pilot{margin-top:24px}#family-observation-pilot fieldset{display:grid;gap:12px}#family-observation-pilot label,#family-pending label{display:flex;align-items:center;gap:10px}#family-observation-pilot input[type=checkbox],#family-pending input[type=checkbox]{width:20px;min-height:20px;flex:0 0 20px}#family-pending:not(:empty){background:#fff7ed;border:1px solid #fed7aa;border-radius:12px;padding:14px}#family-pending p{margin-bottom:12px}
