.sync-panel{margin-bottom:24px}.sync-panel h2{margin-top:5px}.sync-panel form{gap:16px;margin-top:24px;display:grid}.sync-panel p{line-height:1.75}.sync-status{background:#e5eddc;border-radius:14px;align-items:center;gap:12px;margin:18px 0;padding:16px;display:flex}.sync-status small,.sync-device small{margin-top:5px;display:block}.sync-form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sync-panel label{gap:8px;display:grid}.sync-panel input{width:100%;min-height:44px}.sync-panel button{justify-self:start;min-height:44px}.sync-panel details{margin-top:24px}.sync-panel summary{cursor:pointer;min-height:44px;padding:10px 0}.sync-conflict{border:1px solid #8b9e7b;border-radius:14px;grid-template-columns:1fr 1fr;gap:16px;padding:16px;display:grid}.sync-conflict legend{padding:0 8px;font-weight:700}.sync-conflict label{cursor:pointer;background:#f5f4e8;border-radius:8px;align-items:flex-start;padding:12px;display:flex}.sync-conflict input{flex-shrink:0;width:20px;height:20px;min-height:20px}.sync-conflict span span{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px;display:block}.sync-code{background:#f0f2dd;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin-top:16px;padding:20px;display:flex}.sync-code code{letter-spacing:2px;font-size:24px}.sync-code small{width:100%}.sync-device{border-bottom:1px solid #c2cbb9;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}@media (width<=600px){.sync-form-grid,.sync-conflict{grid-template-columns:1fr}.sync-code code{font-size:20px}.sync-device{flex-direction:column;align-items:flex-start}}.receipt-page{flex-direction:column;gap:20px;display:flex}.receipt-capture-card{border:1.5px solid var(--ink);background:#eef0dc;border-radius:22px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:28px;display:flex;position:relative}.receipt-capture-card h2{margin:8px 0;font-size:25px}.receipt-capture-card p{color:var(--os-muted);margin:0}.receipt-capture-card>small{color:var(--os-muted);flex-basis:100%}.receipt-capture-card input.visually-hidden{width:1px;min-height:1px}.receipt-tabs{flex-wrap:wrap;gap:8px;display:flex}.receipt-tabs button[aria-pressed=true]{color:#fff;background:#235c43}.receipt-export{margin-left:auto}.receipt-filters{grid-template-columns:minmax(200px,2fr) minmax(140px,1fr) 150px 150px auto;align-items:end;gap:12px;display:grid}.receipt-filters label{min-width:0}.receipt-search span{align-items:center;gap:6px;display:flex}.receipt-summary{color:var(--os-muted);flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.receipt-summary strong{color:var(--ink)}.receipt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.receipt-grid[aria-busy=true]{opacity:.55}.receipt-card{text-align:left;background:#fffef7;border:1px solid #b7c3b1;border-radius:17px;min-width:0;padding:0;transition:transform .15s;display:block;overflow:hidden;box-shadow:0 3px #1c38250c}.receipt-card:hover{transform:translateY(-3px)}.receipt-photo{background:#e7e8de;border-bottom:1px solid #cad1c2;justify-content:center;height:240px;padding:14px;display:flex}.receipt-photo img{object-fit:contain;filter:drop-shadow(0 2px 4px #0002);width:100%;height:100%}.receipt-card-info{flex-direction:column;gap:11px;padding:17px;display:flex}.receipt-category{color:#33563d;background:#e8eddc;border-radius:20px;align-self:start;padding:4px 10px;font-size:12px}.receipt-card-info>strong{overflow-wrap:anywhere;font-size:17px}.receipt-card-info>span:last-of-type{justify-content:space-between;gap:8px;font-size:12px;font-weight:400;display:flex}.receipt-card-info b{font-size:14px}.receipt-card-info small{white-space:nowrap;text-overflow:ellipsis;color:var(--os-muted);overflow:hidden}.receipt-empty{text-align:center;color:var(--os-muted);border:1px dashed #a7b79d;border-radius:20px;padding:60px 20px}.receipt-empty svg{margin:auto}.receipt-empty h2{color:var(--ink);margin-top:15px}.receipt-message{background:#e4efdc;border-radius:10px;margin:0;padding:12px 16px}.receipt-upload{background:#fffef7;border-radius:12px;align-items:center;gap:12px;padding:15px;display:flex}.receipt-upload>div{flex:1;min-width:0}.receipt-upload strong{overflow-wrap:anywhere;display:block}.receipt-upload progress{accent-color:#235c43;width:100%;height:12px;margin:10px 0;display:block}.receipt-spinner{animation:1s linear infinite receipt-spin}@keyframes receipt-spin{to{transform:rotate(360deg)}}.receipt-pagination{justify-content:center;align-items:center;gap:15px;display:flex}.receipt-help{color:var(--os-muted);border-top:1px solid #bbc9b3;padding-top:18px}.receipt-help summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;display:flex}.receipt-help p{max-width:850px;font-size:13px;line-height:1.8}.receipt-detail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.receipt-viewer{overscroll-behavior:contain;background:#dfe4d9;border-radius:10px;height:480px;margin-bottom:12px;overflow:auto}.receipt-viewer img{object-fit:contain;height:auto;display:block}.receipt-detail>div>small{margin:10px 0;display:block}.receipt-detail label{flex-direction:column;gap:7px;margin-bottom:15px;display:flex}.receipt-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.receipt-detail input,.receipt-detail textarea,.receipt-detail select{width:100%;min-width:0}.receipt-detail-actions{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:18px;display:flex}.receipt-zoom{align-items:center;gap:12px;display:flex}.receipt-zoom label{flex:1}.receipt-zoom input{accent-color:#235c43;min-height:28px!important}.receipt-zoom span{font-size:12px}.receipt-mobile-shell{max-width:1100px;margin:auto;padding:20px}.receipt-mobile-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.receipt-mobile-header h1{font-size:24px}.receipt-mobile-header small{color:var(--os-muted)}@media (width>=1550px){.receipt-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1150px){.receipt-filters{grid-template-columns:1fr 1fr}.receipt-search{grid-column:1/-1}.receipt-filters>button{justify-self:start}.receipt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-detail{gap:16px}}@media (width<=620px){.receipt-capture-card{gap:16px;padding:20px}.receipt-capture-card h2{font-size:21px}.receipt-capture-card .button-row{grid-template-columns:1fr 1fr;width:100%;display:grid}.receipt-capture-card button{padding:10px 8px}.receipt-photo{height:180px;padding:9px}.receipt-card-info{gap:9px;padding:11px}.receipt-card-info>strong{font-size:15px}.receipt-card-info>span:last-of-type{flex-direction:column;gap:6px}.receipt-grid{gap:12px}.receipt-detail{grid-template-columns:1fr}.receipt-viewer{height:340px}.receipt-export{margin-left:0}.receipt-form-row{grid-template-columns:1fr 1fr}.receipt-filters input,.receipt-filters select{width:100%;min-width:0}.receipt-mobile-shell{padding:16px}.receipt-detail-actions button{font-size:12px}.receipt-capture-card input.visually-hidden{width:1px!important;min-height:1px!important}}@media (prefers-reduced-motion:reduce){.receipt-spinner{animation:none}.receipt-card{transition:none}}:root{--os-line:#bdc9b8;--os-muted:#516654}body{font-size:15px}button,.button{min-height:44px}small,.small-button,.field-hint,.check-label,.section-copy,.card-kicker,.badge,.eyebrow{font-size:12px}.field-hint,.section-copy,.quiet-empty{color:var(--os-muted)}input:not([type=checkbox]),select,textarea{min-height:44px;font-size:14px}label{font-size:13px}input[type=checkbox]{accent-color:#235c43;flex-shrink:0;width:20px;height:20px}.button-row{flex-wrap:wrap}h2{font-size:20px;line-height:1.4}h3{font-size:17px}p{overflow-wrap:anywhere}button:disabled{cursor:default}.os-layout{grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.os-sidebar{border-right:1.5px solid var(--ink);z-index:5;background:#f2f1df;flex-direction:column;height:100dvh;padding:28px 16px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.os-brand{text-align:left;letter-spacing:-1px;background:0 0;border:0;justify-content:flex-start;gap:10px;padding:0 10px 27px;font-size:25px}.os-brand small{letter-spacing:.03em;margin-top:1px;font-size:11px;font-weight:500;display:block}.os-sidebar nav{flex-direction:column;gap:5px;display:flex}.os-sidebar nav button{background:0 0;border:1.5px solid #0000;border-radius:12px;justify-content:flex-start;gap:13px;min-height:46px;padding:12px 15px;font-size:14px;font-weight:600}.os-sidebar nav button:hover{background:#e5ebd3}.os-sidebar nav button[aria-current=page]{background:var(--lime);border-color:var(--ink);box-shadow:0 3px 0 var(--ink);font-weight:800}.os-sidebar-bottom{margin-top:auto;padding-top:35px}.local-badge{color:#45624b;justify-content:center;align-items:center;gap:7px;margin-bottom:17px;font-size:11px;display:flex}.account-summary{border-top:1px solid #b2c2ac;align-items:center;gap:7px;padding-top:16px;display:flex}.account-summary>span:nth-child(2){flex:1;min-width:0}.account-summary strong{text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.account-summary small{color:#4e6652;font-size:11px;display:block}.account-summary .avatar{width:31px;height:31px}.account-summary .icon-button{background:0 0;border:0;width:33px;min-width:33px}.os-content{min-width:0}.os-topbar{background:#fffcf2;border-bottom:1px solid #c8d0bc;justify-content:space-between;align-items:center;height:75px;padding:0 38px;font-size:14px;font-weight:700;display:flex}.os-topbar>div{align-items:center;gap:17px;display:flex}.os-topbar button{background:0 0;border:0}.today-label{color:var(--os-muted);font-size:12px;font-weight:500}.os-main{outline:none;max-width:1510px;margin:auto;padding:32px 38px 48px}.os-page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.os-page-heading h1{letter-spacing:-.055em;margin:7px 0 9px;font-size:32px;line-height:1.35}.os-page-heading p{color:var(--os-muted);font-size:14px}.page-illustration{color:#6d8970;flex-shrink:0;margin-right:10px;transform:rotate(-7deg)}.eyebrow{letter-spacing:.15em;color:#526652;font-size:10px;font-weight:800}.os-footer{color:#516654;justify-content:space-between;gap:15px;max-width:1510px;margin:auto;padding:0 38px 28px;font-size:12px;display:flex}.panel-fieldset{border:0;min-width:0;margin:0;padding:0}.os-card{border:1.5px solid var(--ink);background:#fffdf5;border-radius:18px;min-width:0;margin-bottom:24px;padding:24px;box-shadow:0 3px #193c2924}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.text-button{background:0 0;border:0;padding:6px 0;font-size:12px;font-weight:700}.text-button:hover{background:0 0;text-decoration:underline}.home-welcome{border:1.5px solid var(--ink);box-shadow:0 4px 0 var(--ink);background:#e3e9d3;border-radius:22px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px;padding:32px 36px;display:flex;overflow:hidden}.home-welcome h2{margin:12px 0;font-size:34px;line-height:1.45}.home-welcome p{color:#4a6250;margin:0 0 22px;font-size:14px}.home-welcome button{background:#fffcf2}.welcome-art{min-width:210px;height:180px;position:relative}.welcome-art>span:nth-child(2){text-align:center;border:2px solid var(--ink);background:#fff6b7;border-radius:15px;width:128px;padding:15px;font-size:13px;font-weight:700;display:block;position:absolute;top:18px;left:30px;transform:rotate(9deg);box-shadow:5px 6px #739075}.welcome-art strong{font-size:58px;line-height:1.25}.welcome-art>span:first-child{color:#607646;font-size:63px;position:absolute;top:-25px;right:0}.welcome-art>span:last-child{color:#9c846a;font-size:72px;position:absolute;bottom:-10px;left:-15px}.onboarding-strip{background:#faf6e4;border:1px dashed #516954;border-radius:15px;justify-content:space-between;align-items:center;gap:20px;margin:25px 0;padding:23px;display:flex}.onboarding-strip p{margin-top:4px;font-size:13px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px;display:grid}.metric-card{text-align:left;border:1.5px solid var(--ink);box-shadow:0 3px 0 var(--ink);background:var(--tint);border-radius:17px;flex-direction:column;align-items:stretch;padding:20px;display:flex}.metric-card>span{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.metric-card strong{letter-spacing:-.07em;padding:12px 0;font-size:35px}.metric-card small{align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.home-grid{grid-template-columns:1.4fr 1fr;gap:24px;display:grid}.os-card.color-peach{background:var(--tint)}.home-event{border-top:1px solid #dbe1d0;gap:14px;padding:16px 0;display:flex}.home-event p{color:var(--os-muted);margin-top:3px;font-size:12px}.event-dot{background:var(--tint-strong);border:1px solid var(--ink);border-radius:50%;width:12px;min-width:12px;height:12px;margin-top:6px}.today-meal{border-bottom:1px solid #cab7a3;align-items:center;gap:13px;padding:14px 0;display:flex}.quiet-empty{padding:24px 0;font-size:14px}.mini-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.mini-note{background:var(--tint);border:1px solid #9aab92;border-radius:12px;padding:17px}.mini-note p{white-space:pre-line;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:13px;display:-webkit-box;overflow:hidden}.panel-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px;display:flex}.toolbar-group{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.toolbar-group>label{margin:0}.panel-search{background:#fffdf4;border:1px solid #aabb9d;border-radius:12px;align-items:center;gap:8px;min-width:220px;margin:0;padding:0 13px;display:flex}.panel-search input{background:0 0;border:0;min-width:0;max-width:300px;margin:0;padding-left:0}.panel-search:focus-within{outline-offset:2px;outline:2px solid #26775b}.panel-search input:focus-visible{outline:none}.panel-empty{text-align:center;background:#faf9ed;border:1.5px dashed #97ab93;border-radius:18px;flex-direction:column;align-items:center;gap:13px;margin-bottom:25px;padding:50px 28px;display:flex}.panel-empty h2{font-size:23px}.panel-empty p{color:var(--os-muted);max-width:510px;line-height:1.8}.panel-empty button{margin-top:8px}.empty-illustration{color:#779276;font-size:52px;line-height:1.2}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.card-grid .os-card{margin-bottom:0}.card-actions{flex-shrink:0;gap:2px;margin-left:auto;display:flex}.card-actions .icon-button{background:0 0;border:0}.card-kicker{color:#516654;align-items:center;gap:5px;font-size:12px;display:flex}.card-bottom,.routine-bottom{justify-content:space-between;align-items:center;gap:15px;margin-top:24px;display:flex}.card-bottom strong{font-size:23px}.badge{white-space:nowrap;background:#f2f0dc;border:1px solid #b0bea4;border-radius:7px;align-items:center;gap:4px;padding:4px 9px;font-size:12px;display:inline-flex}.success-badge{color:#284829;background:#d7edbe}.routine-progress{align-items:center;gap:18px;margin-bottom:24px;font-size:13px;display:flex}.routine-progress progress{accent-color:#4c774d;width:200px;height:10px}.routine-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.routine-list .os-card{margin-bottom:0}.routine-list{margin-bottom:25px}.routine-main{align-items:center;gap:15px;display:flex}.routine-main h2{margin:4px 0}.routine-main .avatar{width:43px;height:43px}.point-label{color:#355e38;font-size:12px;font-weight:700}.routine-checks{flex-direction:column;gap:13px;margin:20px 0 4px 4px;display:flex}.routine-checks label{align-items:center;gap:10px;margin:0;font-size:14px;font-weight:500;display:flex}.routine-bottom{flex-wrap:wrap}.routine-bottom .button-row{margin:0}.is-complete{background:#edf3e4}.is-complete h2,.shopping-row.is-complete strong{text-decoration:line-through}.balance-grid{flex-wrap:wrap;gap:17px;margin:0 0 28px;display:flex}.balance-card{background:var(--tint);border:1.5px solid var(--ink);border-radius:16px;flex-direction:column;gap:7px;min-width:165px;padding:21px 27px;display:flex}.balance-card strong{font-size:31px}.balance-card span{font-size:13px}.balance-card small{font-size:16px}.reward-icon{border:1px solid var(--ink);background:#f1e7cb;border-radius:17px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;transform:rotate(-5deg)}.reward-card p{color:var(--os-muted);white-space:pre-line;min-height:44px;margin-top:9px;font-size:14px}.history-section{margin-top:30px}.history-section .field-hint{margin:10px 0 18px}.history-row,.list-line{border-top:1px solid #d3dcc5;flex-wrap:wrap;align-items:center;gap:15px;padding:15px 0;display:flex}.history-row>div:first-child{flex:1}.history-row small{color:var(--os-muted);margin-top:5px;display:block}.history-row .button-row{margin:0}.list-line .card-actions{margin-left:auto}.period-control{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.meal-week{grid-template-columns:repeat(7,minmax(140px,1fr));gap:12px;margin-bottom:17px;padding:0 0 15px;display:grid;overflow-x:auto}.meal-day{border:1.5px solid var(--ink);background:#fffdf4;border-radius:15px;min-width:0;overflow:hidden}.meal-day h2{text-align:center;background:#e8e7d2;border-bottom:1px solid #a3b291;flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;padding:13px 5px;font-size:14px;display:flex}.meal-day.is-today h2{background:var(--lime)}.meal-day:nth-child(3n) h2{background:#e5dded}.meal-slot{border-bottom:1px solid #d7dfcb;min-height:92px;padding:14px 10px}.meal-slot:last-child{border:0}.meal-item{overflow-wrap:anywhere;background:#f3f0dd;border:1px solid #b7c5ac;border-radius:9px;margin-top:8px;padding:12px 9px}.meal-item strong{font-size:13px;display:block}.meal-item small{margin-top:6px;font-size:11px;display:block}.meal-item p{font-size:12px}.meal-item .card-actions{justify-content:flex-end;margin-top:7px}.meal-item .icon-button{width:33px;min-width:33px}.meal-add{background:0 0;border:1px dashed #acbda0;width:100%;margin-top:11px;padding:4px}.meal-tools{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.meal-tools>div{flex:1;min-width:240px}.meal-tools p{color:var(--os-muted);margin-top:7px;font-size:13px}.recipe-import{background:#f2f0e0;flex-wrap:wrap;align-items:center;gap:18px;display:flex}.recipe-import label{flex:1;min-width:170px;margin:0}.recipe-import .field-hint{width:100%;margin:0}.recipe-card{padding:0;overflow:hidden}.recipe-cover{background:#ecdfc9;border-bottom:1px solid #a7b694;justify-content:center;align-items:center;height:115px;display:flex}.recipe-card:nth-child(3n+2) .recipe-cover{background:#dde8d2}.recipe-card:nth-child(3n+3) .recipe-cover{background:#e7def0}.recipe-body{padding:20px}.recipe-body .section-heading{gap:3px;margin:0}.recipe-body h2{font-size:19px}.recipe-meta{color:var(--os-muted);align-items:center;gap:5px;margin:12px 0 16px;font-size:12px;display:flex}.recipe-body details{font-size:14px;line-height:1.8}.recipe-body .text-button{margin-top:15px}details summary{cursor:pointer;align-content:center;min-height:44px;font-size:13px;font-weight:700}details ul{padding-left:20px}.preserve-lines{white-space:pre-wrap}.shopping-summary{border:1.5px solid var(--ink);background:#e4ead5;border-radius:14px;align-items:center;gap:12px;margin-bottom:27px;padding:19px 23px;display:flex}.shopping-summary span{margin-left:auto;font-size:13px}.shopping-section h2{margin:0 0 12px 3px;font-size:16px}.shopping-list{padding:0 23px}.shopping-row{border-bottom:1px solid #d9dfce;align-items:center;gap:17px;padding:20px 0;display:flex}.shopping-row:last-child{border-bottom:0}.shopping-row>div:nth-child(2){flex:1;min-width:0}.shopping-row strong{font-size:16px}.shopping-row p,.shopping-row small{color:var(--os-muted);margin-top:5px;font-size:12px}.shopping-row.is-complete{background:0 0}.source-line,.quantity-warning{display:block}.quantity-warning{color:#84391c;background:#fff0d3;border-radius:6px;margin-top:8px;padding:6px;font-size:12px}.notes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.note-card{border:1.5px solid var(--ink);background:var(--tint);border-radius:16px;flex-direction:column;min-height:240px;padding:24px;display:flex;transform:rotate(-.4deg);box-shadow:0 4px #23483140}.note-card:nth-child(2n){transform:rotate(.4deg)}.note-card h2{font-size:22px}.note-card>p{flex:1;margin:17px 0 24px;font-size:14px;line-height:1.85}.note-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.note-bottom small{font-size:11px}.expired-note{border-style:dashed}.ingredient-row{grid-template-columns:minmax(90px,2fr) minmax(60px,1fr) minmax(55px,1fr) 44px;align-items:center;gap:8px;margin-bottom:10px;display:grid}.ingredient-row input{min-width:0;margin:0;padding:9px}.weekday-picker{flex-wrap:wrap;gap:7px;margin-bottom:20px;display:flex}.weekday-picker button{width:44px;min-width:44px;padding:8px}.weekday-picker button[aria-pressed=true]{background:var(--lime)}.option-row{align-items:center;gap:10px;margin:15px 0;font-size:13px;display:flex}.conflict-panel{background:#f9e7c1;border:1px solid #a88349;border-radius:12px;margin:18px 0;padding:18px}.conflict-panel p{margin:10px 0;font-size:13px}.draft-hint{color:var(--os-muted);margin-right:auto;font-size:11px}.form-actions{flex-wrap:wrap}.field-label{font-size:13px}.participant-picker{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.participant-picker label{align-items:center;gap:7px;margin:0;display:flex}.success-note{background:#e1edce;border:1px solid #8cab7b;border-radius:10px;margin-bottom:17px;padding:12px;font-size:13px}.backup-row{border-bottom:1px solid #d2ddc4;align-items:center;gap:10px;padding:14px 0;display:flex}.backup-row>div{flex:1;min-width:0}.backup-row strong{word-break:break-all;font-size:12px}.backup-row small{display:block}.connection-banner{background:#fff0d9;border:1px solid #bc7e4d;border-radius:12px;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;padding:15px;font-size:13px;display:flex}.auth-layout{grid-template-columns:1.1fr 1fr;min-height:100dvh;display:grid}.auth-story{border-right:1.5px solid var(--ink);background:#e4ead4;flex-direction:column;justify-content:center;padding:clamp(30px,7vw,100px);display:flex;position:relative;overflow:hidden}.auth-brand{align-items:center;gap:12px;margin-bottom:40px;font-size:24px;font-weight:800;display:flex}.auth-story h1{margin:20px 0;font-size:clamp(30px,3.5vw,52px);line-height:1.45}.auth-story p{color:var(--os-muted);font-size:16px;line-height:1.9}.auth-pills{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.auth-pills span{background:#fff5c4;border:1px solid #829d76;border-radius:10px;padding:10px 14px;font-size:13px}.auth-card{align-self:center;width:min(420px,100%);margin:35px auto;padding:35px}.auth-card h2{margin-bottom:15px;font-size:28px}.auth-card>p{color:var(--os-muted);margin-bottom:25px;font-size:14px}.auth-card .primary{width:100%;margin-top:15px}.auth-card footer{color:var(--os-muted);margin-top:25px;font-size:12px}.connection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.connection-grid .os-card{margin:0}.connection-card p{color:var(--os-muted);margin:12px 0;font-size:14px}.connection-card label{margin-top:15px}.connection-card .button-row{justify-content:flex-start}.notice-list{max-height:420px;overflow:auto}.notice-row{border-top:1px solid #d2ddc6;align-items:center;gap:13px;padding:15px 0;display:flex}.notice-row>div{flex:1}.notice-row p,.notice-row small{color:var(--os-muted);font-size:12px}.ai-layout{grid-template-columns:minmax(0,1fr) 300px;gap:24px;display:grid}.ai-chat{flex-direction:column;min-height:440px;display:flex}.ai-messages{flex:1}.ai-message{white-space:pre-wrap;overflow-wrap:anywhere;background:#e9eedb;border-radius:13px;margin-bottom:18px;padding:18px;font-size:14px}.ai-message.user{background:#e6dff2;margin-left:35px}.ai-message strong{margin-bottom:8px;font-size:12px;display:block}.ai-composer{margin-top:20px}.ai-composer textarea{min-height:100px}.ai-composer button{margin-top:12px}.ai-suggestions{flex-wrap:wrap;gap:9px;margin:20px 0;display:flex}.ai-suggestions button{font-size:12px}.ai-preview{background:#fff2c9;border:1.5px solid #7d834c;border-radius:12px;margin-bottom:20px;padding:18px}.ai-preview pre{white-space:pre-wrap;max-height:230px;font-size:12px;overflow:auto}.calendar-access .topbar-inner{padding:15px 0}.calendar-access .page-shell{padding:20px 0}.calendar-access .topbar{background:0 0}.calendar-access .hero h1{font-size:32px}.calendar-access .calendar-toolbar h2{font-size:18px}.calendar-access .week-day small,.calendar-access .weekday-name,.calendar-access .event-owner,.calendar-access .event-meta,.calendar-access .event-note,.calendar-access .panel-topline,.calendar-access .empty-state p,.calendar-access .filter-chips button,.calendar-access .save-badge,.calendar-access .page-footer{color:#425d49;font-size:12px}.calendar-access .week-day.selected-day small,.calendar-access .week-day.selected-day .weekday-name{color:#fff}.calendar-access .profile{font-size:12px}.calendar-access .month-event{min-height:32px;font-size:12px}.calendar-access .small-button{min-height:44px;font-size:12px}.calendar-access .calendar-options{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:15px;display:flex}.calendar-options label{margin:0}.calendar-access .profile .avatar{font-size:12px}.read-only-calendar .header-add,.read-only-calendar .add-profile,.read-only-calendar .settings-button,.read-only-calendar .add-event-button,.read-only-calendar .agenda-heading>.small-button,.read-only-calendar .empty-add,.read-only-calendar .onboarding,.read-only-calendar .page-footer button{display:none}.large-text,.large-text body{font-size:18px}.large-text input,.large-text select,.large-text textarea,.large-text label,.large-text button,.large-text .card-kicker,.large-text .badge,.large-text .field-hint,.large-text p{font-size:1rem}.large-text .os-sidebar nav button{font-size:16px}.large-text .os-main{line-height:1.8}@media (width>=1700px){.os-sidebar{padding-top:38px}.os-main{padding-top:42px}.home-welcome{padding:38px 46px}.home-welcome h2{font-size:40px}}@media (width<=1250px){.os-layout{grid-template-columns:215px minmax(0,1fr)}.os-sidebar{padding:24px 11px 15px}.os-brand{gap:8px;padding-left:5px;font-size:22px}.os-brand img{width:36px}.os-main{padding:28px 25px 40px}.os-topbar{padding:0 25px}.metric-grid{gap:12px}.metric-card{padding:16px}.card-grid,.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.routine-list{grid-template-columns:1fr}.ai-layout{grid-template-columns:minmax(0,1fr) 260px}.calendar-access .save-badge{display:none}}@media (width<=950px){.os-layout{grid-template-columns:84px minmax(0,1fr)}.os-sidebar{padding:24px 11px 15px}.os-brand{padding:0 8px 25px}.os-brand>span,.os-sidebar nav button span,.local-badge,.account-summary>span:nth-child(2){display:none}.os-sidebar nav button{justify-content:center;min-height:48px;padding:12px 8px}.os-sidebar-bottom{padding-top:20px}.account-summary{flex-direction:column}.os-main{padding:25px 24px 35px}.home-welcome{padding:28px}.welcome-art{min-width:165px;transform:scale(.85)}.home-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card{padding:20px}.metric-card strong{font-size:34px}.mini-notes{grid-template-columns:repeat(2,minmax(0,1fr))}.connection-grid,.ai-layout{grid-template-columns:1fr}.auth-story{padding:40px}.auth-story h1{font-size:34px}.today-label{display:none}.os-footer{padding:0 24px 25px}.calendar-access .topbar-inner{flex-wrap:wrap}.calendar-access .profiles{flex-basis:100%;order:2}.calendar-access .hero{padding:25px}.calendar-access .hero h1{font-size:28px}}@media (width<=620px){.os-layout{display:block}.os-sidebar{border-right:0;border-bottom:1.5px solid var(--ink);height:auto;padding:16px 17px 12px;position:relative;overflow:visible}.os-brand{min-height:44px;padding:0 0 15px;font-size:21px}.os-brand>span{display:block}.os-brand img{width:34px;height:34px}.os-brand small{font-size:10px}.os-sidebar nav{scrollbar-width:thin;flex-direction:row;gap:7px;padding:2px 0 7px;overflow-x:auto}.os-sidebar nav button{background:#fffcef;border:1px solid #a4b797;flex-direction:column;gap:5px;min-width:70px;min-height:67px;padding:9px 10px;font-size:11px}.os-sidebar nav button span{white-space:nowrap;display:block}.os-sidebar-bottom{margin:0;padding:0;position:absolute;top:12px;right:15px}.account-summary{border:0;flex-direction:row;gap:2px;padding:0}.account-summary>.avatar{display:none}.account-summary .icon-button{width:42px;min-width:42px}.os-topbar{height:53px;padding:0 18px}.os-main{padding:23px 17px 32px}.os-page-heading{margin-bottom:23px}.os-page-heading h1{font-size:26px}.os-page-heading p{font-size:13px;line-height:1.75}.page-illustration{width:35px;margin:0}.home-welcome{min-height:280px;padding:26px 24px}.home-welcome h2{z-index:1;font-size:27px;position:relative}.home-welcome p{max-width:220px;font-size:13px}.home-welcome .eyebrow{font-size:9px}.welcome-art{display:none}.onboarding-strip{flex-direction:column;align-items:flex-start;padding:20px}.onboarding-strip h3{font-size:17px}.metric-grid{gap:12px}.metric-card{padding:16px}.metric-card>span{font-size:12px}.metric-card>span svg{width:18px}.metric-card strong{font-size:29px}.metric-card small{font-size:10px}.os-card{border-radius:15px;padding:20px}.section-heading h2{font-size:18px}.mini-notes,.card-grid,.notes-grid{grid-template-columns:1fr}.panel-toolbar{align-items:stretch}.panel-toolbar>.primary{flex:1}.panel-search{width:100%;min-width:0}.panel-search input{max-width:none}.toolbar-group{gap:10px}.toolbar-group label{font-size:12px}.panel-empty{padding:35px 20px}.panel-empty h2{font-size:20px}.panel-empty p{font-size:13px}.routine-main{gap:10px}.routine-main h2{font-size:18px}.routine-main .avatar{width:35px;height:35px;font-size:11px}.routine-main .card-actions{flex-direction:column}.routine-bottom{margin-top:20px}.balance-card{flex:1;min-width:140px;padding:18px}.balance-grid{gap:12px}.balance-card strong{font-size:27px}.history-row{gap:10px}.history-row .button-row{justify-content:flex-end;width:100%}.recipe-card{padding:0}.recipe-import{gap:10px}.recipe-import>svg{display:none}.recipe-import label{flex-basis:100%}.recipe-import button{width:100%}.meal-tools>div{min-width:0}.meal-tools .primary{width:100%}.shopping-summary{flex-wrap:wrap;gap:8px;padding:16px;font-size:14px}.shopping-summary span{font-size:12px}.shopping-list{padding:0 16px}.shopping-row{gap:11px}.shopping-row .card-actions{flex-direction:column}.note-card{padding:21px}.os-footer{flex-direction:column;gap:5px;padding:0 18px 25px;font-size:11px}.auth-layout{display:block}.auth-story{border-right:0;border-bottom:1.5px solid var(--ink);padding:30px}.auth-brand{margin-bottom:14px;font-size:20px}.auth-story h1{margin:15px 0;font-size:29px}.auth-story p{font-size:13px}.auth-pills{gap:7px;margin-top:20px}.auth-pills span{padding:7px 10px;font-size:11px}.auth-card{margin:0 auto;padding:30px 25px}.auth-card h2{font-size:25px}.modal{max-height:92dvh;padding:20px}.modal-header h2{font-size:22px}.form-row{gap:9px}.form-actions .draft-hint{width:100%;margin:0 0 5px}.ingredient-row{grid-template-columns:minmax(70px,2fr) minmax(45px,1fr) minmax(45px,1fr) 40px;gap:5px}.ingredient-row input{padding:8px 6px;font-size:12px}.weekday-picker{gap:5px}.weekday-picker button{width:38px;min-width:38px}.settings-tabs{overflow-x:auto}.settings-tabs button{min-width:65px;font-size:12px}.settings-tabs svg{display:none}.calendar-access .hero{padding:22px;display:block}.calendar-access .hero h1{font-size:26px}.calendar-access .hero-right{margin-top:17px}.calendar-access .hero-sticker{display:none}.calendar-access .event-time{width:48px;font-size:12px}.calendar-access .event-owner,.calendar-access .event-meta,.calendar-access .event-note{font-size:12px}.calendar-access .week-strip{grid-template-columns:repeat(7,minmax(67px,1fr))}.calendar-access .month-date{min-height:34px;font-size:12px}.calendar-access .month-event{font-size:11px}.calendar-access .month-event span{font-size:10px}.calendar-access .month-cell{min-height:108px;padding:2px}.calendar-access .header-actions{margin-left:auto}.calendar-access .brand-date{min-width:0}.calendar-access .calendar-options{gap:10px}.calendar-access .calendar-options label{font-size:12px}.calendar-access .profile{min-width:65px;font-size:12px}.calendar-access .empty-state p{font-size:13px}.calendar-access .agenda-heading h3{font-size:16px}.calendar-access .filter-chips button{min-height:44px;font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media print{.os-sidebar,.os-topbar,.os-footer,.panel-toolbar,.card-actions,.toast{display:none!important}.os-layout{display:block}.os-main{padding:0}.os-card,.note-card,.meal-day{break-inside:avoid;box-shadow:none}.meal-week{grid-template-columns:repeat(7,1fr);overflow:visible}.home-welcome{box-shadow:none}.os-main button{display:none}}.meal-actions{flex-wrap:wrap;gap:.35rem;margin-top:.7rem;display:flex}.meal-item[draggable=true]{cursor:grab}.meal-item[draggable=true]:active{cursor:grabbing}.cooking-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:1.6rem;margin:1.4rem 0;display:grid}.cooking-ingredients{gap:1rem;padding:0;list-style:none;display:grid}.cooking-ingredients input:checked+span{color:var(--muted);text-decoration:line-through}.cooking-ingredients .check-label{align-items:start}.cooking-instruction{min-height:7rem;font-size:1.35rem;line-height:1.8}.cooking-step details{margin-top:1.4rem}.cooking-step li{margin-bottom:1rem}.cooking-view input[type=number]{width:7rem}.meal-portion{color:var(--text);font-weight:600}@media (width<=650px){.cooking-columns{grid-template-columns:minmax(0,1fr)}}.subscription-row,.external-write-row{border-top:1px solid var(--border);margin-top:1rem;padding:1rem 0}.external-writes{border-top:1px solid var(--border);margin-top:1.4rem;padding-top:1rem}.external-original{background:var(--surface-muted,#f4f5ed);overflow-wrap:anywhere;border-radius:12px;margin-bottom:1rem;padding:1rem}.cooking-ingredients .check-label{min-height:44px;font-size:1rem;line-height:1.7}.cooking-ingredients input{flex-shrink:0;width:24px;height:24px;margin-top:2px}.connection-card .field-hint{color:var(--os-muted);font-size:12px}.connection-card{min-width:0}.connection-card label,.external-writes,.external-write-row{overflow-wrap:anywhere;min-width:0}.connection-card input,.connection-card select,.connection-card textarea{min-width:0;max-width:100%}.connection-card .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=620px){.connection-card .form-row{grid-template-columns:minmax(0,1fr)}}.os-layout input.visually-hidden{border:0;width:1px;min-width:0;height:1px;min-height:0;padding:0}:root{--ink:#234b3d;--paper:#fcf9ed;--white:#fffefa;--lime:#d2f66d;--yellow:#fff1a7}.color-sage{--tint:#e8f1df;--tint-strong:#a1cda0;background-color:var(--tint)}.color-peach{--tint:#fae7de;--tint-strong:#e5aa93;background-color:var(--tint)}.color-lavender{--tint:#eeeafa;--tint-strong:#b7a5d6;background-color:var(--tint)}.color-sky{--tint:#e2f0f9;--tint-strong:#9dc8db;background-color:var(--tint)}.color-rose{--tint:#f6e4ef;--tint-strong:#d9a4bd;background-color:var(--tint)}.color-sun{--tint:#fcf4d5;--tint-strong:#d8c46f;background-color:var(--tint)}.day-tint-0{--day-tint:#e0f0d3}.day-tint-1{--day-tint:#dbeffa}.day-tint-2{--day-tint:#e7def8}.day-tint-3{--day-tint:#f9e1d8}.day-tint-4{--day-tint:#fff1b3}.day-tint-5{--day-tint:#d6eee5}.day-tint-6{--day-tint:#efdef0}.avatar[class*=color-]{background:var(--tint-strong)}.success-note{background:#e4f2d7;border:1px solid #a5c192;border-radius:9px;align-items:center;gap:7px;margin-bottom:14px;padding:10px 12px;font-size:12px;display:flex}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Segoe UI,Malgun Gothic,system-ui,sans-serif;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button,.button{border:1.5px solid var(--ink);background:var(--white);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 17px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}button:hover,.button:hover{background:#f0f3e7}button:active,.button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #368cbd}button svg,.button svg{flex-shrink:0}button.primary,.button.primary{background:var(--lime);box-shadow:0 3px 0 var(--ink)}button.primary:hover,.button.primary:hover{box-shadow:0 4px 0 var(--ink);background:#c4f253;transform:translateY(-1px)}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{letter-spacing:-.055em}button.icon-button{width:44px;min-width:44px;height:44px;padding:0}.spacer{flex:1}.inline{align-items:center;gap:6px;display:inline-flex}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--lime);color:var(--ink);z-index:20;padding:12px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.topbar{border-bottom:1.5px solid var(--ink);background:#fffcf2f7}.topbar-inner{align-items:center;gap:28px;max-width:1380px;min-height:106px;margin:auto;padding:16px 42px;display:flex}.brand-date{text-align:left;background:0 0;border:0;flex-shrink:0;min-width:158px;padding:0;display:block}.brand-date:hover{background:0 0}.brand-date>span{letter-spacing:.14em;color:#586e5f;font-size:11px;font-weight:800;display:block}.brand-date strong{letter-spacing:-.045em;align-items:center;gap:9px;font-size:27px;font-weight:900;display:flex}.today-dot{background:#97be68;border-radius:50%;width:8px;height:8px;display:block}.profiles{scrollbar-width:thin;flex:1;align-items:center;gap:7px;padding:3px 2px;display:flex;overflow-x:auto}.profile{background:0 0;border:1.5px solid #0000;border-radius:12px;flex-direction:column;flex-shrink:0;gap:5px;min-width:68px;max-width:95px;padding:6px 10px;font-size:11px;line-height:1.25}.profile>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:70px;overflow:hidden}.profile.active{border-color:var(--ink);box-shadow:0 3px 0 var(--ink);background:#fff2ae}.avatar{border:1.5px solid var(--ink);background:#f3f0e5;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:37px;height:37px;font-size:11px;font-weight:800;display:inline-flex}.all-avatar{background:var(--ink);color:var(--paper)}.add-profile .avatar{color:#567468;background:0 0;border-style:dashed}.header-actions{align-items:center;gap:12px;display:flex}.save-badge{white-space:nowrap;background:#e4eee4;border-radius:30px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;font-weight:800;display:flex}.save-badge>span{background:#3c8061;border-radius:50%;width:6px;height:6px}.save-badge.offline{background:#ffe0c8}.save-badge.offline>span{background:#b4512a}.settings-button{background:#fffcf4!important}.header-add{border-radius:12px!important}.page-shell{max-width:1380px;margin:auto;padding:25px 42px 32px}.hero{border:2px solid var(--ink);min-height:182px;box-shadow:0 5px 0 var(--ink);background:linear-gradient(108deg,#e4dcfa 0%,#e1e6fa 48%,#d8edf7 100%);border-radius:23px;justify-content:space-between;align-items:center;gap:30px;padding:27px 34px 30px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;border:17px solid #ffffff40;border-radius:50%;width:150px;height:150px;position:absolute;top:-100px;right:23%}.eyebrow{letter-spacing:.17em;color:#53656c;align-items:center;gap:6px;font-size:9px;font-weight:850;display:flex}.eyebrow>span{background:#466559;border-radius:50%;width:5px;height:5px}.hero h1{flex-wrap:wrap;align-items:center;gap:14px;margin:10px 0 9px;font-size:40px;font-weight:950;line-height:1.25;display:flex}.hero p{color:#4b5f5e;font-size:13px;font-weight:600}.hero-star{color:#567c65;font-size:45px;line-height:1}.hero-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:18px;display:flex}.hero-sticker{background:#fffcef;border:1px solid #819890;border-radius:6px;align-items:center;gap:7px;padding:6px 12px;font-size:11px;font-weight:700;display:flex;transform:rotate(5deg);box-shadow:2px 2px #82978d}.add-event-button{gap:10px;min-height:48px;padding:11px 19px;font-size:14px}.add-event-button svg:last-child{margin-left:12px}.calendar-toolbar{background:var(--yellow);border:1.5px solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:15px;justify-content:space-between;align-items:center;gap:16px;margin-top:23px;padding:12px;display:flex}.date-controls{gap:6px;display:flex}.date-controls button{height:40px;min-height:40px}.date-controls .icon-button{width:38px;min-width:38px}.today-button{padding:8px 15px}.calendar-toolbar h2{text-align:center;font-size:19px;font-weight:900;line-height:1.35}.calendar-toolbar h2>span{letter-spacing:.02em;color:#657151;margin-top:2px;font-size:10px;font-weight:600;display:block}.view-toggle{background:#fff9d7;border:1px solid #96a18b;border-radius:11px;gap:2px;padding:4px;display:flex}.view-toggle button{min-height:36px;box-shadow:none;background:0 0;border:none;border-radius:7px;padding:7px 17px;font-size:12px}.view-toggle button[aria-pressed=true]{background:var(--lime);box-shadow:0 1px 3px #213e331e}.filter-bar{justify-content:space-between;align-items:center;gap:15px;margin:19px 0 16px;display:flex}.filter-chips{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.filter-chips button{white-space:nowrap;border:1px solid #92a394;border-radius:30px;gap:7px;min-height:34px;padding:7px 13px;font-size:11px}.filter-chips button.selected{background:var(--lime);border-color:var(--ink)}.filter-chips button>span:not(.dot){opacity:.7;font-size:9px}.dot{border-radius:50%;width:7px;height:7px;display:inline-block;background:var(--tint-strong)!important;border:1px solid #47685c!important}.search-box{color:#718071;border-bottom:1px solid #adbbad;align-items:center;gap:7px;min-width:210px;max-width:250px;padding:0 4px;display:flex}.search-box input{outline-offset:0;width:100%;min-height:34px!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:5px!important;font-size:12px!important}.search-box .icon-button{background:0 0;border:0;width:26px;min-width:26px;height:26px;min-height:26px}.calendar-panel{border:2px solid var(--ink);background:var(--white);box-shadow:0 5px 0 var(--ink);outline-offset:6px;border-radius:21px;padding:19px;scroll-margin-top:20px}.panel-topline{color:#687b70;justify-content:space-between;align-items:center;gap:15px;padding:0 3px 14px;font-size:11px;display:flex}.panel-topline>span:first-child{align-items:center;gap:7px;display:flex}.period-count{white-space:nowrap;font-size:10px}.week-strip{background:#f7f2da;border:1px solid #bac6b6;border-radius:15px;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:7px;display:grid}.week-day{background:var(--day-tint);border:1px solid #c1d0c0;border-radius:11px;flex-direction:column;gap:2px;min-height:106px;padding:13px 8px;display:flex;position:relative;box-shadow:0 2px #c7d3c4}.week-day:hover{background:var(--day-tint);border-color:var(--ink);transform:translateY(-2px)}.weekday-name{letter-spacing:.03em;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;font-size:10px;font-weight:750;display:flex}.week-day strong{letter-spacing:-.04em;font-size:28px;font-weight:900;line-height:1.3}.week-day small{color:#6c7f71;font-size:9px;font-weight:500}.week-day.selected-day{border-color:var(--ink);color:var(--white);box-shadow:0 3px 0 var(--ink);background:#157c68}.week-day.selected-day small{color:#d6eee7}.day-today{color:#326351;background:#fefce8;border-radius:4px;padding:0 4px;font-size:8px;font-weight:600;position:absolute;top:7px;right:6px}.agenda-heading{justify-content:space-between;align-items:center;gap:14px;margin:27px 4px 17px;display:flex}.agenda-heading .eyebrow{color:#889389;letter-spacing:.13em;margin-bottom:3px;font-size:8px}.agenda-heading h3{align-items:center;gap:10px;font-size:18px;display:flex}.agenda-heading h3>span{letter-spacing:0;background:#edf0e7;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;display:inline-flex}.small-button{white-space:nowrap;border:1px solid #8b9f91;min-height:33px;padding:6px 11px;font-size:11px}.agenda-list{flex-direction:column;gap:12px;padding:0 4px 5px;display:flex}.event-card{text-align:left;background:var(--tint);border:1px solid #a2b0a4;border-radius:13px;align-items:center;gap:18px;width:100%;min-height:100px;padding:19px 22px;display:flex;box-shadow:0 3px #829688}.event-card:hover{background:var(--tint);border-color:var(--ink);transform:translateY(-1px);box-shadow:0 4px #5d7c69}.event-time{letter-spacing:-.02em;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:2px;width:72px;font-size:13px;display:flex}.event-time>svg{display:none}.event-time small{font-size:9px;font-weight:500}.event-card-rule{background:var(--tint-strong);border-radius:2px;flex-shrink:0;align-self:stretch;width:3px;min-height:44px}.event-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.event-owner{color:#65736a;letter-spacing:.01em;font-size:10px;font-weight:600}.event-info>strong{overflow-wrap:anywhere;letter-spacing:-.025em;font-size:16px}.event-meta{color:#68796f;flex-wrap:wrap;gap:3px 12px;font-size:10px;font-weight:500;display:flex}.event-meta>span{align-items:center;gap:4px;display:flex}.event-note{color:#647367;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:4px;font-size:11px;font-weight:400;overflow:hidden}.event-avatar{background:var(--tint-strong);color:#183c2f;border-color:#ffffffa0;width:30px;height:30px;font-size:9px}.event-arrow{color:#749484}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:250px;padding:20px;display:flex}.empty-state h4{margin:15px 0 7px;font-size:17px;font-weight:800}.empty-state p{color:#7a877b;font-size:11px}.empty-add{background:0 0;border:none;border-bottom:1px solid #809e78;border-radius:0;min-height:32px;margin-top:15px;padding:5px 0;font-size:12px}.empty-art{width:130px;height:74px;position:relative}.little-calendar{border:1.5px solid var(--ink);background:#fff4b7;border-radius:10px;flex-direction:column;justify-content:flex-end;align-items:center;width:63px;height:64px;padding-bottom:8px;display:flex;position:absolute;top:5px;left:34px;transform:rotate(-9deg);box-shadow:3px 4px #b5c9b2}.little-calendar>div{border-bottom:1.5px solid var(--ink);background:#c6dfa9;border-radius:8px 8px 0 0;width:100%;height:16px;position:absolute;top:16px;transform:translateY(-16px)}.little-calendar svg{color:#628366;stroke-width:1.5px}.sparkle-one{color:#a1b083;font-size:31px;position:absolute;top:0;right:4px}.sparkle-two{color:#ab9ec6;font-size:32px;position:absolute;bottom:0;left:2px}.month-grid{border:1px solid #b7c5b6;border-radius:13px;overflow:hidden}.month-weekdays,.month-row{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{background:#f4f2d9;border-bottom:1px solid #b7c5b6}.month-weekdays>span{text-align:center;padding:9px;font-size:11px;font-weight:700}.month-weekdays>span:first-child{color:#9b645e}.month-row+.month-row{border-top:1px solid #dce3d7}.month-cell{background:#fffefa;min-width:0;min-height:116px;padding:6px}.month-cell+.month-cell{border-left:1px solid #dce3d7}.month-cell.outside{background:#f7f8f2}.month-cell.outside .month-date{color:#a5afa3}.month-cell.selected-cell{background:#edf5e5;box-shadow:inset 0 0 0 2px #84a17d}.month-date{background:0 0;border:0;border-radius:8px;justify-content:flex-start;gap:3px;min-width:32px;min-height:29px;margin-bottom:4px;padding:4px 7px;font-size:12px;display:flex}.month-date small{font-size:8px;font-weight:500}.month-date.is-today{color:#fff;background:#1f735d}.month-events{flex-direction:column;gap:3px;display:flex}.month-event{background:var(--tint);border:0;border-left:3px solid var(--tint-strong);white-space:nowrap;text-overflow:ellipsis;text-align:left;border-radius:3px;max-width:100%;min-height:23px;padding:3px 5px;font-size:10px;font-weight:600;display:block;overflow:hidden}.month-event:hover{background:var(--tint);filter:brightness(.96)}.month-event>span{margin-right:4px;font-size:9px;font-weight:400}.more-events{text-align:left;background:0 0;border:0;justify-content:flex-start;min-height:20px;padding:1px 4px;font-size:9px}.page-footer{color:#758573;justify-content:space-between;align-items:center;gap:12px;margin:18px 4px 0;font-size:10px;display:flex}.page-footer>span{align-items:center;gap:6px;display:flex}.page-footer button{min-height:28px;color:inherit;background:0 0;border:0;gap:3px;padding:0;font-size:10px;font-weight:500}.footer-divider{color:#bdc7b7;margin:0 7px}.onboarding{background:#eaf1e1;border:1px solid #b2c3ad;border-radius:14px;align-items:center;gap:15px;margin-top:24px;padding:19px 23px;display:flex;position:relative;overflow:hidden}.onboarding-icon{background:#fff9e9;border:1px solid #bacbad;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;display:flex}.onboarding strong{font-size:13px}.onboarding p{color:#71816b;margin-top:3px;font-size:11px}.onboarding button{white-space:nowrap;min-height:37px;margin-left:auto;font-size:11px}.onboarding-sparkle{color:#96b08a;flex-shrink:0;margin-left:8px}.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;padding:32px;display:flex}.loading-screen h1{font-size:26px}.loading-screen p{color:#6c806e;max-width:600px}.modal{border:2px solid var(--ink);box-shadow:0 7px 0 var(--ink), 0 24px 80px #203c3233;color:var(--ink);background:#fffcf4;border-radius:21px;width:min(520px,100vw - 28px);max-height:90dvh;padding:26px;overflow-y:auto}.modal.wide{width:min(650px,100vw - 28px)}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#233d3466}.modal-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:23px;display:flex}.modal-header h2{font-size:24px}.modal-header .icon-button{background:#eceedd;border:0;border-radius:50%;width:34px;min-width:34px;height:34px;min-height:34px}form fieldset{border:0;min-width:0;margin:0;padding:0}label{margin-bottom:17px;font-size:12px;font-weight:700;display:block}label>small{color:#8b9487;margin-left:3px;font-size:10px;font-weight:400}input:not([type=checkbox]),select,textarea{background:#fffefa;border:1px solid #a7b6a3;border-radius:9px;width:100%;min-height:43px;margin-top:7px;padding:11px 12px;font-size:13px;font-weight:400;display:block}input::placeholder,textarea::placeholder{color:#98a28f}textarea{resize:vertical}.field-title{border-top:1px solid #e0e5d6;align-items:center;gap:6px;margin-bottom:10px;padding-top:15px;font-size:12px;font-weight:750;display:flex}.check-label{align-items:center;gap:6px;margin:0 0 0 auto;font-size:11px;font-weight:500;display:flex}.check-label input{accent-color:#26775b;width:16px;height:16px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-hint{color:#76866f;align-items:flex-start;gap:5px;margin:-5px 0 18px;font-size:10px;line-height:1.7;display:flex}.field-hint svg{flex-shrink:0;margin-top:3px}.form-actions{border-top:1px solid #e2e6d7;justify-content:flex-end;align-items:center;gap:9px;margin-top:20px;padding-top:17px;display:flex}.form-actions button{font-size:12px}.text-danger{color:#a74736;background:0 0;border:0;padding:8px}.danger{color:#8b3528;background:#ffdfd2;border-color:#934f3e}.form-error,.connection-alert{color:#97402a;background:#fff0e6;border:1px solid #c87f61;border-radius:10px;margin:12px 0;padding:12px 14px;font-size:12px}.connection-alert{justify-content:space-between;align-items:center;gap:14px;margin:0 0 20px;display:flex}.connection-alert button{white-space:nowrap;min-height:32px;font-size:11px}.delete-confirm,.restore-confirm{background:#fff0d8;border:1px solid #d6bc88;border-radius:11px;margin:12px 0;padding:16px;font-size:12px}.delete-confirm p,.restore-confirm p{line-height:1.8}.restore-confirm h3{margin-bottom:6px;font-size:16px}.button-row{justify-content:flex-end;gap:7px;margin-top:13px;display:flex}.button-row button{min-height:36px;font-size:11px}.settings-tabs{background:#eeefdf;border:1px solid #c1cbb5;border-radius:12px;gap:4px;margin-bottom:20px;padding:4px;display:flex}.settings-tabs button{background:0 0;border:0;border-radius:8px;flex:1;gap:6px;min-height:38px;padding:8px 10px;font-size:12px}.settings-tabs button[aria-selected=true]{background:#fffcf3;box-shadow:0 1px 3px #213e3322}.section-copy{color:#77836e;margin-bottom:13px;font-size:12px}.member-list{flex-direction:column;gap:7px;max-height:260px;display:flex;overflow-y:auto}.member-row{background:#fffefa;border:1px solid #d3dcc8;border-radius:10px;align-items:center;gap:12px;padding:9px 12px;display:flex}.member-row>strong{overflow-wrap:anywhere;font-size:13px}.member-row .icon-button{background:0 0;border:0;width:31px;min-width:31px;height:33px;min-height:33px}.member-form{background:#f1f3e7;border:1px solid #ccd6bd;border-radius:12px;margin-top:20px;padding:17px}.member-form h3{margin-bottom:13px;font-size:16px}.field-label{margin-bottom:8px;font-size:12px;font-weight:700;display:block}.color-picker{flex-wrap:wrap;gap:10px;display:flex}.color-choice{background:var(--tint-strong);border:1px solid #a4b49c;border-radius:50%;width:36px;min-width:36px;height:36px;min-height:36px;padding:0}.color-choice[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:3px}.color-choice:hover{background:var(--tint-strong)}.soft-note{color:#76836c;background:#f4f4e9;border-radius:9px;padding:13px;font-size:12px}.privacy-note{background:#eaf1e1;border:1px solid #c5d4ba;border-radius:12px;align-items:flex-start;gap:12px;margin:10px 0 18px;padding:16px;display:flex}.privacy-note>svg{flex-shrink:0;margin-top:2px}.privacy-note strong{font-size:13px}.privacy-note p{color:#64765d;margin-top:5px;font-size:11px;line-height:1.8}.backup-actions{flex-wrap:wrap;gap:10px;margin:16px 0 23px;display:flex}.backup-actions button,.backup-actions .button{flex:1;font-size:12px}.section-heading{justify-content:space-between;align-items:center;gap:8px;margin:20px 0 11px;display:flex}.section-heading h3{font-size:16px}.backup-list{border:1px solid #d2dcc6;border-radius:10px;max-height:300px;overflow-y:auto}.backup-row{background:#fffefa;align-items:center;gap:11px;padding:11px;display:flex}.backup-row+.backup-row{border-top:1px solid #e2e8d7}.backup-row>div{flex:1}.backup-row strong{font-size:11px;font-weight:600;display:block}.backup-row small{color:#859179;margin-top:2px;font-size:9px;display:block}.backup-row>svg{color:#8b9e7d;flex-shrink:0}.toast{z-index:30;color:#fffef1;background:#284e3d;border:1px solid #142f24;border-radius:12px;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:13px 14px 13px 18px;font-size:12px;animation:.2s ease-out toast-in;display:flex;position:fixed;bottom:26px;left:50%;transform:translate(-50%);box-shadow:0 6px 22px #243f322e}.toast>svg{flex-shrink:0}.toast button{width:25px;min-height:25px;color:inherit;background:0 0;border:0;padding:0}.toast button:hover{background:#ffffff18}@keyframes toast-in{0%{opacity:0;bottom:16px}to{opacity:1;bottom:26px}}@media (width>=1500px){.page-shell{padding-top:32px}.hero{min-height:192px}.week-day{min-height:115px}.empty-state{min-height:285px}}@media (width<=1050px){.topbar-inner{gap:15px;padding:13px 25px}.brand-date{min-width:125px}.brand-date strong{font-size:24px}.page-shell{padding:22px 25px 28px}.save-badge{display:none}.header-actions{gap:8px}.hero{min-height:170px;padding:25px 28px}.hero h1{font-size:34px}.filter-bar{align-items:flex-start}.search-box{min-width:180px}.profile{min-width:60px;padding:6px 7px}.day-today{top:3px;right:3px}.weekday-name{font-size:9px}.month-cell{min-height:110px}.event-card{gap:14px}}@media (width<=760px){.topbar-inner{min-height:unset;flex-wrap:wrap;gap:8px;padding:12px 19px 8px}.brand-date{flex:1}.brand-date>span{font-size:9px}.brand-date strong{font-size:22px}.profiles{flex-basis:100%;order:3;gap:8px;padding:4px 0 6px}.profile{min-width:62px;padding:5px 8px}.avatar{width:32px;height:32px;font-size:10px}.profile{font-size:10px}.header-actions .icon-button{width:38px;min-width:38px;height:38px;min-height:38px}.save-badge{font-size:9px;display:flex}.page-shell{padding:17px 16px 24px}.hero{border-radius:18px;gap:12px;min-height:170px;padding:23px 22px}.hero h1{gap:8px;margin:10px 0 9px;font-size:29px}.hero-star{font-size:31px}.hero .eyebrow{letter-spacing:.1em;font-size:7px}.hero p{font-size:11px}.hero-right{gap:14px}.hero-sticker{padding:5px 8px;font-size:9px}.hero-sticker svg{width:13px}.add-event-button{min-height:42px;padding:9px 12px;font-size:12px}.add-event-button svg:last-child{display:none}.calendar-toolbar{flex-wrap:wrap;gap:10px;margin-top:19px;padding:9px}.calendar-toolbar h2{order:-1;width:100%;margin:5px 0 3px;font-size:18px}.calendar-toolbar h2>span{font-size:9px}.date-controls button{height:35px;min-height:35px;font-size:11px}.date-controls .icon-button{width:33px;min-width:33px}.view-toggle button{min-height:31px;padding:5px 15px;font-size:11px}.filter-bar{flex-direction:column;gap:11px;margin:17px 0 13px}.filter-chips{gap:5px}.filter-chips button{min-height:31px;padding:6px 10px;font-size:10px}.search-box{background:#fffdf5;border:1px solid #c0c9b7;border-radius:9px;align-self:flex-end;width:100%;min-width:0;max-width:none;padding:0 9px}.calendar-panel{border-radius:16px;padding:12px}.panel-topline{padding-bottom:11px;font-size:9px}.panel-topline svg{width:13px}.period-count{font-size:9px}.week-strip{border-radius:11px;grid-template-columns:repeat(7,minmax(65px,1fr));gap:5px;padding:5px;overflow-x:auto}.week-day{border-radius:8px;min-height:95px;padding:12px 3px 8px}.week-day strong{font-size:25px}.week-day small,.weekday-name{font-size:8px}.day-today{font-size:7px;top:2px;right:2px}.agenda-heading{gap:7px;margin:21px 1px 13px}.agenda-heading h3{gap:5px;font-size:15px}.agenda-heading .eyebrow{letter-spacing:.08em;font-size:6px}.agenda-heading .small-button{gap:4px;min-height:31px;padding:6px 7px;font-size:9px}.agenda-heading .small-button svg{width:13px}.agenda-list{gap:10px;padding:0 1px 4px}.event-card{gap:10px;min-height:94px;padding:14px 11px}.event-time{width:44px;font-size:11px}.event-time small{font-size:8px}.event-info>strong{font-size:14px}.event-owner{font-size:9px}.event-meta{gap:2px 6px;font-size:9px}.event-avatar{width:25px;height:25px;font-size:8px}.event-arrow{display:none}.event-card-rule{width:2px}.empty-state{min-height:247px;padding:20px 7px}.empty-state h4{font-size:14px}.empty-state p{max-width:260px;font-size:10px}.empty-add{font-size:11px}.month-cell{min-height:91px;padding:3px}.month-date{min-width:24px;min-height:27px;padding:3px 4px;font-size:10px}.month-date small{display:none}.month-event{border-left-width:2px;min-height:20px;padding:3px 2px;font-size:8px}.month-event>span{display:none}.month-weekdays>span{padding:7px;font-size:10px}.more-events{min-height:18px;padding:2px;font-size:7px}.page-footer{flex-direction:column;gap:3px;margin-top:16px;font-size:9px}.page-footer button{font-size:9px}.onboarding{flex-wrap:wrap;gap:11px;margin-top:16px;padding:15px}.onboarding-icon{border-radius:9px;width:34px;height:34px}.onboarding-icon svg{width:20px}.onboarding>div{flex:1;min-width:210px}.onboarding strong{font-size:11px}.onboarding p{font-size:9px}.onboarding button{min-height:33px;margin-left:45px;padding:7px 12px;font-size:10px}.onboarding-sparkle{position:absolute;bottom:21px;right:20px}.modal{border-radius:17px;max-height:92dvh;padding:19px}.modal-header{margin-bottom:20px}.modal-header h2{font-size:21px}.settings-tabs{gap:2px;padding:3px}.settings-tabs button{gap:4px;padding:7px 6px;font-size:10px}.settings-tabs svg{width:14px}.backup-actions .button,.backup-actions button{padding:8px 9px;font-size:11px}.backup-row{gap:7px;padding:10px 8px}.backup-row strong{font-size:10px}.toast{width:max-content;font-size:11px;bottom:18px}.connection-alert{flex-direction:column;align-items:flex-start}.form-row{gap:9px}}@media (width<=420px){.hero{flex-direction:column;align-items:flex-start;padding:21px}.hero-right{flex-direction:row;justify-content:space-between;align-items:center;gap:8px;width:100%}.hero-sticker{order:2;transform:rotate(-3deg)}.hero h1{font-size:28px}.hero p{font-size:11px}.hero-right .add-event-button{min-height:38px;font-size:11px}.topbar-inner{padding:11px 16px 6px}.save-badge{padding:5px 7px;font-size:8px}.header-actions{gap:6px}.month-cell{min-height:80px}.month-event{font-size:7px}.month-date{font-size:9px}.onboarding>div{min-width:170px}.page-shell{padding-left:12px;padding-right:12px}.modal{padding:17px}.backup-row .small-button{padding:5px 6px;font-size:9px}.backup-row .small-button svg{display:none}.color-picker{gap:9px}.color-choice{width:32px;min-width:32px;height:32px;min-height:32px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
