:root{--paper:#f4efe6;--paper-deep:#ebe3d7;--surface:#fffdf8;--surface-strong:#ffffff;--ink:#24312e;--ink-soft:#62706c;--line:#ded8ce;--line-soft:#ebe6de;--coral:#e97b61;--coral-dark:#c95f48;--coral-soft:#fae3dc;--sage:#aec4b4;--sage-soft:#e4ede6;--blue-soft:#e2eef3;--butter:#e9cf8e;--butter-soft:#f7edcf;--lilac-soft:#eee8f4;--shadow-sm:0 1px 2px rgba(42,39,33,0.05),0 8px 24px rgba(42,39,33,0.04);--shadow-md:0 18px 48px rgba(49,42,34,0.1);--radius-sm:12px;--radius:20px;--radius-lg:28px}*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}menu,ol,ul{list-style:none}img{display:block;max-width:100%;height:auto;vertical-align:middle}small{font-size:80%}.sr-only{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;border:0!important;padding:0!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}html{min-width:320px;background:var(--paper);scroll-behavior:smooth;-webkit-text-size-adjust:100%}body,html{color:var(--ink)}body{margin:0;min-height:100vh;background:radial-gradient(circle at 8% -12%,rgba(233,207,142,.26),transparent 28rem),var(--paper);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;padding-bottom:calc(92px + env(safe-area-inset-bottom))}button,input,select,textarea{color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1;background-color:transparent;border-radius:0}a,button,label{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}button{appearance:button;border:0}a{color:inherit;text-decoration:none}input,select,textarea{width:100%;min-height:46px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fffefb;padding:11px 13px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}textarea{min-height:82px;resize:vertical;line-height:1.55}select{cursor:pointer}input::placeholder,textarea::placeholder{color:#9b9c94;opacity:1}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}a:focus-visible,button:focus-visible,input:focus,select:focus,textarea:focus{border-color:var(--coral);box-shadow:0 0 0 4px rgba(233,123,97,.14);outline:none}h1,h2,h3,p{margin-top:0}h1,h2,h3,strong{letter-spacing:-.02em}h1{max-width:700px;margin-bottom:12px;font-size:clamp(2rem,5vw,3.55rem);line-height:1.02;letter-spacing:-.055em}h2{margin-bottom:6px;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.12;letter-spacing:-.04em}h3{margin-bottom:0;font-size:1.12rem;line-height:1.25}.app-shell{min-height:100vh}.topbar{position:relative;z-index:10;justify-content:space-between;width:min(1180px,calc(100% - 40px));min-height:74px;margin:0 auto;padding-top:env(safe-area-inset-top)}.account-chip,.account-chip>div,.brand-lockup,.brand-lockup>div,.calendar-card,.card-actions,.card-heading,.day-title-row,.hero-copy,.inline-form,.progress-card,.rating-row,.recipe-topline,.save-dock,.save-dock>div,.section-heading,.topbar,.week-navigation{display:flex;align-items:center}.brand-lockup{gap:11px}.account-chip>div,.brand-lockup>div:not(.brand-mark),.progress-card>div,.save-dock p{display:flex;flex-direction:column}.brand-lockup strong{font-size:.96rem;line-height:1.1}.account-chip small,.brand-lockup span,.progress-card small,.save-dock small{color:var(--ink-soft);font-size:.72rem}.brand-mark{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;overflow:hidden;border:1px solid rgba(36,49,46,.1);border-radius:13px;background:#f4efe6 url(/icon-192.png) 50%/cover no-repeat;color:transparent;font-size:1.1rem;font-weight:750;box-shadow:0 4px 12px rgba(36,49,46,.1)}.account-chip{min-height:48px;gap:9px;border:1px solid rgba(36,49,46,.1);border-radius:999px;background:rgba(255,253,248,.68);padding:5px 13px 5px 6px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.account-chip>span{display:grid;width:35px;height:35px;place-items:center;border-radius:50%;background:var(--coral-soft);color:var(--coral-dark);font-weight:760}.account-chip strong{font-size:.82rem;line-height:1.1}.account-chip form{display:flex;margin:0 0 0 3px;border-left:1px solid rgba(36,49,46,.1);padding-left:8px}.account-signout{min-height:44px;border-radius:10px;background:transparent;padding:0 4px;color:var(--ink-soft);cursor:pointer;font-size:.72rem;font-weight:720}.account-signout:hover{background:var(--coral-soft);color:var(--coral-dark)}.week-hero{width:min(1180px,calc(100% - 40px));margin:20px auto 0;border:1px solid rgba(36,49,46,.08);border-radius:var(--radius-lg);background:linear-gradient(115deg,rgba(255,253,248,.97),rgba(247,237,207,.68)),var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.week-navigation{justify-content:center;gap:8px;border-bottom:1px solid rgba(36,49,46,.08);padding:12px 16px}.icon-button,.square-button{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:1px solid var(--line);border-radius:13px;background:var(--surface-strong);cursor:pointer;font-size:1.45rem;transition:transform .14s ease,border-color .14s ease}.icon-button:hover,.square-button:hover{border-color:var(--coral);transform:translateY(-1px)}.week-picker{display:flex;min-width:210px;min-height:44px;flex-direction:column;justify-content:center;border-radius:12px;background:transparent;cursor:pointer}.week-picker span{font-weight:720}.week-picker small{color:var(--ink-soft);font-size:.7rem}.hero-copy{justify-content:space-between;gap:38px;padding:clamp(30px,6vw,68px)}.calendar-card p,.hero-copy>div:first-child>p:last-child,.recipe-topline p,.section-heading>div>p:last-child{margin-bottom:0;color:var(--ink-soft)}.eyebrow{margin-bottom:7px;color:var(--coral-dark);font-size:.7rem;font-weight:780;letter-spacing:.12em;text-transform:uppercase}.progress-card{min-width:190px;gap:14px;border:1px solid rgba(36,49,46,.09);border-radius:18px;background:rgba(255,255,255,.57);padding:14px 17px}.progress-ring{display:grid;width:58px;height:58px;flex:0 0 58px;place-items:center;border-radius:50%;background:conic-gradient(var(--coral) var(--progress),var(--line-soft) 0);position:relative}.progress-ring:after{position:absolute;width:44px;height:44px;border-radius:50%;background:var(--surface);content:""}.progress-ring span{z-index:1;font-size:.72rem;font-weight:760}.tabbar{position:sticky;z-index:20;top:10px;display:grid;grid-template-columns:repeat(5,1fr);width:min(760px,calc(100% - 40px));margin:18px auto 0;border:1px solid rgba(36,49,46,.1);border-radius:17px;background:rgba(255,253,248,.86);padding:5px;box-shadow:0 10px 28px rgba(36,49,46,.08);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tabbar button{display:flex;min-height:46px;align-items:center;justify-content:center;gap:7px;border-radius:12px;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:.82rem;font-weight:650}.tabbar button span{font-size:1rem}.tabbar button.active{background:var(--ink);color:white;box-shadow:0 5px 13px rgba(36,49,46,.16)}.content-wrap{width:min(1040px,calc(100% - 40px));margin:36px auto 0}.tab-panel{animation:panel-in .26s ease both}.overview-panel{padding-bottom:28px}.overview-sheet{overflow:hidden;border:1px solid #d9ddd8;border-radius:24px;background:#fff;padding:clamp(24px,4vw,44px);box-shadow:0 22px 60px rgba(43,52,49,.11)}.overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:32px;margin-bottom:32px}.overview-actions,.overview-dinner-cell,.overview-footer,.overview-lockup,.overview-period,.overview-section-heading,.overview-title-line{display:flex;align-items:center}.overview-lockup{gap:14px}.overview-logo-bar{width:8px;height:60px;flex:0 0 8px;border-radius:999px;background:#d5a05e}.overview-title-line{gap:18px}.overview-title-line h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:.95;letter-spacing:.01em;text-transform:uppercase}.overview-lockup p{margin:7px 0 0;color:#71817d;font-size:.72rem;font-weight:760;letter-spacing:.05em;text-transform:uppercase}.overview-dots{display:flex;gap:7px}.overview-dots i{width:7px;height:7px;border-radius:50%;background:#729083}.overview-dots i:nth-child(2){background:#d5a05e}.overview-dots i:nth-child(3){background:#cb7665}.overview-dots i:nth-child(4){background:#738a8f}.overview-dots i:nth-child(5){background:#d5a05e}.overview-header-tools{display:grid;justify-items:end;gap:12px}.overview-period{gap:12px}.overview-period>div{display:grid;min-width:58px;gap:2px;border-bottom:1px solid #d7dbd6;padding:0 5px 5px}.overview-period>.overview-date-range{min-width:150px}.overview-period small{color:#7e8986;font-size:.59rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}.overview-period strong{font-size:.82rem}.overview-arrow{display:grid;width:34px;height:34px;place-items:center;border:1px solid #d9ddd8;border-radius:10px;background:#fff;cursor:pointer;font-size:1.25rem}.overview-actions{justify-content:flex-end;gap:8px}.overview-state{border-radius:999px;background:#f2e8d8;color:#8c6c3d;padding:7px 12px;font-size:.61rem;font-weight:780;letter-spacing:.05em;text-transform:uppercase}.overview-state.saved{background:#e5eeea;color:#56736a}.overview-print{min-height:42px;border:1px solid #d9ddd8;border-radius:12px;background:#fff;padding:8px 13px;cursor:pointer;font-size:.75rem;font-weight:700}.overview-actions .primary-button{min-height:42px;padding:8px 14px;font-size:.75rem}.overview-weekly-letter-shelf{display:grid;align-items:center;grid-template-columns:minmax(155px,auto) minmax(0,1fr);gap:14px;margin:-14px 0 18px;border:1px solid #dce4e0;border-radius:15px;background:linear-gradient(135deg,#f7faf8,#fbfaf6);padding:9px 10px}.google-calendar-travel{min-width:0;border:1px solid #d6e0e5;border-radius:15px;background:linear-gradient(135deg,#f5fafc,#fbfaf6);color:var(--ink)}.google-calendar-travel-overview{display:grid;align-items:center;grid-template-columns:minmax(155px,auto) minmax(0,1fr) auto;gap:14px;margin:0 0 18px;padding:10px}.google-calendar-travel-heading{display:flex;min-width:0;align-items:center;gap:9px}.google-calendar-travel-heading>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:#dceaf0;color:#476979;font-size:.68rem;font-weight:820}.google-calendar-travel-copy,.google-calendar-travel-heading>div{display:grid;min-width:0}.google-calendar-travel-heading .eyebrow{margin:0 0 1px;color:#66808c;font-size:.58rem}.google-calendar-travel-heading h2{margin:0;color:#34464e;font-size:.78rem;letter-spacing:-.01em}.google-calendar-travel-heading small{overflow:hidden;color:#718188;font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.google-calendar-travel-content{display:grid;min-width:0;gap:7px}.google-calendar-travel-status{margin:0;color:#697a80;font-size:.65rem;line-height:1.35}.google-calendar-travel-status.status-error,.google-calendar-travel-status.status-needs_reconnect{color:#995b4d}.google-calendar-candidates,.google-calendar-travel-items{margin:0;padding:0;list-style:none}.google-calendar-travel-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.google-calendar-travel-items li{display:flex;min-width:0;align-items:flex-start;gap:7px;border:1px solid #dbe5e9;border-radius:10px;background:rgba(255,255,255,.82);padding:7px 8px}.google-calendar-travel-kind{flex:0 0 auto;border-radius:999px;background:#dceaf0;padding:3px 6px;color:#496b79;font-size:.53rem;font-weight:790;letter-spacing:.03em;text-transform:uppercase}.google-calendar-travel-copy{gap:1px}.google-calendar-travel-copy strong{overflow:hidden;font-size:.69rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.google-calendar-travel-copy small{display:flex;min-width:0;flex-wrap:wrap;gap:2px 7px;color:#6c7c82;font-size:.58rem;line-height:1.3}.google-calendar-travel-copy small span{overflow-wrap:anywhere}.google-calendar-travel-items .google-calendar-travel-more{align-items:center;color:#64777f}.google-calendar-travel-more>span{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:50%;background:#dceaf0;font-size:.62rem;font-weight:800}.google-calendar-travel-more small{font-size:.62rem;font-weight:700}.google-calendar-travel-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.google-calendar-travel-actions .primary-button,.google-calendar-travel-actions .secondary-button{min-height:44px;padding:7px 11px;font-size:.7rem;white-space:nowrap}.google-calendar-travel-actions .secondary-button{border-color:#cfdbdf;background:#fff;box-shadow:none}.google-calendar-manager button:disabled,.google-calendar-travel-actions button:disabled{cursor:wait;opacity:.58}.overview-weekly-letter-heading{display:flex;min-width:0;align-items:center;gap:9px}.overview-weekly-letter-heading>span{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border-radius:10px;background:#dfeae5;color:#49665d;font-size:.68rem;font-weight:820}.overview-weekly-letter-heading h2{margin:0;color:#34443f;font-size:.72rem;letter-spacing:.055em;text-transform:uppercase}.overview-weekly-letter-heading p{margin:2px 0 0;color:#71817d;font-size:.59rem;line-height:1.25}.overview-weekly-letter-content{display:grid;min-width:0;align-items:center;grid-template-columns:minmax(0,1fr) auto;gap:8px}.overview-weekly-letter-links{display:grid;min-width:0;align-items:center;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.overview-weekly-letter-links button,.overview-weekly-letter-slot{display:inline-flex;min-height:44px;min-width:0;align-items:center;gap:7px;border:1px solid #d6dfdb;border-radius:11px;background:#fff;color:#49665d;padding:5px 9px 5px 6px;cursor:pointer;font:inherit;text-align:left}.overview-weekly-letter-slot{cursor:default}.overview-weekly-letter-links button>span:first-child,.overview-weekly-letter-slot>span:first-child{display:grid;width:23px;height:23px;flex:0 0 23px;place-items:center;border-radius:50%;background:#dfeae5;font-size:.62rem;font-weight:820}.overview-weekly-letter-button-copy{display:grid;min-width:0;gap:1px}.overview-weekly-letter-links strong{overflow:hidden;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.overview-weekly-letter-links small{color:#71817d;font-size:.56rem;white-space:nowrap}.overview-weekly-letter-links button i{color:#789388;font-size:1rem;font-style:normal}.overview-weekly-letter-links button:focus-visible,.overview-weekly-letter-links button:hover{border-color:#8ca79d;background:#eaf2ee}.overview-weekly-letter-links button.missing{border-style:dashed;background:rgba(255,255,255,.55);color:#63736e}.overview-weekly-letter-cta{margin-left:auto;color:#58736a;font-size:.59rem!important;font-weight:760;white-space:nowrap}.overview-weekly-letter-slot.loading{color:#64746f;opacity:.82}.overview-weekly-letter-slot.loading small{font-style:italic}.overview-weekly-letter-slot.error{border-color:#e2c9c3;background:#fff8f6;color:#865b52}.overview-weekly-letter-slot.error>span:first-child{background:#f2dfda}.overview-weekly-letter-slot.error small{color:#93675e}.overview-weekly-letter-tools{display:flex;flex:0 0 auto;align-items:center;gap:4px}.overview-weekly-letter-manage,.overview-weekly-letter-retry{min-height:44px;border:0;border-radius:10px;background:transparent;color:#58736a;padding:7px 9px;cursor:pointer;font:inherit;font-size:.63rem;font-weight:740}.overview-weekly-letter-manage:focus-visible,.overview-weekly-letter-manage:hover,.overview-weekly-letter-retry:focus-visible,.overview-weekly-letter-retry:hover{background:#eaf2ee;color:#344f46}.overview-weekly-letter-retry{color:#8b5a50}#vklass-weekly-letter-upload:focus-visible{outline:3px solid #8ca79d;outline-offset:4px}.overview-block{overflow:hidden;border:1px solid #d9ddd8;border-radius:18px;background:#fff}.overview-section-heading{min-height:52px;gap:12px;border-bottom:1px solid #e5e8e4;padding:12px 18px}.overview-section-heading>span{width:6px;height:26px;flex:0 0 6px;border-radius:999px;background:#789388}.overview-section-heading.tone-butter>span{background:#d5a05e}.overview-section-heading.tone-coral>span{background:#cd7563}.overview-section-heading h2{margin:0;font-size:.91rem;font-weight:790;letter-spacing:.015em;text-transform:uppercase}.overview-section-heading small{margin-left:auto;border-radius:999px;background:#fbebd3;color:#8a642d;padding:5px 9px;font-size:.64rem;font-weight:720}.overview-flagship-heading{min-height:70px}.overview-heading-copy{display:grid;min-width:0;gap:3px}.overview-heading-copy p{margin:0;color:#73807c;font-size:.7rem;line-height:1.35}.week-glance-card,.week-glance-columns{display:grid;grid-template-columns:minmax(108px,.62fr) minmax(180px,1.34fr) minmax(174px,1.2fr) minmax(154px,1.05fr) minmax(154px,1.05fr)}.week-glance-columns{background:#edf1ef;color:#6f7d79;font-size:.61rem;font-weight:770;letter-spacing:.05em;text-transform:uppercase}.week-glance-columns>span{min-width:0;border-right:1px solid #dde3df;padding:11px 13px}.week-glance-columns>span:last-child{border-right:0}.week-glance-list,.week-glance-tasks{display:grid;gap:0;margin:0;padding:0;list-style:none}.week-glance-row{min-width:0;border-bottom:1px solid #e5e8e4}.week-glance-row:last-child{border-bottom:0}.week-glance-card{min-width:0;min-height:112px}.week-glance-cell,.week-glance-day{min-width:0;border-right:1px solid #e5e8e4;padding:14px 13px}.week-glance-cell:last-child{border-right:0}.week-glance-day{position:relative;display:grid;align-content:center;gap:4px;padding-left:34px;text-transform:uppercase}.week-glance-day strong{font-size:.69rem;letter-spacing:.015em}.week-glance-day time{color:#84908c;font-size:.59rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:680}.week-glance-cell{display:grid;align-content:center;gap:7px;font-size:.73rem;line-height:1.38;overflow-wrap:anywhere}.week-glance-cell-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.week-glance-meal{font-size:.79rem}.week-glance-meal .overview-dinner-cell{min-width:0;align-items:flex-start;flex-direction:column;justify-content:center;gap:6px}.week-glance-tasks{gap:9px}.week-glance-school-transport{display:grid;grid-template-columns:max-content minmax(0,1fr);min-width:0;align-items:baseline;gap:6px;margin:0;color:#765e87;font-size:.64rem;font-weight:720;line-height:1.35}.week-glance-school-transport-detail{display:flex;flex-direction:column;min-width:0;flex-wrap:wrap;align-items:baseline;gap:2px 6px}.week-glance-school-transport .overview-meta-segment{display:inline-flex;align-items:baseline;white-space:normal;overflow-wrap:anywhere}.week-glance-school-transport .overview-meta-separator{display:none}.week-glance-task{display:grid;min-width:0;gap:5px}.week-glance-task+.week-glance-task{border-top:1px dashed #dfe5e1;padding-top:9px}.week-glance-task.done{color:#87918e}.week-glance-task.done .overview-task-content{text-decoration:line-through}.week-glance-child-group+.week-glance-child-group{margin-top:.65rem;padding-top:.65rem;border-top:1px dashed var(--line,#dce4df)}.week-glance-child-group .week-glance-tasks{display:block;list-style:disc;padding-left:1.1em;margin-top:.35rem}.week-glance-child-group .week-glance-task{display:list-item;border:0;padding:0;margin:.2em 0;page-break-inside:avoid;break-inside:avoid}.week-glance-child-group .week-glance-task::marker{color:#78958a}.week-glance-person-chips{display:flex;min-width:0;flex-wrap:wrap;gap:4px}.week-glance-person-chip{display:inline-flex;min-height:22px;max-width:100%;align-items:center;border-radius:999px;background:#edf3f0;color:#537269;padding:3px 7px;font-size:.58rem;font-weight:780;line-height:1.2;overflow-wrap:anywhere}.week-glance-empty{color:#9ba4a1;font-size:.67rem;font-style:italic}.overview-plan-dinner{color:#6a7c77;font-weight:690}.overview-secondary-schedule{margin-top:16px}.overview-secondary-summary{display:flex;min-height:64px;align-items:center;gap:12px;padding:11px 18px;cursor:pointer;list-style:none}.overview-secondary-summary::-webkit-details-marker{display:none}.overview-secondary-summary:hover{background:#f8faf8}.overview-secondary-summary:focus-visible{outline:3px solid rgba(111,145,134,.3);outline-offset:-3px}.overview-secondary-bar{width:6px;height:29px;flex:0 0 6px;border-radius:999px;background:#789388}.overview-secondary-heading{display:grid;min-width:0;gap:2px}.overview-secondary-heading strong{font-size:.8rem}.overview-secondary-heading small{color:#7a8682;font-size:.65rem}.overview-secondary-chevron{display:grid;width:34px;height:34px;margin-left:auto;place-items:center;border-radius:50%;background:#edf3f0;color:#58766d;font-size:1.1rem;transition:transform .16s ease}.overview-secondary-schedule[open] .overview-secondary-chevron{transform:rotate(180deg)}.overview-secondary-content{border-top:1px solid #e5e8e4}.day-accent{position:absolute;left:18px;width:5px;height:21px;border-radius:999px;background:#759187}.day-accent-1,.day-accent-4{background:#d4a15f}.day-accent-2{background:#cc7564}.day-accent-3{background:#718b88}.overview-dinner-cell{justify-content:space-between;gap:12px}.overview-dinner-link{display:inline-flex;min-height:44px;max-width:100%;align-items:center;gap:7px;border:0;background:transparent;color:#45645b;padding:6px 0;cursor:pointer;font:inherit;font-weight:720;line-height:1.2;text-align:left;text-decoration:underline;text-decoration-color:#a8bbb3;text-underline-offset:3px;overflow-wrap:anywhere}.overview-dinner-link:hover{color:#284b42;text-decoration-color:currentColor}.overview-dinner-link:focus-visible{border-radius:8px;outline:3px solid rgba(111,145,134,.3);outline-offset:2px}.overview-link-icon{flex:0 0 auto;color:#6f8d84;font-size:.78em;text-decoration:none}.overview-placeholder{color:#9ba4a1;font-style:italic}.collision-warning{display:inline-flex;min-height:28px;flex:0 0 auto;align-items:center;gap:6px;border:1px solid #e6c991;border-radius:999px;background:#fbefd7;color:#785b28;padding:4px 9px 4px 5px;font-size:.65rem;font-weight:730}.collision-warning>span{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;background:#d4a15f;color:#fff;font-size:.7rem}.overview-grid{display:grid;gap:16px;margin-top:16px}.overview-grid-top{grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr)}.overview-snack-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:16px 18px 18px}.overview-snack-grid>div{display:flex;min-height:36px;align-items:center;gap:8px;border-radius:10px;background:#f7eddc;padding:7px 10px;font-size:.78rem}.overview-snack-grid>div.cool{background:#ebf1ef}.overview-snack-grid>div>span{display:grid;width:16px;height:16px;flex:0 0 16px;place-items:center;border:1px solid;border-radius:50%;color:#b48650;font-size:.58rem}.overview-snack-grid>div.cool>span{color:#648379}.overview-empty{margin:0;padding:20px 18px;color:#8d9794;font-size:.78rem;font-style:italic}.overview-checklist{display:grid;gap:0;margin:0;padding:8px 18px 4px;list-style:none}.overview-checklist li{display:flex;min-height:33px;align-items:center;gap:9px;border-bottom:1px solid #eceeeb;font-size:.76rem}.overview-checklist li>span{display:grid;width:14px;height:14px;flex:0 0 14px;place-items:center;border:1px solid #cf806f;border-radius:4px;font-size:.55rem}.overview-checklist .overview-empty-row{color:#77817f}.overview-checklist .overview-empty-row>span{border-color:#789388;background:#e8efec;color:#59776c}.overview-day-chip{display:inline-flex;min-height:26px;align-items:center;justify-content:center;border-radius:999px;background:#edf2f0;color:#5e7770;font-size:.63rem;font-weight:790;text-transform:uppercase}.overview-people-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}.overview-person-card{min-width:0;border:1px solid #e2e7e3;border-radius:14px;background:#fbfcfb;overflow:hidden}.overview-person-heading{display:flex;align-items:center;gap:9px;border-bottom:1px solid #e5e9e6;padding:10px 12px}.overview-person-heading h3{margin:0;font-size:.78rem}.overview-person-heading>span{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#e5eeea;color:#54736a;font-size:.68rem}.overview-agenda-events,.overview-person-days,.overview-shared-schedule ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.overview-person-day{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:10px;min-height:49px;border-bottom:1px solid #edf0ed;padding:8px 10px;font-size:.72rem;line-height:1.4}.overview-person-day:last-child{border-bottom:0}.overview-schedule-date{display:grid;justify-items:stretch;gap:2px}.overview-schedule-date small{color:#89938f;font-size:.58rem;text-align:center}.overview-agenda-events{gap:7px}.overview-agenda-events>li{min-width:0}.overview-agenda-events>li+li{border-top:1px dashed #e1e7e3;padding-top:7px}.overview-agenda-events>li.done .overview-task-content{color:#87918e;text-decoration:line-through}.overview-day-empty{align-self:center;color:#9ba4a1;font-size:.68rem;font-style:italic}.overview-task-content{display:grid;min-width:0;gap:3px}.overview-task-primary{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:5px 7px}.overview-task-title{min-width:0;overflow-wrap:anywhere}.overview-task-sport{color:#263a35;font-weight:800}.overview-task-time{display:inline-flex;align-items:baseline;gap:1px;padding:2px 7px;border-radius:999px;background:#e9f0ed;color:#4f6e65;font-size:.66rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:750;line-height:1.3;white-space:nowrap}.overview-task-detail{color:#73807c}.overview-task-detail,.overview-task-transport{display:block;font-size:.64rem;line-height:1.35;overflow-wrap:anywhere}.overview-task-transport{color:#765e87;font-weight:720}.overview-person-card .overview-day-chip{min-height:22px;padding-inline:7px}.overview-shared-schedule{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;margin:0 14px 14px;border:1px solid #e2e7e3;border-radius:12px;background:#f7faf8;padding:10px 12px}.overview-shared-schedule>strong{color:#54736a;font-size:.7rem}.overview-shared-schedule ul{gap:7px}.overview-shared-schedule li{display:grid;grid-template-columns:45px minmax(0,1fr);gap:9px;font-size:.7rem}.overview-weekend{margin-top:16px}.overview-weekend-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.overview-weekend-grid>div{min-height:108px;border-right:1px solid #e5e8e4;padding:15px 18px}.overview-weekend-grid>div:last-child{border-right:0}.overview-weekend-grid strong{color:#657772;font-size:.65rem;letter-spacing:.05em;text-transform:uppercase}.overview-weekend-grid p{margin:7px 0 0;white-space:pre-line;font-size:.77rem}.overview-footer{justify-content:space-between;gap:18px;margin-top:22px;border-top:1px solid #dce0dc;padding-top:10px;color:#808b88;font-size:.56rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.overview-footer .collision-check-ready{color:#5d7c71}@keyframes panel-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.section-heading{justify-content:space-between;gap:24px;margin-bottom:24px}.count-pill,.date-pill,.source-badge{display:inline-flex;min-height:30px;align-items:center;border-radius:999px;background:var(--paper-deep);color:var(--ink-soft);padding:6px 11px;font-size:.7rem;font-weight:690;white-space:nowrap}.day-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(255,253,248,.6);padding:10px;box-shadow:var(--shadow-sm)}.day-strip button{position:relative;display:flex;min-height:77px;flex-direction:column;align-items:center;justify-content:center;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--ink-soft);cursor:pointer}.day-strip button span{font-size:.7rem;font-weight:720;letter-spacing:.06em;text-transform:uppercase}.day-strip button strong{font-size:1.45rem}.day-strip button i{position:absolute;right:9px;bottom:9px;width:6px;height:6px;border-radius:50%;background:var(--line)}.day-strip button i.complete{background:#60986d;box-shadow:0 0 0 3px rgba(96,152,109,.12)}.day-strip button.active{border-color:var(--ink);background:var(--ink);color:white;box-shadow:0 8px 20px rgba(36,49,46,.16)}.day-title-row{justify-content:space-between;margin:30px 0 16px}.day-title-row h3{font-size:1.35rem;text-transform:capitalize}.day-title-row p{margin:3px 0 0;color:var(--ink-soft);font-size:.82rem}.planning-heading{align-items:flex-end}.planning-heading-actions,.planning-view-switch,.weekly-plan-day,.weekly-plan-details,.weekly-planner-intro,.weekly-planner-intro>div{display:flex;align-items:center}.planning-heading-actions{justify-content:flex-end;gap:10px}.planning-view-switch{gap:4px;border:1px solid var(--line);border-radius:14px;background:rgba(255,253,248,.7);padding:4px;box-shadow:var(--shadow-sm)}.planning-view-switch button{min-height:42px;border-radius:10px;background:transparent;color:var(--ink-soft);padding:8px 14px;cursor:pointer;font-size:.76rem;font-weight:720;white-space:nowrap}.planning-view-switch button.active{background:var(--ink);color:white;box-shadow:0 4px 10px rgba(36,49,46,.14)}.weekly-planner-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.weekly-planner-intro{justify-content:space-between;gap:24px;padding:20px}.weekly-planner-intro>div{gap:11px}.weekly-planner-intro .eyebrow{margin-bottom:2px;font-size:.62rem}.weekly-planner-intro>p{max-width:330px;margin:0;color:var(--ink-soft);font-size:.78rem;text-align:right}.weekly-planner-list{border-top:1px solid var(--line)}.weekly-plan-row{display:grid;grid-template-columns:108px minmax(150px,1fr) minmax(118px,.72fr) minmax(118px,.72fr) minmax(140px,.8fr) auto;align-items:end;gap:10px;padding:16px 18px}.weekly-plan-row+.weekly-plan-row{border-top:1px solid var(--line-soft)}.weekly-plan-day{align-self:center;gap:10px;text-transform:capitalize}.weekly-plan-day>span{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:13px;background:var(--sage-soft);color:#477059;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.weekly-plan-day>div{display:flex;min-width:0;flex-direction:column}.weekly-plan-day strong{font-size:.84rem}.weekly-plan-day small{color:var(--ink-soft);font-size:.68rem}.weekly-plan-row label>span{display:block;min-height:18px;margin:0 0 5px;color:var(--ink-soft);font-size:.66rem;font-weight:680;white-space:nowrap}.weekly-plan-row label>span strong{color:var(--ink)}.weekly-plan-row input,.weekly-plan-row select{min-height:44px;padding:9px 10px;font-size:.78rem}.weekly-plan-marta-sports{display:grid;grid-column:2/-1;gap:8px}.weekly-plan-adults{grid-column:2/-1}.adult-plans-editor{display:grid;min-width:0;gap:10px}.adult-plans-editor-compact{border:1px solid #d6e3dd;border-radius:14px;background:linear-gradient(135deg,#f8fbf9,var(--sage-soft));padding:11px 12px}.adult-plan-actions,.adult-plans-heading,.adult-plans-heading>div,.adult-plans-list li{display:flex;align-items:center}.adult-plans-heading{min-width:0;justify-content:space-between;gap:12px}.adult-plans-heading>div{min-width:0;gap:9px}.adult-plans-heading>div>div{display:flex;min-width:0;flex-direction:column}.adult-plans-heading strong{font-size:.78rem}.adult-plans-heading small,.adult-plans-heading>span{color:var(--ink-soft);font-size:.66rem}.adult-plans-heading>span{white-space:nowrap}.adult-plans-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;background:rgba(255,255,255,.78);color:#477059;font-size:.68rem;font-weight:800}.adult-plans-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.adult-plans-list li{min-width:0;gap:8px;border-radius:10px;background:rgba(255,255,255,.7);padding:6px 8px}.adult-plan-person,.adult-plan-time{flex:0 0 auto;border-radius:999px;background:#e5efea;padding:4px 8px;color:#4e6d63;font-size:.64rem;font-weight:750}.adult-plan-time{display:inline-flex;align-items:center;gap:2px;background:white;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adult-plan-title{min-width:0;flex:1 1;overflow-wrap:anywhere;font-size:.75rem;font-weight:650}.adult-plan-actions{flex:0 0 auto;gap:4px}.adult-plan-actions .text-button,.adult-plan-cancel{min-height:44px;padding:8px}.adult-plan-actions .text-button.danger{width:auto;padding:8px 10px;font-size:.8rem;white-space:nowrap}.adult-plan-form{display:grid;grid-template-columns:minmax(120px,.55fr) repeat(2,minmax(105px,.42fr)) minmax(180px,1.6fr) auto auto;align-items:end;gap:8px}.adult-plan-form label{min-width:0}.adult-plan-form label>span{display:block;margin:0 0 5px;color:var(--ink-soft);font-size:.66rem;font-weight:680}.adult-plan-form label>span small{font:inherit;font-weight:500}.adult-plan-form input,.adult-plan-form select,.adult-plan-submit{width:100%;min-height:44px}.adult-plan-submit{white-space:nowrap}.adult-plan-error,.adult-plan-limit{margin:0;color:var(--coral-dark);font-size:.7rem}.adult-plans-card{grid-column:1/-1}.adult-plans-editor-card .adult-plans-heading{padding-bottom:4px}.weekly-plan-marta-sport{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.72fr) minmax(150px,.72fr);align-items:end;gap:10px;border:1px solid #d7cce2;border-radius:14px;background:linear-gradient(135deg,#f7f3fa,var(--lilac-soft));padding:11px 12px}.marta-sport-heading,.weekly-plan-marta-heading{display:flex;min-width:0;align-items:center;gap:10px}.marta-sport-heading>span,.weekly-plan-marta-heading>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:12px;background:rgba(255,255,255,.72);color:#755d8d;font-size:.68rem;font-weight:800}.marta-sport-heading>div,.weekly-plan-marta-heading>div{display:flex;min-width:0;flex-direction:column}.marta-sport-heading h4,.marta-sport-heading strong,.weekly-plan-marta-heading h4,.weekly-plan-marta-heading strong{margin:0;font-size:.76rem}.marta-sport-heading small,.weekly-plan-marta-heading small{color:var(--ink-soft);font-size:.66rem;line-height:1.35}.weekly-plan-details{min-height:44px;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:11px;background:var(--surface-strong);padding:8px 11px;color:var(--ink-soft);cursor:pointer;font-size:.73rem;font-weight:720;white-space:nowrap}.weekly-plan-details span{font-size:1rem;line-height:1}.weekly-plan-warning{grid-column:2/-1;margin:0;border-radius:9px;background:var(--butter-soft);padding:7px 10px;color:#705a20;font-size:.7rem}.food-summary-grid,.form-grid.two,.planner-grid,.recipe-grid,.weekend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel-card,.recipe-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.panel-card{padding:20px}.card-heading{min-height:42px;gap:11px;margin-bottom:18px}.card-heading>div:nth-child(2){min-width:0;flex:1 1}.card-heading .eyebrow{margin-bottom:2px;font-size:.62rem}.card-icon{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:13px;font-size:.78rem;font-weight:800}.card-icon.sage{background:var(--sage-soft);color:#477059}.card-icon.coral{background:var(--coral-soft);color:var(--coral-dark)}.card-icon.butter{background:var(--butter-soft);color:#876716}.card-icon.blue{background:var(--blue-soft);color:#426d84}.card-icon.lilac{background:var(--lilac-soft);color:#755d8d}.card-icon.ink{background:var(--ink);color:white}.field-label,.football-row label>span,.form-grid label>span,.marta-sport-row label>span,.transport-grid label>span{display:block;margin:12px 0 6px;color:var(--ink-soft);font-size:.72rem;font-weight:680}.empty-copy,.helper-copy{color:var(--ink-soft);font-size:.82rem}.empty-copy{margin-bottom:0;font-style:italic}.food-warning{margin:16px 0 0;border-radius:10px;background:var(--butter-soft);padding:9px 11px;color:#705a20;font-size:.76rem}.dinner-card,.logistics-card,.shopping-card,.tasks-card{grid-column:span 2}.primary-button,.secondary-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;border-radius:13px;padding:10px 16px;cursor:pointer;font-size:.82rem;font-weight:720;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}.primary-button{border:1px solid var(--ink);background:var(--ink);color:white;box-shadow:0 7px 18px rgba(36,49,46,.18)}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.6}.secondary-button{border:1px solid var(--line);background:var(--surface-strong)}.secondary-button.full{width:100%;margin-top:10px}.grocery-list,.task-list{display:grid;gap:8px}.grocery-row,.task-row{display:grid;grid-template-columns:34px 1fr auto;min-height:50px;align-items:center;gap:8px;border:1px solid var(--line-soft);border-radius:12px;background:#fffefa;padding:6px 8px}.task-row>div{display:flex;min-width:0;flex-direction:column}.grocery-row small,.task-row small{color:var(--ink-soft);font-size:.66rem;text-transform:capitalize}.grocery-row strong,.task-row strong{overflow:hidden;font-size:.84rem;text-overflow:ellipsis}.grocery-row.done strong,.task-row.done strong{color:var(--ink-soft);text-decoration:line-through}.check-control{display:grid;width:34px;height:34px;place-items:center;cursor:pointer}.check-control input,.ica-confirm input,.snack-option input{position:absolute;width:1px;height:1px;opacity:0}.check-control span{display:grid;width:21px;height:21px;place-items:center;border:1px solid var(--line);border-radius:7px;background:white}.check-control .sr-only{border:0;background:transparent}.check-control input:checked+span{border-color:var(--sage);background:var(--sage)}.check-control input:checked+span:after{color:white;content:"✓";font-size:.72rem;font-weight:800}.text-button{min-height:44px;border-radius:10px;background:transparent;color:var(--ink-soft);padding:7px 10px;cursor:pointer;font-size:.8rem;font-weight:680}.text-button.danger{width:38px;padding:0;color:#a0594b;font-size:1.15rem}.inline-form{gap:8px;margin-top:12px}.inline-form input{flex:1 1}.task-form{display:grid;grid-template-columns:132px 1fr 44px}.transport-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.logistics-subheading{margin:0 0 2px;color:var(--ink-soft);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.football-row{display:grid;grid-template-columns:1fr minmax(190px,.7fr);align-items:end;gap:18px;margin-top:18px;border:1px solid #cbd9c8;border-radius:14px;background:#eef4eb;padding:14px}.football-row>div{display:flex;flex-direction:column}.football-row small{color:var(--ink-soft);font-size:.72rem}.marta-sport-row{display:grid;grid-template-columns:minmax(170px,1fr) repeat(2,minmax(125px,.75fr));align-items:end;gap:12px;margin-top:12px;border:1px solid #d7cce2;border-radius:14px;background:linear-gradient(135deg,#f7f3fa,var(--lilac-soft));padding:14px}.calendar-card,.integration-card,.recipe-form-card{margin-top:16px}.integration-card{border-color:#c9c2b8;background:linear-gradient(145deg,#fffdf8,#f2ede5)}.vklass-upload{display:grid;grid-template-columns:1fr auto;gap:9px}.vklass-upload>label{grid-column:1/-1;color:var(--ink-soft);font-size:.72rem;font-weight:680}.vklass-week-detection-copy{grid-column:1/-1;margin-top:-5px;color:var(--ink-soft);font-size:.66rem;line-height:1.45}.vklass-child-field{display:grid;align-items:center;grid-column:1/-1;grid-template-columns:auto minmax(130px,190px);gap:5px 12px;border-radius:12px;background:rgb(255 255 255/58%);padding:10px 12px}.vklass-child-field label{color:var(--ink);font-size:.74rem;font-weight:720}.vklass-child-field select{min-height:44px}.vklass-child-field small{grid-column:1/-1;color:var(--ink-soft);font-size:.66rem}.vklass-letter-status{display:flex;min-height:48px;align-items:center;justify-content:space-between;grid-column:1/-1;gap:12px;border:1px dashed #d6d0c5;border-radius:12px;background:rgb(255 255 255/42%);padding:9px 12px;color:var(--ink-soft);font-size:.7rem}.vklass-letter-status.ready{border-style:solid;border-color:#c8d8d1;background:#edf4f1}.vklass-letter-status>span{display:grid;gap:2px}.vklass-letter-status strong{color:var(--ink)}.vklass-letter-status small{color:var(--ink-soft);font-size:.64rem}.vklass-letter-status .text-button{min-height:44px;flex:0 0 auto}.pdf-file-input{min-height:52px;padding:5px 7px;cursor:pointer}.pdf-file-input::file-selector-button{min-height:40px;margin-right:10px;border:0;border-radius:9px;background:var(--ink);color:#fff;padding:8px 12px;cursor:pointer;font:inherit;font-size:.74rem;font-weight:720}.vklass-upload .secondary-button:disabled{cursor:not-allowed;opacity:.5}.vklass-import-progress{grid-column:1/-1;margin:0;color:var(--ink-soft);font-size:.7rem}.selected-file{display:flex;align-items:center;grid-column:1/-1;gap:9px;margin:2px 0 0;border-radius:11px;background:var(--sage-soft);padding:8px 10px;color:var(--ink-soft);font-size:.72rem}.selected-file>span{border-radius:6px;background:var(--sage);color:#fff;padding:4px 6px;font-size:.58rem;font-weight:800}.selected-file strong{min-width:0;flex:1 1;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap}.selected-file small{flex:0 0 auto}.source-link{min-height:38px;color:var(--coral-dark);font-size:.75rem;font-weight:710}.card-actions{justify-content:space-between;gap:18px;margin-top:12px}.card-actions span{color:var(--ink-soft);font-size:.72rem}.card-actions.right{justify-content:flex-end}.food-summary-grid{align-items:start}.weekly-recipe-card{margin-bottom:16px}.weekly-recipe-card .helper-copy{max-width:760px}.weekly-recipe-list{display:grid;gap:9px;margin-top:16px}.weekly-recipe-row{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:12px;border:1px solid var(--line-soft);border-radius:14px;background:#fffefa;padding:14px}.weekly-recipe-day{display:flex;flex-direction:column;padding-left:4px}.weekly-recipe-day strong{font-size:.82rem;text-transform:capitalize}.weekly-recipe-day small,.weekly-recipe-meta{color:var(--ink-soft);font-size:.68rem}.weekly-recipe-fields{display:grid;min-width:0;grid-template-columns:minmax(150px,.75fr) auto minmax(220px,1.25fr) auto;align-items:end;gap:9px}.recipe-link-field,.weekly-recipe-fields label{min-width:0}.recipe-field-label{display:block;margin:0 0 5px 2px;color:var(--ink-soft);font-size:.68rem;font-weight:720}.recipe-input-mode,.recipe-photo-field{min-width:0}.recipe-mode-buttons{display:inline-grid;grid-template-columns:repeat(2,1fr);overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.recipe-mode-buttons button{min-width:60px;min-height:46px;border:0;border-right:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;font:inherit;font-size:.75rem;font-weight:750}.recipe-mode-buttons button:last-child{border-right:0}.recipe-mode-buttons button.active{background:var(--sage-soft);color:#3a665b}.recipe-mode-buttons button:focus-visible,.recipe-photo-field input.sr-only:focus-visible+label{position:relative;z-index:1;outline:3px solid rgba(58,102,91,.24);outline-offset:-3px}.recipe-mode-buttons button:disabled,.recipe-photo-actions label[aria-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}.recipe-drop-field input{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.recipe-drop-field.dragging input{border-color:var(--coral);background:var(--coral-soft);box-shadow:0 0 0 4px rgba(233,123,97,.14)}.weekly-recipe-meta{display:flex;grid-column:2;align-items:center;justify-content:space-between;gap:12px}.weekly-recipe-meta a{display:inline-flex;min-height:44px;align-items:center;color:var(--coral-dark);font-weight:720}.recipe-import-button{min-height:46px;white-space:nowrap}.recipe-photo-field{grid-column:3/5}.recipe-photo-actions{display:flex;min-height:46px;align-items:stretch;gap:8px}.photo-library-button,.photo-picker-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;cursor:pointer}.photo-picker-button{flex:1 1 150px}.photo-library-button{flex:0 0 auto;padding:0 12px}.photo-picker-help{display:block;margin-top:6px;color:var(--ink-soft);font-size:.64rem;line-height:1.4}.photo-ocr-progress{display:grid;grid-template-columns:minmax(90px,1fr) auto;align-items:center;gap:9px;margin-top:8px;color:var(--ink-soft);font-size:.68rem;font-weight:650}.photo-ocr-progress progress{width:100%;accent-color:var(--sage)}.photo-recipe-review{display:grid;grid-column:2;gap:13px;border:1px solid rgba(58,102,91,.26);border-radius:13px;background:var(--sage-soft);padding:15px}.photo-review-actions,.photo-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.photo-review-heading h4{margin:2px 0 0;font-size:.9rem}.confidence-badge{flex:0 0 auto;border-radius:999px;background:#fff;padding:6px 9px;color:#3a665b;font-size:.65rem;font-weight:760}.confidence-badge.low{color:var(--coral-dark)}.confidence-badge.medium{color:#8b641e}.photo-review-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.photo-review-fields label{display:grid;gap:6px;color:var(--ink-soft);font-size:.72rem;font-weight:720}.photo-review-fields label:first-child{grid-column:1/-1}.photo-review-fields textarea{min-height:150px;resize:vertical}.photo-review-warnings{border-radius:10px;background:rgba(255,255,255,.72);padding:10px 12px;color:var(--ink-soft);font-size:.7rem}.photo-review-warnings ul{margin:5px 0 0;padding-left:18px}.photo-privacy-note{margin:0;color:var(--ink-soft);font-size:.68rem}.photo-review-actions{justify-content:flex-end}.food-summary-grid .grocery-card,.food-summary-grid .snack-card{grid-column:1/-1}.snack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.snack-option{display:flex;min-height:48px;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:9px 11px;cursor:pointer;font-size:.82rem;font-weight:620}.snack-option>span{display:grid;width:23px;height:23px;flex:0 0 23px;place-items:center;border-radius:8px;background:var(--paper-deep);font-size:.72rem}.snack-option.selected{border-color:var(--sage);background:var(--sage-soft)}.snack-option.selected>span{background:var(--sage);color:white}.count-pill{justify-content:center;min-width:30px;padding-inline:9px}.grocery-row{grid-template-columns:minmax(0,1fr) minmax(146px,auto) 34px}.grocery-copy{display:flex;min-width:0;flex-direction:column}.grocery-status select{min-height:44px;padding:7px 30px 7px 9px;font-size:.72rem}.grocery-row .text-button.danger{min-width:44px;min-height:44px}.ica-handoff{display:grid;gap:10px;margin-top:16px;border:1px solid var(--line);border-radius:14px;background:var(--paper-deep);padding:14px}.ica-handoff>div:first-child{display:flex;flex-direction:column}.ica-handoff p,.ica-handoff small{color:var(--ink-soft);font-size:.7rem}.ica-handoff p{margin-bottom:0}.ica-handoff-actions{display:flex;flex-wrap:wrap;gap:8px}.ica-handoff-actions .primary-button,.ica-handoff-actions .secondary-button{flex:1 1;justify-content:center;text-align:center}.ica-confirm{display:flex;min-height:74px;align-items:center;gap:12px;margin-top:16px;border:1px dashed #c9b46f;border-radius:14px;background:var(--butter-soft);padding:13px;cursor:pointer}.ica-confirm.confirmed{border-style:solid;border-color:var(--sage);background:var(--sage-soft)}.big-check{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;border:1px solid rgba(36,49,46,.18);border-radius:10px;background:rgba(255,255,255,.55);font-weight:800}.ica-confirm input:focus-visible+.big-check{border-color:var(--coral);box-shadow:0 0 0 4px rgba(233,123,97,.18)}.ica-confirm>div{display:flex;flex-direction:column}.ica-confirm small{color:var(--ink-soft);font-size:.72rem}.weekend-sun{display:grid;width:70px;height:70px;place-items:center;border-radius:50%;background:var(--butter-soft);color:#bd8e1c;font-size:2rem}.weekend-card.together{grid-column:span 2}.calendar-integration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.google-calendar-travel-settings{display:grid;align-content:start;grid-template-columns:minmax(0,1fr) auto;gap:16px 20px;background:linear-gradient(135deg,#f4fafc,#fffdf8);padding:24px;box-shadow:var(--shadow-sm)}.google-calendar-travel-settings .google-calendar-travel-content{grid-column:1/-1}.google-calendar-travel-settings .google-calendar-travel-items{grid-template-columns:minmax(0,1fr)}.google-calendar-travel-settings .google-calendar-travel-actions{grid-column:1/-1;justify-content:flex-start}.google-calendar-travel-settings .google-calendar-travel-heading h2{font-size:1.12rem}.google-calendar-travel-settings .google-calendar-travel-status{font-size:.78rem}.calendar-card{justify-content:space-between;gap:24px;border-color:#2f433f;background:var(--ink);color:white;padding:24px}.calendar-integration-grid .calendar-card{margin:0}.calendar-export-card{align-items:flex-start;flex-direction:column}.calendar-card>div{max-width:650px}.calendar-card .eyebrow{color:#d7c48e}.calendar-card p{margin-bottom:0;color:rgba(255,255,255,.68)}.calendar-card .primary-button{flex:0 0 auto;border-color:white;background:white;color:var(--ink)}.recipe-heading .primary-button{flex:0 0 auto}.form-grid label{min-width:0}.form-grid .form-grid-full{grid-column:1/-1}.recipe-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.recipe-toolbar>span{color:var(--ink-soft);font-size:.78rem}.search-field{position:relative;display:flex;max-width:420px;flex:1 1;align-items:center}.search-field>span{position:absolute;left:14px;color:var(--ink-soft);font-size:1.1rem}.search-field input{padding-left:40px}.recipe-card{display:grid;grid-template-columns:100px 1fr;min-height:250px;overflow:hidden}.recipe-color{display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.45),transparent 42%),var(--coral-soft)}.recipe-card:nth-child(3n+2) .recipe-color{background-color:var(--sage-soft)}.recipe-card:nth-child(3n+3) .recipe-color{background-color:var(--butter-soft)}.recipe-color span{display:grid;width:54px;height:54px;place-items:center;border-radius:18px;background:rgba(255,255,255,.65);font-size:1.6rem;font-weight:780}.recipe-color.has-photo{background:#eef1ef}.recipe-color img{width:100%;height:100%;object-fit:cover}.recipe-card-actions{display:flex;flex:0 0 auto;align-items:center;gap:2px}.recipe-delete-button{color:#a0594b}.recipe-empty-state{grid-column:1/-1;border:1px dashed #cfd8d3;border-radius:18px;background:#fafcfb;padding:34px 24px;text-align:center}.recipe-empty-state p{max-width:440px;margin:7px auto 0;color:var(--ink-soft);font-size:.82rem}.recipe-body{display:flex;min-width:0;flex-direction:column;padding:18px}.recipe-topline{align-items:flex-start;justify-content:space-between;gap:8px}.recipe-topline h3{margin-bottom:5px}.recipe-topline p{font-size:.78rem}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.recipe-links{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:10px}.recipe-ingredients{color:var(--ink-soft);font-size:.7rem}.recipe-ingredients summary{cursor:pointer;font-weight:700}.recipe-ingredients ul{margin:7px 0 0;padding-left:18px}.recipe-source-link{color:var(--coral-dark);font-size:.7rem;font-weight:720;text-align:right}.tag-row span{border-radius:999px;background:var(--paper-deep);padding:4px 8px;color:var(--ink-soft);font-size:.65rem;font-weight:650}.recipe-history{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:auto;padding-top:16px}.recipe-history>div{display:flex;flex-direction:column}.recipe-history strong{font-size:.84rem}.recipe-history small{color:var(--ink-soft);font-size:.61rem}.rating-row{justify-content:flex-end;gap:6px;margin-top:12px;border-top:1px solid var(--line-soft);padding-top:10px}.rating-row span{margin-right:auto;color:var(--ink-soft);font-size:.7rem}.rating-row button{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:12px;background:white;cursor:pointer}.loading-state{display:grid;width:min(500px,calc(100% - 40px));min-height:260px;margin:60px auto;place-items:center;align-content:center;gap:16px;color:var(--ink-soft)}.loading-pulse{width:60px;height:60px;border-radius:18px;background:var(--coral-soft);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{50%{transform:scale(.82);opacity:.48}}.save-dock{position:fixed;z-index:40;right:50%;bottom:max(14px,env(safe-area-inset-bottom));justify-content:space-between;width:min(570px,calc(100% - 28px));gap:24px;border:1px solid rgba(36,49,46,.15);border-radius:20px;background:rgba(255,253,248,.93);padding:9px 9px 9px 15px;box-shadow:var(--shadow-md);transform:translateX(50%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.save-dock>div{min-width:0;gap:10px}.save-dock p{margin:0}.save-dock strong{font-size:.78rem}.save-indicator{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--butter);box-shadow:0 0 0 4px var(--butter-soft)}.save-indicator.saved{background:#60986d;box-shadow:0 0 0 4px var(--sage-soft)}.save-indicator.error{background:var(--coral-dark);box-shadow:0 0 0 4px var(--coral-soft)}.weekly-letter-dialog{width:min(720px,calc(100% - 32px));max-width:none;max-height:min(90dvh,920px);margin:auto;overflow:hidden;border:0;border-radius:24px;background:transparent;padding:0;box-shadow:0 30px 90px rgb(24 34 31/30%)}.weekly-letter-dialog::backdrop{background:rgb(31 42 39/55%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.google-calendar-dialog{width:min(680px,calc(100% - 32px));max-width:none;max-height:min(90dvh,860px);margin:auto;overflow:hidden;border:0;border-radius:24px;background:transparent;padding:0;box-shadow:0 30px 90px rgb(24 34 31/30%)}.google-calendar-dialog::backdrop{background:rgb(31 42 39/55%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.google-calendar-manager{display:flex;max-height:min(90dvh,860px);flex-direction:column;overflow:hidden;border:1px solid #d6dfe3;border-radius:24px;background:#fffdfa}.google-calendar-manager-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #dce4e7;background:linear-gradient(135deg,#f4fafc,#f4eee4);padding:22px 24px 18px}.google-calendar-manager-header h2{margin:3px 0 5px;font-size:clamp(1.35rem,4vw,1.9rem)}.google-calendar-manager-header p:last-child{max-width:500px;margin:0;color:var(--ink-soft);font-size:.75rem}.google-calendar-dialog-close{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:1px solid #d4dde1;border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;font-size:1.45rem}.google-calendar-manager-body{overflow-y:auto;overscroll-behavior:contain;padding:20px 24px 24px}.google-calendar-candidate-flags,.google-calendar-manager-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.google-calendar-manager-meta{margin-bottom:16px;color:var(--ink-soft);font-size:.66rem}.google-calendar-candidate-flags small,.google-calendar-manager-meta span{border-radius:999px;background:#e8f1f4;padding:5px 8px}.google-calendar-candidates{display:grid;gap:9px}.google-calendar-candidates li{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:11px;border:1px solid #dce4e7;border-radius:13px;background:#fff;padding:12px}.google-calendar-candidates input[type=checkbox]{width:22px;min-height:22px;margin:2px 0 0;accent-color:#52798a}.google-calendar-candidates label{display:flex;min-width:0;min-height:44px;align-items:flex-start;justify-content:space-between;gap:12px;cursor:pointer}.google-calendar-candidates label>span:first-child{display:grid;min-width:0;gap:2px}.google-calendar-candidates label strong{overflow-wrap:anywhere;font-size:.82rem}.google-calendar-candidates label small{color:var(--ink-soft);font-size:.68rem}.google-calendar-candidate-flags{flex:0 0 auto;justify-content:flex-end}.google-calendar-candidate-flags small{color:#56737f!important;font-size:.59rem!important;font-weight:720;white-space:nowrap}.google-calendar-candidate-empty{margin:0;border-radius:13px;background:#f1f6f7;padding:16px;color:var(--ink-soft);font-size:.78rem}.google-calendar-disconnect{margin-top:22px;border-top:1px solid #e3e7e5;padding-top:12px}.google-calendar-disconnect summary{display:flex;min-height:44px;align-items:center;width:fit-content;color:#956052;cursor:pointer;font-size:.72rem;font-weight:700}.google-calendar-disconnect>div{display:flex;align-items:center;justify-content:space-between;gap:16px;border-radius:11px;background:#fff1ed;padding:11px 12px}.google-calendar-disconnect p{margin:0;color:#7f5c53;font-size:.7rem}.google-calendar-disconnect button{min-height:44px;flex:0 0 auto;border:1px solid #d5a79c;border-radius:11px;background:#fff;padding:8px 12px;color:#944f3f;cursor:pointer;font-size:.7rem;font-weight:720}.google-calendar-manager-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e1e6e4;background:#fafbf9;padding:14px 24px max(14px,env(safe-area-inset-bottom))}.google-calendar-manager-footer>span{color:var(--ink-soft);font-size:.68rem}.weekly-letter-reader{display:flex;max-height:min(90dvh,920px);flex-direction:column;overflow:hidden;border:1px solid #d6dcd8;border-radius:24px;background:#fffdfa}.weekly-letter-reader-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid #e1e5e1;background:linear-gradient(135deg,#f8faf8,#f4eee4);padding:22px 24px 18px}.weekly-letter-reader-header h2{margin:3px 0 5px;font-size:clamp(1.35rem,4vw,1.9rem)}.weekly-letter-reader-header p:last-child{margin:0;color:var(--ink-soft);font-size:.72rem}.weekly-letter-close{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border:1px solid #d4dad6;border-radius:50%;background:#fff;color:var(--ink);cursor:pointer;font:inherit;font-size:1.45rem}.weekly-letter-error,.weekly-letter-loading,.weekly-letter-reader-body{overflow-y:auto;overscroll-behavior:contain;padding:22px 24px 28px}.weekly-letter-error,.weekly-letter-loading{display:grid;min-height:220px;place-content:center;justify-items:center;gap:12px;text-align:center}.weekly-letter-loading>span{width:34px;height:34px;border:3px solid #d7e2dd;border-top-color:#658477;border-radius:50%;animation:weekly-letter-spin .7s linear infinite}@keyframes weekly-letter-spin{to{transform:rotate(1turn)}}.weekly-letter-error p{max-width:420px;margin:-4px 0 4px;color:var(--ink-soft)}.weekly-letter-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:18px;color:var(--ink-soft);font-size:.66rem}.weekly-letter-meta span,.weekly-letter-meta time{border-radius:999px;background:#edf3f0;padding:6px 9px}.weekly-letter-full-text,.weekly-letter-important{border:1px solid #dce2de;border-radius:16px;background:#fff;padding:17px}.weekly-letter-full-text h3,.weekly-letter-important h3{margin:3px 0 13px;font-size:1rem}.weekly-letter-important ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.weekly-letter-important li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px;border-radius:11px;background:#f3f7f5;padding:10px}.weekly-letter-important li>time{align-self:start;border-radius:999px;background:#dfeae5;padding:5px 7px;color:#557269;font-size:.63rem;font-weight:800;text-align:center;text-transform:uppercase}.weekly-letter-important li>span{display:grid;gap:2px}.weekly-letter-important li small{color:var(--ink-soft);font-size:.6rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}.weekly-letter-important li strong{font-size:.76rem;line-height:1.4}.weekly-letter-empty{margin:0;color:var(--ink-soft);font-size:.76rem}.weekly-letter-warnings{margin-top:12px;border:1px solid #ead6ae;border-radius:14px;background:#fff7e8;padding:12px 14px;color:#725e35;font-size:.72rem}.weekly-letter-warnings ul{margin:6px 0 0;padding-left:18px}.weekly-letter-full-text{margin-top:16px}.weekly-letter-full-text>div{max-width:72ch;color:#33423e;font-size:.82rem;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.weekly-letter-truncated{border-radius:10px;background:#fff3dc;padding:9px 11px;color:#725e35;font-size:.7rem}.toast{position:fixed;z-index:60;top:max(18px,env(safe-area-inset-top));left:50%;max-width:calc(100% - 28px);border-radius:999px;background:var(--ink);color:white;padding:11px 17px;box-shadow:var(--shadow-md);transform:translateX(-50%);animation:toast-in .22s ease both;font-size:.8rem;font-weight:650}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-8px)}}.access-page{display:grid;min-height:100vh;place-items:center;padding:24px}.access-card{width:min(460px,100%);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:clamp(28px,7vw,52px);box-shadow:var(--shadow-md);text-align:center}.access-card .brand-mark{margin:0 auto 24px}.access-card h1{font-size:2.25rem}.access-card>p:not(.eyebrow){margin-bottom:26px;color:var(--ink-soft)}.access-actions,.access-actions .primary-button{width:100%}.google-signin-button{gap:10px}.google-mark{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:white;color:#4285f4;font-size:.9rem;font-weight:800}.access-privacy-note{display:block;margin-top:14px;color:var(--ink-soft);font-size:.72rem}@media (max-width:900px){.weekly-recipe-fields{grid-template-columns:minmax(180px,1fr) auto}.recipe-photo-field{grid-column:1/-1}.weekly-plan-row{grid-template-areas:"day dinner dropoff pickup details" "day football football football details" ". marta marta marta marta" ". adults adults adults adults" ". warning warning warning warning";grid-template-columns:108px minmax(150px,1.2fr) minmax(112px,1fr) minmax(112px,1fr) auto}.weekly-plan-day{grid-area:day}.weekly-plan-dinner{grid-area:dinner}.weekly-plan-dropoff{grid-area:dropoff}.weekly-plan-pickup{grid-area:pickup}.weekly-plan-football,.weekly-plan-no-football{grid-area:football}.weekly-plan-marta-sports{grid-area:marta}.weekly-plan-adults{grid-area:adults}.weekly-plan-details{grid-area:details}.weekly-plan-warning{grid-area:warning}}@media (min-width:761px) and (max-width:1000px){.week-glance-card,.week-glance-columns{grid-template-columns:minmax(88px,.55fr) minmax(136px,1.3fr) repeat(3,minmax(112px,1fr))}.week-glance-cell,.week-glance-columns>span,.week-glance-day{padding-inline:10px}.week-glance-day{padding-left:27px}.week-glance-day .day-accent{left:10px}.week-glance-person-chip{font-size:.54rem}}@media (max-width:760px){body{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.content-wrap,.topbar,.week-hero{width:min(100% - 24px,620px)}.topbar{min-height:66px}.account-chip{min-width:46px;padding-right:5px}.account-chip>div{display:none}.week-hero{margin-top:8px;border-radius:23px}.hero-copy{align-items:flex-start;gap:24px;padding:28px 22px}.hero-copy h1{font-size:2.18rem}.progress-card{min-width:74px;flex-direction:column;padding:10px}.progress-card>div:last-child{display:none}.tabbar{top:max(8px,env(safe-area-inset-top));width:calc(100% - 24px);margin-top:12px}.tabbar button{flex-direction:column;gap:0;min-height:52px;font-size:.66rem}.tabbar button span{font-size:.9rem}.content-wrap{margin-top:28px}.section-heading{align-items:flex-end}.source-badge{display:none}.overview-people-grid{grid-template-columns:1fr}.planning-heading{align-items:flex-start;flex-direction:column;gap:14px}.planning-heading-actions,.planning-view-switch{width:100%}.planning-view-switch button{flex:1 1}.weekly-planner-intro{align-items:flex-start;flex-direction:column;gap:10px;padding:17px}.weekly-planner-intro>p{max-width:none;padding-left:51px;text-align:left}.weekly-plan-row{grid-template-areas:"day details" "dinner dinner" "dropoff pickup" "football football" "marta marta" "adults adults" "warning warning";grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:12px;padding:16px}.weekly-plan-details{justify-self:end}.weekly-plan-no-football{display:none}.marta-sport-row,.weekly-plan-marta-sport{grid-template-columns:repeat(2,minmax(0,1fr))}.marta-sport-heading,.weekly-plan-marta-heading{grid-column:1/-1}.adult-plan-form{grid-template-columns:minmax(110px,.7fr) minmax(105px,.55fr) minmax(0,1.5fr)}.adult-plan-cancel,.adult-plan-submit,.adult-plan-title-field{grid-column:1/-1}.day-strip{gap:4px;padding:6px}.day-strip button{min-height:66px;border-radius:12px}.day-strip button strong{font-size:1.2rem}.day-strip button i{right:6px;bottom:6px}.food-summary-grid,.form-grid.two,.overview-grid,.planner-grid,.recipe-grid,.weekend-grid{grid-template-columns:1fr}.weekly-recipe-row{grid-template-columns:82px minmax(0,1fr);align-items:start}.weekly-recipe-day{grid-row:1/span 2;padding-top:10px}.weekly-recipe-fields{grid-template-columns:1fr}.recipe-photo-field{grid-column:auto}.weekly-recipe-row .recipe-import-button{width:100%}.weekly-recipe-meta{grid-column:2}.photo-review-fields{grid-template-columns:1fr}.dinner-card,.logistics-card,.photo-review-fields label:first-child,.shopping-card,.tasks-card,.weekend-card.together{grid-column:auto}.panel-card{padding:17px}.task-form{grid-template-columns:105px 1fr 44px}.football-row,.transport-grid{grid-template-columns:1fr}.football-row{align-items:stretch}.card-actions{align-items:flex-start;flex-direction:column}.vklass-child-field,.vklass-upload{grid-template-columns:1fr}.card-actions .secondary-button{width:100%}.source-link{max-width:120px;text-align:right}.weekend-sun{display:none}.calendar-integration-grid{grid-template-columns:minmax(0,1fr)}.calendar-card{align-items:stretch;flex-direction:column}.google-calendar-travel-settings{grid-template-columns:minmax(0,1fr);padding:20px}.google-calendar-travel-settings .google-calendar-travel-actions,.google-calendar-travel-settings .google-calendar-travel-content{grid-column:1}.recipe-card{grid-template-columns:76px 1fr}.recipe-color span{width:46px;height:46px}.save-dock{bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);border-radius:18px}.save-dock small{display:none}.overview-sheet{border-radius:19px;padding:20px 16px}.overview-header{align-items:stretch;flex-direction:column;gap:20px;margin-bottom:22px}.overview-header-tools{justify-items:stretch}.overview-actions,.overview-period{justify-content:space-between}.overview-period>.overview-date-range{min-width:118px}.overview-actions{flex-wrap:wrap}.overview-weekly-letter-shelf{margin-top:-6px}.google-calendar-travel-overview,.overview-weekly-letter-shelf{grid-template-columns:minmax(0,1fr);gap:10px;padding:12px}.google-calendar-travel-items{grid-template-columns:minmax(0,1fr)}.google-calendar-travel-actions{justify-content:flex-start;flex-wrap:wrap}.overview-weekly-letter-content{grid-template-columns:minmax(0,1fr) auto}.overview-actions .primary-button{flex:1 1 150px}.overview-grid{margin-top:12px}.overview-flagship-heading{align-items:flex-start;flex-wrap:wrap;padding-block:14px}.overview-flagship-heading>small{flex:0 0 auto;margin-left:auto}.week-glance-columns{display:none}.week-glance-list{gap:10px;background:#f1f4f2;padding:10px}.week-glance-row{border:1px solid #dce3df;border-radius:14px;background:#fff;overflow:hidden}.week-glance-card{display:grid;grid-template-columns:1fr;min-height:0}.week-glance-cell,.week-glance-day{border-right:0}.week-glance-day{display:flex;min-height:54px;align-items:center;gap:9px;border-bottom:1px solid #e5e9e6;background:#fafbfa;padding:10px 14px 10px 34px}.week-glance-day .day-accent{left:14px}.week-glance-day time{margin-left:auto}.week-glance-cell{align-content:start;gap:8px;border-bottom:1px solid #e8ece9;padding:11px 14px 13px}.week-glance-cell:last-child{border-bottom:0}.week-glance-cell[data-optional=true][data-empty=true]{display:none}.week-glance-cell-label{display:block;position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;color:#71807c;font-size:.58rem;font-weight:790;letter-spacing:.055em;text-transform:uppercase}.week-glance-meal{font-size:.82rem}.week-glance-empty{min-height:24px;display:flex;align-items:center}.overview-secondary-schedule{margin-top:12px}.overview-secondary-summary{min-height:64px;padding-inline:14px}.overview-secondary-heading strong{font-size:.76rem}.day-accent{left:12px}.overview-dinner-cell{align-items:flex-start;flex-direction:column;gap:5px}.overview-weekend{margin-top:12px}.overview-weekend-grid{grid-template-columns:1fr}.overview-weekend-grid>div{min-height:82px;border-right:0;border-bottom:1px solid #e5e8e4}.overview-weekend-grid>div:last-child{border-bottom:0}.overview-footer{flex-wrap:wrap}.weekly-letter-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.weekly-letter-reader{height:100dvh;max-height:100dvh;border:0;border-radius:0}.weekly-letter-reader-header{padding:max(18px,env(safe-area-inset-top)) 18px 16px}.weekly-letter-error,.weekly-letter-loading,.weekly-letter-reader-body{padding:18px 16px max(26px,env(safe-area-inset-bottom))}.google-calendar-dialog{width:100%;height:100dvh;max-height:100dvh;border-radius:0}.google-calendar-manager{height:100dvh;max-height:100dvh;border:0;border-radius:0}.google-calendar-manager-header{padding:max(18px,env(safe-area-inset-top)) 18px 16px}.google-calendar-manager-body{padding:18px 16px 24px}.google-calendar-manager-footer{padding-inline:16px}}@media (max-width:430px){.overview-people-grid{grid-template-columns:1fr}.overview-person-day{grid-template-columns:54px minmax(0,1fr)}.overview-shared-schedule{grid-template-columns:1fr}.overview-weekly-letter-links{grid-template-columns:minmax(0,1fr)}.overview-weekly-letter-links button,.overview-weekly-letter-slot{width:100%}.overview-weekly-letter-content{grid-template-columns:minmax(0,1fr)}.google-calendar-travel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.google-calendar-travel-actions .primary-button:only-child{grid-column:1/-1}.google-calendar-candidates label,.google-calendar-disconnect>div,.google-calendar-manager-footer{align-items:stretch;flex-direction:column}.google-calendar-candidate-flags{justify-content:flex-start}.google-calendar-disconnect button,.google-calendar-manager-footer .primary-button{width:100%}.overview-weekly-letter-tools{justify-content:stretch}.overview-weekly-letter-manage,.overview-weekly-letter-retry{width:100%}.vklass-letter-status{align-items:flex-start;flex-direction:column}.weekly-letter-important li{grid-template-columns:44px minmax(0,1fr)}.week-navigation{padding-inline:8px}.week-picker{min-width:0;flex:1 1}.progress-card{display:none}.hero-copy{display:block}.weekly-plan-row{grid-template-areas:"day details" "dinner dinner" "dropoff dropoff" "pickup pickup" "football football" "marta marta" "adults adults" "warning warning"}.marta-sport-row,.weekly-plan-marta-sport{grid-template-columns:1fr}.adult-plans-heading,.adult-plans-list li{align-items:flex-start;flex-wrap:wrap}.adult-plans-heading>span{padding-left:47px}.adult-plan-title{flex-basis:calc(100% - 90px)}.adult-plan-actions{width:100%;justify-content:flex-end}.adult-plan-form{grid-template-columns:1fr}.adult-plan-cancel,.adult-plan-submit{grid-column:1;width:100%}.task-form{grid-template-columns:1fr 44px}.task-form select{grid-column:span 2}.recipe-card{grid-template-columns:1fr}.recipe-color{min-height:78px}.recipe-history{margin-top:10px}.weekly-recipe-row{grid-template-columns:1fr}.weekly-recipe-day{grid-row:auto;padding-top:0}.weekly-recipe-fields{grid-template-columns:1fr}.weekly-recipe-meta{grid-column:1;flex-wrap:wrap}.photo-recipe-review{grid-column:1}.photo-review-actions,.photo-review-heading{align-items:stretch;flex-direction:column}.photo-review-actions .primary-button,.photo-review-actions .text-button{width:100%}.grocery-row{grid-template-columns:minmax(0,1fr) 34px}.grocery-status{grid-column:1/-1;grid-row:2}.grocery-status select{width:100%}.grocery-row .text-button.danger{grid-column:2;grid-row:1}.ica-handoff-actions{flex-direction:column}.save-dock .primary-button{min-width:142px}.overview-title-line{align-items:flex-start;flex-direction:column;gap:8px}.overview-dots{padding-left:2px}.overview-snack-grid{grid-template-columns:1fr}.overview-dinner-link{min-height:44px;font-size:inherit}.overview-footer>span:nth-child(2){order:3;width:100%}}@media print{@page{margin:7mm 8mm;size:A4 landscape}body,html{background:#fff}body{padding:0;print-color-adjust:exact;-webkit-print-color-adjust:exact}.calendar-integration-grid,.google-calendar-dialog,.overview-actions,.overview-arrow,.overview-footer,.overview-grid,.overview-secondary-schedule,.overview-weekly-letter-shelf,.save-dock,.tabbar,.toast,.topbar,.week-hero,.weekly-letter-dialog{display:none!important}.content-wrap{width:100%;margin:0}.overview-panel{animation:none;padding:0}.overview-sheet{width:100%;overflow:visible;border:0;border-radius:0;padding:0;box-shadow:none}.overview-header{align-items:center;flex-direction:row;gap:8mm;margin-bottom:2mm}.google-calendar-travel-overview{grid-template-columns:28mm minmax(0,1fr);gap:2mm;margin:0 0 2mm;border-radius:2mm;padding:1.2mm 2mm}.google-calendar-travel-overview .google-calendar-travel-actions,.google-calendar-travel-overview .google-calendar-travel-heading .eyebrow,.google-calendar-travel-overview .google-calendar-travel-heading small,.google-calendar-travel-overview .google-calendar-travel-heading>span,.google-calendar-travel-overview .google-calendar-travel-status,.google-calendar-travel-overview[data-has-items=false]{display:none!important}.google-calendar-travel-overview .google-calendar-travel-heading h2{font-size:8pt}.google-calendar-travel-overview .google-calendar-travel-items{display:flex;flex-wrap:wrap;gap:1.5mm 3mm}.google-calendar-travel-overview .google-calendar-travel-items li{gap:1mm;border:0;background:transparent;padding:0}.google-calendar-travel-overview .google-calendar-travel-kind{padding:.4mm 1mm;font-size:7pt}.google-calendar-travel-overview .google-calendar-travel-copy small,.google-calendar-travel-overview .google-calendar-travel-copy strong{font-size:7pt}.overview-header-tools{gap:0;justify-items:end}.overview-logo-bar{width:2mm;height:9mm;flex-basis:2mm}.overview-title-line{align-items:center;flex-direction:row;gap:4mm}.overview-title-line h1{font-size:19pt}.overview-lockup p{margin-top:.8mm;font-size:7pt}.overview-dots{gap:1.5mm}.overview-dots i{width:1.6mm;height:1.6mm}.overview-period{justify-content:flex-end;gap:3mm}.overview-period>div{min-width:16mm;padding:0 1mm 1mm}.overview-period>.overview-date-range{min-width:38mm}.overview-period small{font-size:7pt}.overview-period strong{font-size:7.5pt}.overview-flagship-heading{min-height:0;align-items:center;flex-wrap:nowrap;gap:2mm;padding:1.5mm 3mm}.overview-flagship-heading>span{width:1.3mm;height:5mm;flex-basis:1.3mm}.overview-flagship-heading h2{font-size:8pt}.overview-heading-copy{gap:.6mm}.overview-heading-copy p{font-size:7pt}.overview-section-heading small{padding:.7mm 1.7mm;font-size:7pt}.week-glance-card,.week-glance-columns{grid-template-columns:22mm 1.05fr 1.4fr 1.15fr 1.15fr}.week-glance-columns{display:grid;background:#e8eeeb;font-size:7pt}.week-glance-columns>span{padding:1.1mm 1.7mm;letter-spacing:.065em}.week-glance-row{overflow:visible;border:0;border-radius:0;break-inside:avoid-page;page-break-inside:avoid}.week-glance-row:not(:last-child) .week-glance-cell,.week-glance-row:not(:last-child) .week-glance-day{border-bottom:.4mm solid #c7d1cb}.week-glance-list{gap:0;background:transparent;padding:0}.week-glance-card{min-height:18mm}.week-glance-cell,.week-glance-day{gap:1mm;border-right:1px solid #e5e8e4;border-bottom:0;padding:1.6mm 1.7mm}.week-glance-cell:last-child{border-right:0}.week-glance-day{display:grid;min-height:0;align-content:center;align-items:normal;gap:.8mm;border-bottom:0;background:#f6f8f7;padding:1.6mm 1.2mm 1.6mm 4.4mm}.week-glance-day .day-accent{top:50%;left:1.3mm;width:1.2mm;height:7mm;transform:translateY(-50%)}.week-glance-day strong{font-size:7.2pt;letter-spacing:.02em;white-space:nowrap}.week-glance-day time{margin-left:0;font-size:7pt;white-space:nowrap}.week-glance-cell,.week-glance-meal{align-content:center;font-size:7pt;line-height:1.22}.week-glance-meal{font-weight:720;text-wrap:pretty}.week-glance-cell[data-optional=true][data-empty=true]{display:grid}.week-glance-cell-label{display:block;position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.week-glance-tasks{gap:1mm}.week-glance-school-transport{display:grid;grid-template-columns:max-content minmax(0,1fr);min-width:0;align-items:baseline;gap:1.2mm;margin:0;color:#765e87;font-size:7pt;font-weight:720;line-height:1.15}.week-glance-school-transport strong:after{content:none}.overview-task-detail[data-segmented=true],.overview-task-transport[data-segmented=true],.week-glance-school-transport-detail{display:flex;min-width:0;flex-wrap:wrap;align-items:baseline;gap:.4mm 1.2mm}.overview-meta-segment{display:inline-flex;align-items:baseline;white-space:nowrap}.overview-meta-separator{color:#b4aaaf;font-weight:650}.week-glance-task{display:flex;align-items:flex-start;gap:1.2mm}.week-glance-task+.week-glance-task{padding-top:1mm}.week-glance-person-chips{flex:0 0 auto;gap:.8mm}.week-glance-person-chip{min-height:0;padding:.4mm 1.2mm;font-size:7pt;white-space:nowrap}.week-glance-empty{display:inline;min-height:0;font-size:7pt}.week-glance-task>.overview-task-content{flex:1 1}.overview-task-content{gap:.6mm}.overview-task-primary{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:.8mm 1.3mm}.overview-task-sport,.overview-task-title{text-wrap:pretty}.overview-task-time{padding:.2mm 1mm;font-size:7pt}.overview-task-detail,.overview-task-transport{font-size:7pt;line-height:1.15}.week-glance-meal .overview-dinner-cell{align-items:baseline;flex-flow:row wrap;justify-content:flex-start;gap:1mm 1.5mm}.overview-dinner-link{min-height:0;padding:0}.collision-warning{min-height:0;gap:1mm;padding:.7mm 1.5mm .7mm .7mm;font-size:7pt}.collision-warning>span{width:4mm;height:4mm;font-size:7pt}.overview-link-icon{display:none}.overview-dinner-link{color:inherit;text-decoration:none}.overview-weekend{margin-top:3mm}.overview-weekend .overview-section-heading{min-height:0;gap:2mm;padding:1.5mm 3mm}.overview-weekend .overview-section-heading>span{width:1.2mm;height:5mm;flex-basis:1.2mm}.overview-weekend .overview-section-heading h2{font-size:8pt}.overview-weekend-grid>div{min-height:0;border-right:1px solid #e5e8e4;border-bottom:0;padding:1.8mm 3mm 2mm}.overview-weekend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.overview-weekend-grid>div:last-child{border-right:0}.overview-weekend-grid strong{font-size:7pt}.overview-weekend-grid p{margin-top:1mm;font-size:7pt;line-height:1.2}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}