:root{--app-bg:#f6f7f9;--surface:#fff;--soft:#f1f5f9;--line:#dbe3ea;--text:#172033;--muted:#64748b;--muted-strong:#475569;--accent:#0f766e;--shadow:0 10px 30px #0f172a0f;color:var(--text);background:var(--app-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--app-bg)}body{background:var(--app-bg);min-width:320px;min-height:100vh;margin:0}button,input,select{font-size:.94rem}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #2563eb40}a{color:inherit}.app-shell{background:var(--app-bg);min-height:100vh;color:var(--text);grid-template-columns:248px minmax(0,1fr) 312px;display:grid}.sidebar,.insight-rail{background:var(--surface);border-right:1px solid var(--line);height:100vh;padding:18px;position:sticky;top:0;overflow-y:auto}.insight-rail{border-right:0;border-left:1px solid var(--line)}.brand{border-bottom:1px solid var(--line);align-items:center;gap:11px;padding-bottom:18px;display:flex}.brand-mark{color:#fff;background:#14213d;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand span,.rail-metric span,.section-title p,.task-chip span,.event-chip span,.event-chip p,.person-card span,.person-card p,.mini-card span,.document-row span,.expense-row span,.message span,.meal-day span,.meal-day small,.child-row span,.contact-card span,.contact-card small,.checkin-card span,.checkin-card small,.safety-alert span,.budget-summary span,.budget-summary small,.budget-progress span{color:var(--muted)}.nav-list{gap:5px;margin-top:18px;display:grid}.nav-toggle.icon-button{margin-left:auto;display:none}.nav-item,.icon-button,.small-button,.primary-button,.action-button,.file-button,.shopping-toggle,.task-toggle{font:inherit}.nav-item{width:100%;color:var(--muted-strong);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:10px 11px;display:flex}.nav-item:hover,.nav-item.is-active{background:var(--soft);color:var(--text)}.workspace{min-width:0;padding:22px 24px 48px}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.eyebrow,.hero-date{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:700}.topbar h1,.hero-panel h2,.hub-header h2{letter-spacing:0;margin:0;line-height:1.05}.topbar h1{font-size:clamp(1.55rem,2.5vw,2.35rem)}.date-controls,.date-input,.rail-header,.section-title,.inline-actions,.tag-row,.action-grid,.ics-import{align-items:center;display:flex}.date-controls{gap:8px}.date-input,.icon-button,.small-button,.primary-button,.action-button,.file-button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:7px}.icon-button{cursor:pointer;place-items:center;width:38px;height:38px;display:grid}.date-input{gap:8px;min-width:0;height:38px;padding:0 10px}.date-input input{font:inherit;color:var(--text);background:0 0;border:0;width:100%;min-width:0}.content-stack{gap:18px;display:grid}.hero-panel,.panel,.toolbar-panel,.hub-block{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.hero-panel{background:linear-gradient(135deg, #14213df0, #155e75eb), var(--surface);color:#fff;grid-template-columns:minmax(260px,1.1fr) minmax(300px,.9fr);gap:22px;padding:24px;display:grid}.hero-panel p{color:#ffffffd1;max-width:62ch;margin:10px 0 0}.hero-panel h2{max-width:12ch;font-size:clamp(2rem,4vw,3.7rem)}.hero-grid,.three-column,.insight-grid,.people-grid{gap:12px;display:grid}.hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{background:#ffffff1f;border:1px solid #ffffff29;border-radius:8px;align-content:space-between;min-height:116px;padding:15px;display:grid}.metric span{color:#ffffffb8;font-size:.84rem}.metric strong{font-size:1.45rem}.two-column{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:18px;display:grid}.three-column{grid-template-columns:repeat(3,minmax(0,1fr))}.panel,.toolbar-panel,.hub-block{padding:18px}.toolbar-panel{gap:14px;display:grid}.section-title{gap:10px;margin-bottom:16px}.section-title h2{margin:0;font-size:1.08rem}.section-title p{margin:3px 0 0;font-size:.9rem}.timeline{gap:10px;display:grid}.timeline-row{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:10px;display:grid}.timeline-row time{color:var(--muted);padding-top:9px;font-size:.84rem}.timeline.is-compact .timeline-row{grid-template-columns:42px minmax(0,1fr)}.event-chip,.task-chip,.reminder-card,.insight-card,.mini-card,.handoff-card,.document-row,.expense-row,.message,.message-action-card,.meal-day,.person-card,.profile-schedule-row,.contact-card,.checkin-card,.safety-alert{border:1px solid var(--line);background:var(--surface);border-radius:8px}.event-chip{border-left:4px solid var(--accent);box-sizing:border-box;width:100%;min-width:0;padding:11px}.event-chip-header{gap:7px;display:grid}.event-chip-header>div:first-child{min-width:0}.event-actions{justify-content:flex-end;gap:4px;display:flex}.event-action.icon-button{width:29px;height:29px;color:var(--muted-strong)}.event-action.danger{color:#b91c1c}.event-chip strong,.task-chip strong,.reminder-card strong,.insight-card strong,.mini-card strong,.handoff-card strong,.document-row strong,.expense-row strong,.message strong,.meal-day strong,.person-card strong,.profile-schedule-row strong,.contact-card strong,.checkin-card strong,.safety-alert strong{display:block}.event-chip p{margin:5px 0 8px;font-size:.88rem}.reminder-card{border-left:4px solid #64748b;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px;display:flex}.reminder-card.status-overdue{border-left-color:#dc2626}.reminder-card.status-due-now{border-left-color:#f59e0b}.reminder-card.status-upcoming{border-left-color:#2563eb}.reminder-card p{white-space:pre-line;margin:6px 0 0}.reminder-card span:not(.tag){color:var(--muted-strong);font-size:.88rem}.tag-row{flex-wrap:wrap;gap:6px}.tag{background:var(--soft);color:var(--muted-strong);border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:.75rem;display:inline-flex}.tag.risk-ok{color:#166534;background:#dcfce7}.tag.risk-watch{color:#92400e;background:#fef3c7}.tag.risk-tight,.tag.risk-over{color:#991b1b;background:#fee2e2}.task-chip{text-align:left;width:100%;padding:10px}.task-chip.is-late{border-color:#f97316}.priority-critical{background:#fff1f2}.priority-high{background:#fff7ed}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.insight-card{border-left:4px solid var(--accent);gap:12px;padding:13px;display:grid}.insight-card.kind-critical{border-left-color:#dc2626}.insight-card.kind-warning{border-left-color:#f59e0b}.insight-card.kind-opportunity{border-left-color:#16a34a}.insight-card.kind-balance{border-left-color:#7c3aed}.insight-card p{color:var(--muted-strong);margin:5px 0}.insight-card.is-compact{font-size:.86rem}.inline-actions{gap:8px}.small-button,.primary-button,.action-button,.file-button{cursor:pointer;justify-content:center;align-items:center;gap:7px;min-height:36px;padding:0 11px;text-decoration:none;display:inline-flex}.small-button.secondary{background:var(--soft)}.primary-button{color:#fff;background:#14213d;border-color:#14213d}.action-button.danger{color:#b91c1c}.card-list,.load-list,.document-list,.expense-list,.message-list,.shopping-list,.recipe-list,.contact-list,.checkin-list,.child-focus,.event-stack{gap:10px;display:grid}.mini-card,.load-row,.document-row,.expense-row,.message,.handoff-card,.child-row,.checkin-card{align-items:flex-start;gap:11px;display:flex}.mini-card,.document-row,.expense-row,.message,.message-action-card,.handoff-card,.contact-card,.checkin-card,.safety-alert{padding:12px}.mini-card{justify-content:space-between;align-items:center}.data-health-copy{gap:8px;min-width:0;display:grid}.data-health-copy .small-button{justify-self:start}.load-row{align-items:center}.load-row>div{flex:1}.load-row span{color:var(--muted);font-size:.86rem;display:block}meter{width:96px;height:12px}.people-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.setup-progress{grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:14px;margin-bottom:14px;display:grid}.setup-progress strong,.setup-progress span{display:block}.setup-progress span,.setup-item p{color:var(--muted)}.setup-progress meter{width:100%}.setup-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.setup-item{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:24px minmax(0,1fr);gap:9px;padding:11px;display:grid}.setup-item.is-done{background:#f0fdf4;border-color:#bbf7d0}.setup-item .check-dot{margin-top:1px}.setup-item p{margin:3px 0 0;font-size:.84rem}.person-card{gap:9px;padding:14px;display:grid}.food-profile-tags{align-items:flex-start}.food-profile-action{justify-self:start}.person-card-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.profile-schedule-list{gap:9px;display:grid}.profile-schedule-row{justify-content:space-between;align-items:start;gap:10px;padding:11px;display:flex}.profile-schedule-copy{gap:4px;min-width:0;display:grid}.profile-schedule-copy span{color:var(--muted);font-size:.82rem;line-height:1.4}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:.75rem;font-weight:800;display:inline-grid}.avatar.is-large{width:48px;height:48px;font-size:.9rem}.smart-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-items:start;gap:10px;display:grid}.smart-form input,.smart-form select,.smart-form textarea,.standalone-select{border:1px solid var(--line);min-height:40px;color:var(--text);font:inherit;background:#fff;border-radius:7px;min-width:0;padding:0 10px}.smart-form textarea{resize:vertical;grid-column:1/-1;min-height:118px;padding:10px}.smart-form textarea.contact-long-text,.smart-form textarea.document-notes{min-height:64px}.field-label{color:var(--muted-strong);gap:5px;font-size:.84rem;display:grid}.smart-form .primary-button{grid-column:1/-1}.checkbox-grid{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:8px 14px;padding:10px;display:flex}.weekdays-grid,.event-people{grid-column:1/-1}.task-title,.meal-title,.meal-tags,.shopping-title,.recipe-title,.recipe-tags,.recipe-allergens,.recipe-notes,.food-profile-field,.availability-label,.routine-title,.expense-title,.checkin-label,.checkin-note,.contact-name,.contact-email,.contact-address,.document-title,.document-storage,.person-name,.person-household,.handoff-checklist-input{grid-column:span 2}.person-responsibilities,.handoff-children,.expense-people,.contact-relations,.contact-pickup,.routine-people,.document-people{grid-column:1/-1}.checkbox-grid legend{color:var(--muted);padding:0 4px}.checkbox-grid label,.check-line{align-items:center;gap:6px;display:inline-flex}.quick-add summary{cursor:pointer;align-items:center;gap:6px;font-weight:700;display:inline-flex}.quick-add .smart-form,.editor-close{margin-top:12px}.operation-message{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:10px 12px}.segmented{background:var(--soft);border-radius:8px;width:fit-content;padding:4px;display:inline-flex}.segmented button{cursor:pointer;color:var(--muted-strong);font:inherit;background:0 0;border:0;border-radius:6px;padding:8px 12px}.segmented button.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding-bottom:6px;display:grid;overflow-x:visible}.calendar-grid.is-month{grid-template-columns:repeat(7,minmax(0,1fr))}.day-column{background:var(--surface);border:1px solid var(--line);border-radius:8px;min-width:0;min-height:360px;padding:10px}.day-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px;padding-bottom:9px;display:flex}.day-head strong,.day-head span,.event-stack{min-width:0}.day-head strong,.event-chip strong,.event-chip span,.event-chip p{overflow-wrap:anywhere}.day-head span{color:var(--muted);font-size:.8rem}.task-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.task-column h3{margin:0 0 9px}.task-entry{grid-template-columns:24px minmax(0,1fr) auto;align-items:start;gap:8px;width:100%;margin-bottom:9px;display:grid}.task-toggle{cursor:pointer;background:0 0;border:0;padding:0}.item-actions{justify-content:flex-end;gap:4px;display:flex}.item-action.icon-button{width:29px;height:29px;color:var(--muted-strong)}.item-action.danger{color:#b91c1c}.check-dot{border:1px solid var(--line);color:#0000;border-radius:50%;place-items:center;width:22px;height:22px;margin-top:9px;display:grid}.check-dot.is-done{color:#fff;background:#16a34a;border-color:#16a34a}.handoff-card .tag{margin-top:8px}.handoff-main{flex:1;min-width:0}.handoff-header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.handoff-header strong{min-width:0}.handoff-checklist{gap:7px;margin:8px 0;padding:0;list-style:none;display:grid}.handoff-checklist label{color:var(--muted-strong);align-items:flex-start;gap:8px;display:flex}.handoff-checklist input{margin-top:2px}.contact-card,.safety-alert{gap:10px;display:grid}.contact-card{grid-template-columns:minmax(0,1fr) auto;align-items:start}.contact-card>.tag-row,.contact-card>.inline-actions{grid-column:1/-1}.checkin-card{border-left:4px solid #64748b}.checkin-card.status-safe{border-left-color:#16a34a}.checkin-card.status-en-route{border-left-color:#2563eb}.checkin-card.status-needs-help{background:#fff7f7;border-left-color:#dc2626}.checkin-copy{flex:1;min-width:0}.checkin-actions{flex-shrink:0}.safety-alert{background:#fff7f7;border-left:4px solid #dc2626}.meal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.meal-suggestion-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.meal-suggestion-card,.recipe-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.meal-suggestion-card small,.recipe-card small{color:var(--muted);font-weight:700}.meal-suggestion-card strong,.recipe-card strong{line-height:1.2}.meal-suggestion-card span,.recipe-card span{color:var(--muted-strong)}.recipe-card{grid-template-columns:1fr;align-items:start}.recipe-card>div:first-child{gap:5px;min-width:0;display:grid}.recipe-card-actions{grid-column:1/-1;justify-content:space-between;align-items:center;gap:8px;display:flex}.meal-day{gap:8px;padding:12px;display:grid}.meal-day article{border-top:1px solid var(--line);padding-top:8px}.meal-entry{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.meal-copy{gap:3px;min-width:0;display:grid}.shopping-item{border:1px solid var(--line);text-align:left;background:#fff;border-radius:8px;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:8px 10px;display:grid}.shopping-toggle{cursor:pointer;background:0 0;border:0;padding:0}.shopping-check{margin-top:0}.shopping-copy{gap:2px;min-width:0;display:grid}.shopping-copy.is-done{opacity:.58;text-decoration:line-through}.shopping-item small{color:var(--muted)}.document-row{align-items:center}.document-main{flex:1;min-width:0}.document-context{align-items:center;gap:6px;margin-top:7px;display:flex}.document-note{color:var(--muted-strong);margin:7px 0 0;font-size:.86rem}.document-edit,.document-delete{min-height:30px;padding:0 8px}.document-delete{color:#b91c1c}.attachment-list{flex-wrap:wrap;gap:7px;margin-top:8px;display:flex}.attachment-button{border:1px solid var(--line);background:var(--soft);max-width:100%;min-height:30px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.attachment-button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attachment-button small{color:var(--muted);white-space:nowrap}.document-upload{align-self:start}.reminders-hero{grid-template-columns:repeat(4,minmax(0,1fr))}.reminder-filter{flex-wrap:wrap;gap:10px;margin-bottom:12px;display:flex}.notification-box{border:1px solid var(--line);background:var(--soft);border-radius:8px;gap:8px;margin-bottom:14px;padding:12px;display:grid}.notification-box span,.notification-box p{color:var(--muted-strong);margin:0}.selected-file-list{flex-wrap:wrap;gap:7px;display:flex}.selected-file-list span{background:var(--soft);color:var(--muted-strong);border-radius:999px;padding:5px 9px;font-size:.82rem}.form-note,.form-alert{margin:0;font-size:.85rem;line-height:1.45}.form-note{color:var(--muted)}.form-alert{color:#b91c1c;background:#fff7f7;border:1px solid #fecaca;border-radius:8px;padding:10px}.expense-row{justify-content:space-between;align-items:center}.expense-row>div:first-child{min-width:0}.expense-row-tools{flex-shrink:0;align-items:center;gap:8px;display:flex}.expense-row.is-projected{background:#f8fafc;border-style:dashed}.budget-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.budget-summary>div,.budget-progress{border:1px solid var(--line);background:var(--soft);border-radius:8px}.budget-summary>div{align-content:start;gap:6px;padding:12px;display:grid}.budget-summary strong{font-size:1.35rem}.budget-summary small{line-height:1.35}.budget-progress-list,.budget-breakdown-list{gap:10px;margin-bottom:14px;display:grid}.pwa-status-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.data-health-card{grid-column:span 2}.budget-progress{gap:8px;padding:11px;display:grid}.budget-progress>div{justify-content:space-between;gap:12px;display:flex}.budget-progress meter{width:100%}.subsection-heading{margin:16px 0 10px;font-size:.95rem}.message-list{max-height:520px;overflow-y:auto}.message-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.message-action-card{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:10px;padding:12px;display:grid}.message-action-card p{color:var(--muted-strong);margin:5px 0}.message-action-card span{color:var(--muted)}.message p{margin:4px 0 6px}.message-main{flex:1;min-width:0}.message-actions{flex:none;margin-left:auto}.smart-form textarea.message-body{min-height:82px}.message-related{grid-column:1/-1}.home-hub{gap:18px;display:grid}.hub-header{color:#fff;background:#14213d;border-radius:8px;justify-content:space-between;align-items:center;min-height:150px;padding:24px;display:flex}.hub-header p{color:#ffffffb8;margin:0 0 8px}.hub-clock{align-items:center;gap:10px;font-size:2.4rem;font-weight:800;display:flex}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.hub-alert{background:var(--soft);border-left:4px solid #f59e0b;border-radius:8px;padding:10px}.hub-alert span{color:var(--muted-strong);margin-top:4px;display:block}.rail-header{gap:8px;margin-bottom:15px}.rail-metric{border:1px solid var(--line);border-radius:8px;gap:5px;margin-bottom:10px;padding:12px;display:grid}.rail-metric strong{font-size:1.15rem}.rail-list{gap:10px;display:grid}.empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:8px;place-items:center;gap:8px;padding:18px;display:grid}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.action-grid,.ics-import{flex-wrap:wrap;gap:10px}.ics-import{margin-top:14px}.budget-panel{grid-template-columns:repeat(4,minmax(0,1fr))}@media (width<=1240px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.insight-rail{display:none}.people-grid,.three-column,.meal-suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.brand{border-bottom:0;padding-bottom:0}.nav-toggle.icon-button{display:grid}.nav-list{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px;padding-top:14px;display:none}.nav-list.is-mobile-open{display:grid}.topbar,.hero-panel,.two-column,.three-column,.hub-grid,.budget-panel,.pwa-status-grid,.reminders-hero{grid-template-columns:1fr}.data-health-card{grid-column:span 1}.document-row{grid-template-columns:20px minmax(0,1fr);align-items:start;display:grid}.document-row>.tag-row{grid-column:2;margin-top:8px}.hero-grid,.insight-grid,.people-grid,.setup-grid,.task-board,.meal-grid,.meal-suggestion-grid,.message-action-grid,.budget-summary,.smart-form{grid-template-columns:1fr}.task-title,.meal-title,.meal-tags,.shopping-title,.recipe-title,.recipe-tags,.recipe-allergens,.recipe-notes,.food-profile-field,.availability-label,.routine-title,.expense-title,.checkin-label,.checkin-note,.contact-name,.contact-email,.contact-address,.document-title,.document-storage,.person-name,.person-household,.handoff-checklist-input{grid-column:span 1}.profile-schedule-row{align-items:center}.recipe-card{grid-template-columns:1fr}.recipe-card-actions{flex-wrap:wrap}.contact-card{grid-template-columns:1fr}.calendar-grid,.calendar-grid.is-month{grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible}}@media (width<=560px){.workspace,.sidebar{padding:14px}.nav-list{grid-template-columns:1fr}.date-controls{width:100%}.topbar{flex-direction:column;align-items:stretch}.date-input{flex:1}.date-controls .icon-button{flex:0 0 38px}.setup-progress,.calendar-grid,.calendar-grid.is-month{grid-template-columns:1fr}.day-column{min-height:auto}}
