:root{--bg:#f3f4f6;--surface:#fff;--surface-2:#f6f7f9;--ink:#18202b;--ink-2:#3a4452;--muted:#5a6472;--line:#e2e5ea;--line-2:#d5dae1;--brand:#1f7a5a;--brand-ink:#14553f;--brand-tint:#e1f2ec;--danger:#b4232c;--danger-tint:#fdecec;--today-tint:#e3f3ec;--today-wash:#1f7a5a0f;--event:#eef1f6;--event-ink:#253041;--event-edge:#7b8799;--meal:#fff0b8;--meal-ink:#4a3600;--lane-child-0:#f1eefc;--lane-child-1:#e6f0fc;--lane-adults:#f7f8fa;--lane-events:#fff;--lane-food:#fffcf0;--radius:16px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:#1b4a99}h1{margin:0;font-size:22px;font-weight:800}h2{margin:0;font-size:15px;font-weight:700}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--danger);font-weight:600}.grow{flex-grow:1}.stack{flex-direction:column;gap:4px;display:flex}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card.pad{flex-direction:column;gap:10px;padding:16px;display:flex}.scroll-x{overflow-x:auto}:focus-visible{outline-offset:2px;outline:3px solid #9cc3ff}.btn{border:1.5px solid var(--line-2);background:var(--surface);min-height:40px;color:var(--ink);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-2)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-ink)}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.btn.danger{color:var(--danger);border-color:#e7b3b6}.btn.ghost{background:0 0;border-color:#0000}.btn.small{min-height:32px;padding:0 12px;font-size:13px}.btn.big{min-height:52px;padding:0 24px;font-size:16px}.btn:disabled{opacity:.5;cursor:default}.icon-btn{border:1px solid var(--line-2);background:var(--surface);border-radius:50%;width:36px;height:36px}.round-btn{border:1px solid var(--line-2);background:var(--surface);width:36px;height:36px;color:var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.round-btn:hover{border-color:var(--ink-2)}.icon-btn{justify-content:center;align-items:center;padding:0;display:inline-flex}.icon{flex-shrink:0;display:block}.segmented{border:1px solid var(--line-2);background:var(--surface);border-radius:999px;padding:3px;display:inline-flex}.segmented button{color:var(--ink-2);background:0 0;border:0;border-radius:999px;padding:6px 14px;font-weight:600}.segmented button[aria-pressed=true]{background:var(--ink);color:#fff}.center{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:16px;display:flex}.picker{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.picker-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;align-items:center;gap:10px;min-width:140px;padding:20px 24px;font-size:18px;font-weight:700;display:flex}.picker-item:hover{border-color:var(--ink)}.avatar{color:#fff;object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.topbar{background:var(--surface);border-bottom:1px solid var(--line);z-index:20;position:sticky;top:0}.topbar-inner{flex-wrap:wrap;align-items:center;gap:12px 16px;max-width:1600px;margin:0 auto;padding:12px 24px;display:flex}.brand{color:var(--brand);align-items:center;gap:10px;font-size:18px;font-weight:800;text-decoration:none;display:flex}.mainnav{flex-wrap:wrap;flex-grow:1;gap:4px;display:flex}.mainnav a{color:var(--ink-2);border-radius:999px;padding:8px 14px;font-weight:600;text-decoration:none}.mainnav a[aria-current=page]{background:var(--ink);color:#fff}.me{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px;font-weight:600;display:flex}.page{max-width:1600px;margin:0 auto;padding:20px 24px 48px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:14px;display:flex}.toolbar h1 .muted{font-weight:500}.legend{color:var(--ink-2);gap:14px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend-ring{width:12px;height:12px;box-shadow:inset 0 0 0 2px var(--danger);border-radius:3px}.legend-conflict{background:var(--danger);border-radius:3px;width:12px;height:12px}.chip{--edge:transparent;--lift:0 1px 2px #18202b1a, 0 0 0 1px #18202b0d;text-align:left;background:var(--surface);width:100%;color:var(--ink-2);box-shadow:inset 3px 0 0 var(--edge), var(--lift);border:0;border-radius:8px;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 8px 6px 11px;font-size:12px;line-height:1.3;display:flex;position:relative}.chip strong{font-weight:700}.chip:hover{--lift:0 2px 6px #18202b24, 0 0 0 1px #18202b14}.chip-empty{--lift:none;outline-offset:-1.5px;outline:1.5px dashed #b9c0ca;--edge:transparent!important;color:var(--muted)!important;background:#ffffff73!important}.chip-deviation{--lift:0 0 0 2px var(--danger)}.chip-conflict{--lift:0 0 0 1.5px var(--danger);--edge:var(--danger)!important;background:var(--danger-tint)!important;color:#7d1219!important}.chip-warn{background:var(--danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:11px;font-weight:800;display:flex;position:absolute;top:4px;right:6px}.chip-away{color:var(--ink);background:linear-gradient(90deg,#fff 0 45%,#fff0 85%),repeating-linear-gradient(135deg,#fff 0 6px,#e8ebf0 6px 12px)}.chip-event{--edge:var(--event-edge);background:var(--event);color:var(--event-ink)}.chip-meal{--edge:#d9a400;background:var(--meal);color:var(--meal-ink)}.chip-done{opacity:.75}.chip-lunchbox{--edge:var(--brand);background:var(--brand-tint);color:var(--brand-ink)}.chip-static{cursor:default;background:var(--surface-2)}.add-btn{width:26px;height:26px;color:var(--muted);opacity:.6;background:0 0;border:1.5px dashed #b9c0ca;border-radius:50%;justify-content:center;align-self:flex-start;align-items:center;padding:0;display:inline-flex}.add-btn:hover,.add-btn:focus-visible{opacity:1;border-color:var(--ink-2);color:var(--ink)}.week-layout{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.week-main{flex:999 720px;min-width:0}.week-aside{flex-direction:column;flex:260px;gap:14px;display:flex}.aside-head{justify-content:space-between;align-items:baseline;display:flex}.attention{background:#fff8f8;border-color:#e7b3b6}.pool-item{border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;padding:8px 8px 8px 12px;display:flex}.pool-name{text-align:left;background:0 0;border:0;flex-direction:column;flex-grow:1;align-items:flex-start;gap:2px;padding:0;display:flex}.tavla{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:104px repeat(7,minmax(120px,1fr));min-width:940px;display:grid;overflow:hidden}.tavla-row{display:contents}.tavla-corner{border-bottom:1px solid var(--line-2)}.tavla-head{border-bottom:1px solid var(--line-2);border-left:1px solid var(--line);align-items:center;gap:6px;padding:12px 10px;font-size:14px;font-weight:700;display:flex}.tavla-head.is-today{background:var(--today-tint);color:var(--brand-ink);box-shadow:inset 0 -3px 0 var(--brand)}.today-badge{letter-spacing:.03em;background:var(--brand);color:#fff;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800}.tavla-label{color:var(--ink-2);border-bottom:1px solid var(--line);padding:12px 10px;font-size:12px;font-weight:800}.tavla-cell{border-bottom:1px solid var(--line);border-left:1px solid var(--line);flex-direction:column;gap:6px;min-height:48px;padding:8px;display:flex}.tavla-cell.is-today{background-image:linear-gradient(var(--today-wash), var(--today-wash))}.lane-child-0{background:var(--lane-child-0)}.lane-child-1{background:var(--lane-child-1)}.lane-adults{background:var(--lane-adults)}.lane-events{background:var(--lane-events)}.lane-food{background:var(--lane-food)}.matris{border-collapse:collapse;width:100%;min-width:980px}.matris th,.matris td{text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:8px 10px}.matris thead th{background:var(--surface-2);color:var(--ink-2);border-top:0;font-size:13px}.matris tbody th{white-space:nowrap;font-weight:700}.matris tr.is-today{background:var(--today-tint)}.matris .chip{width:auto;min-width:110px}.kal{min-width:1180px}.kal-row{grid-template-columns:52px repeat(7,minmax(0,1fr));display:grid}.kal-head>div,.kal-lanes>div{border-bottom:1px solid var(--line)}.kal-dayhead{border-left:1px solid #c9cfd7;padding:10px 8px;font-weight:700}.kal-dayhead.is-today{background:var(--today-tint);color:var(--brand-ink);box-shadow:inset 0 -3px 0 var(--brand)}.kal-lanelabels{background:var(--surface-2);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center;border-left:1px solid #c9cfd7;font-size:9px;font-weight:700;display:grid}.kal-lanelabels span{text-overflow:ellipsis;white-space:nowrap;padding:5px 0;overflow:hidden}.kal-allday>div,.kal-food>div{border-bottom:1px solid var(--line)}.kal-allday-cell,.kal-food-cell{border-left:1px solid #c9cfd7;flex-direction:column;gap:4px;min-height:32px;padding:4px;display:flex}.kal-food-cell{background:var(--lane-food)}.kal-axis-label{color:var(--muted);text-align:right;padding:8px 6px;font-size:11px}.kal-axis{position:relative}.kal-axis span{color:var(--muted);font-size:11px;position:absolute;right:8px}.kal-day{border-left:1px solid #c9cfd7;display:grid;position:relative}.kal-day.is-today:after{content:"";background:var(--today-wash);pointer-events:none;z-index:0;position:absolute;inset:0}.kal-lane{background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--hour) - 1px), #eef0f3 calc(var(--hour) - 1px) var(--hour));border-left:1px dotted #dde1e6;position:relative}.kal-lane:first-child{border-left:0}.kal-lane-0{background-color:var(--lane-child-0)}.kal-lane-1{background-color:var(--lane-child-1)}.kal-lane-2{background-color:var(--lane-adults)}.kal-lane:last-child{cursor:copy}.kal-block{--edge:transparent;--lift:0 1px 2px #18202b1f, 0 0 0 1px #18202b0d;z-index:1;text-align:center;background:var(--surface);white-space:pre-line;box-shadow:inset 3px 0 0 var(--edge), var(--lift);border:0;border-radius:6px;padding:2px 2px 2px 5px;font-size:10px;line-height:1.2;position:absolute;overflow:hidden}.kal-block.chip-event{text-align:left;--edge:var(--event-edge);background:var(--event);color:var(--event-ink)}.kal-vertical{writing-mode:vertical-rl;font-weight:600}.panel-backdrop{z-index:50;background:#18202b59;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.panel{background:var(--surface);border-radius:20px;flex-direction:column;width:min(480px,100%);max-height:min(760px,100%);animation:.14s ease-out panel-in;display:flex;box-shadow:0 24px 60px #18202b38}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (prefers-reduced-motion:reduce){.panel{animation:none}}.panel-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:20px 20px 12px;display:flex}.panel-head h2{font-size:19px}.panel-head p{margin:4px 0 0}.panel-body{flex-direction:column;flex-grow:1;gap:14px;padding:16px 20px;display:flex;overflow-y:auto}.panel-foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:12px 20px 20px;display:flex}.panel-foot>.btn.ghost:first-child{margin-left:-17.5px}@media (width<=640px){.panel-backdrop{align-items:flex-end;padding:0}.panel{border-radius:20px 20px 0 0;width:100%;max-height:88vh}}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field-row>.field{flex:140px}.field-label{color:var(--ink-2);font-size:12px;font-weight:700}.field-hint{color:var(--muted);font-size:12px}.field-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.field input[type=text],.field input[type=search],.field input[type=number],.field input[type=date],.field input[type=time],.field input[type=url],.field select,.field textarea{border:1.5px solid var(--line-2);background-color:var(--surface);border-radius:10px;width:100%;min-height:40px;padding:9px 11px}.field textarea{resize:vertical}.check{align-items:center;gap:8px;min-height:40px;font-weight:600;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--brand)}.person-picker{flex-wrap:wrap;gap:6px;display:flex}.person-opt{border:1.5px solid var(--line-2);background:var(--surface);border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:4px 12px 4px 4px;font-weight:600;display:inline-flex}.person-opt:not(:has(.avatar)){padding:4px 12px}.person-opt[aria-checked=true],.person-opt[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.dish-pick{border:1px solid var(--line);border-radius:12px;flex-direction:column;max-height:220px;display:flex;overflow-y:auto}.dish-pick button{border:0;border-bottom:1px solid var(--line);background:var(--surface);text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;display:flex}.dish-pick button:last-child{border-bottom:0}.dish-pick button[aria-selected=true]{background:var(--ink);color:#fff}.tag{white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.tag-vardag{background:var(--brand-tint);color:var(--brand-ink)}.tag-standard{color:#173f85;background:#e3ecfa}.tag-prova{color:#8a420c;background:#fce9d8}.tag-plain{background:var(--surface-2);color:var(--ink-2)}.card p{margin:0}.page.narrow{max-width:860px}.block{display:block}.link-btn{color:#1b4a99;text-underline-offset:2px;background:0 0;border:0;align-self:flex-start;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.link-btn.strong{color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}.eyebrow{letter-spacing:.06em;color:var(--muted);text-transform:uppercase;margin:18px 0 8px;font-size:13px;font-weight:700}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.pill.ok{background:var(--brand-tint);color:var(--brand-ink)}.pill.dark{background:var(--ink);color:#fff}.notice{background:var(--brand-tint);color:var(--brand-ink);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:12px 16px;display:flex}.search{border:1.5px solid var(--line-2);border-radius:10px;width:100%;min-height:42px;padding:10px 12px}.filter-row{flex-wrap:wrap;gap:6px;display:flex}.filter{border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600}.filter[aria-pressed=true],.filter[aria-selected=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.filter.dashed{border-style:dashed}.add-row{gap:8px;margin:14px 0;display:flex}.add-row input{border:1.5px solid var(--line-2);border-radius:999px;flex-grow:1;min-height:44px;padding:11px 14px}.sticky-actions{background:linear-gradient(to top, var(--bg) 70%, transparent);align-items:center;gap:10px;margin-top:10px;padding:12px 0 16px;display:flex;position:sticky;bottom:0}.btn.wide{flex-grow:1}.bar{background:var(--line);border-radius:999px;flex-grow:1;height:8px;overflow:hidden}.bar span{background:var(--brand);border-radius:999px;height:100%;transition:width .22s;display:block}.icon-btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.icon-btn.big{width:48px;height:48px;font-size:20px}.inline-input{border:1.5px solid var(--line-2);border-radius:10px;min-height:36px;padding:8px 12px}.stack-gap{flex-direction:column;gap:12px;margin-top:16px;display:flex}.action-row{flex-wrap:wrap;gap:8px;display:flex}.more-links{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:28px;padding-top:18px;display:flex}.back-link{min-height:32px;color:var(--ink-2);border-radius:999px;align-items:center;gap:4px;margin:0 0 12px -6px;padding:0 12px 0 6px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{background:var(--surface);color:var(--ink)}.empty-state{flex-wrap:wrap;align-items:center;gap:12px;padding:16px;display:flex}.empty-state p{flex-grow:1;margin:0}.stepper{flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.stepper a{background:var(--surface);border:1px solid var(--line-2);color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;padding:7px 16px 7px 7px;font-weight:600;text-decoration:none;display:inline-flex}.stepper a:hover{border-color:var(--ink-2)}.stepper .step-dot{background:var(--surface-2);width:26px;height:26px;color:var(--ink-2);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid}.stepper li.is-done .step-dot{background:var(--brand);color:#fff}.stepper a[aria-current=step]{background:var(--ink);color:#fff;border-color:var(--ink)}.stepper a[aria-current=step] .step-dot{color:var(--ink);background:#fff}.stepper li.is-done a[aria-current=step] .step-dot{background:var(--brand);color:#fff}.step-nav{gap:10px;margin-top:20px;display:flex}.plan-grid{border-collapse:collapse;width:100%;min-width:1000px}.plan-grid th,.plan-grid td{border-top:1px solid var(--line);vertical-align:top;text-align:left;border-left:1px solid #eef0f3;padding:10px}.plan-grid thead th{background:var(--surface-2);border-top:0}.plan-grid tbody th{width:130px;font-size:13px}.plan-grid tr.lane-child-0>*{background:var(--lane-child-0)}.plan-grid tr.lane-child-1>*{background:var(--lane-child-1)}.plan-grid tr.lane-adults>*{background:var(--lane-adults)}.hand-cell{border-radius:10px;flex-direction:column;gap:6px;display:flex}.hand-cell.has-conflict{background:var(--danger-tint);box-shadow:0 0 0 6px var(--danger-tint)}.hand-cell input[type=time]{border:1.5px solid var(--line-2);background:#fff;border-radius:8px;width:100%;max-width:110px;padding:6px 8px}.hand-cell input.is-deviation{border:2px solid var(--danger)}.hand-cell select{border:1.5px solid var(--line-2);background-color:#fff;background-position:right 8px center;border-radius:8px;width:100%;padding:7px 8px;font-size:13px;padding-right:28px!important}.mini-people{gap:4px;display:flex}.mini-people button{border:1.5px solid var(--line-2);width:34px;height:34px;color:var(--muted);background:#fff;border-radius:50%;padding:0;font-size:12px;font-weight:700}.plan-summary{flex-wrap:wrap;gap:16px;margin-top:16px;display:flex}.plan-summary>:first-child{flex:2 420px}.plan-summary>:last-child{flex:260px}.resolve{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.dist-bar{border-radius:999px;height:10px;display:flex;overflow:hidden}.meals-layout{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.bank{flex:340px;min-width:0;max-height:calc(100vh - 96px);position:sticky;top:76px;overflow:hidden}.bank-list{margin:0;padding:0;list-style:none;overflow-y:auto}.bank-list li{border-top:1px solid #eef0f3;align-items:center;gap:10px;padding:10px 2px;display:flex}.bank-list li[draggable=true]{cursor:grab}.bank-name{min-width:0;color:var(--ink);flex-direction:column;flex-grow:1;gap:2px;text-decoration:none;display:flex}.icon-btn.add{color:var(--brand);flex-shrink:0;font-weight:800}.meals-plan{flex-direction:column;flex:2 560px;gap:16px;min-width:0;display:flex}.pool{background:#fff6db;border-color:#f0e2b0}.pool-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.meal-days{grid-template-columns:repeat(7,minmax(116px,1fr));gap:8px;min-width:840px;display:grid}.meal-day{flex-direction:column;gap:10px;min-height:160px;padding:10px;display:flex}.meal-day.is-today{border-color:var(--brand);box-shadow:inset 0 3px 0 var(--brand)}.slot{border-radius:10px;flex-direction:column;gap:6px;padding:2px;display:flex}.slot[data-over],.pool[data-over]{outline:2px dashed var(--brand);outline-offset:2px}.slot-label{letter-spacing:.06em;color:var(--muted);font-size:11px;font-weight:700}.meal-card{text-align:left;background:var(--meal);color:var(--meal-ink);border:0;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;padding:9px 10px 9px 12px;line-height:1.3;display:flex;box-shadow:inset 3px 0 #d9a400,0 1px 2px #18202b14}.pool .meal-card{color:var(--ink);background:#fff}.meal-card[draggable=true]{cursor:grab}.meal-card.is-box{background:var(--brand-tint);color:var(--brand-ink);box-shadow:inset 3px 0 0 var(--brand)}.meal-card.is-done{opacity:.7}.drop-hint{color:var(--muted);background:0 0;border:1.5px dashed #b9c0ca;border-radius:10px;padding:8px;font-size:12px;font-weight:600}.suggest{border:1px solid var(--line-2);background:var(--surface-2);border-radius:999px;padding:6px 12px;font-weight:600}.dish-head{flex-wrap:wrap;justify-content:space-between;gap:16px;margin-bottom:14px;display:flex}.dish-head h1{margin:8px 0 4px;font-size:28px}.dish-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.ing-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ing-list li{gap:10px;display:flex}.ing-qty{min-width:80px;font-weight:700}.step-list{flex-direction:column;gap:10px;margin:0;padding-left:20px;line-height:1.5;display:flex}.servings{align-items:center;gap:8px;font-size:13px;display:inline-flex}.stars{gap:2px;display:flex}.stars button{color:#d5dae1;background:0 0;border:0;padding:0 2px;font-size:24px}.stars button.on{color:#e0a800}section.card.pad+section.card.pad{margin-top:14px}.cook{background:#fbfbfa;min-height:100vh;display:flex}.cook-ings{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;gap:14px;width:min(380px,40vw);height:100vh;padding:24px;display:flex;position:sticky;top:0;overflow-y:auto}.cook-back{font-weight:600;text-decoration:none}.cook-ings h1{font-size:28px;line-height:1.1}.cook-ings ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.cook-ings li{border-radius:10px;gap:10px;padding:8px 10px;font-size:17px;line-height:1.35;display:flex}.cook-ings li.is-active{background:var(--meal);color:var(--meal-ink)}.cook-ings .servings{font-size:15px}.cook-steps{flex-direction:column;flex-grow:1;gap:14px;min-width:0;padding:24px 32px;display:flex}.cook-progress{align-items:center;gap:12px;display:flex}.cook-steps ol{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.cook-step{text-align:left;border:1px solid var(--line);background:0 0;border-radius:18px;align-items:flex-start;gap:18px;width:100%;padding:14px 18px;display:flex}.cook-step .badge{width:40px;height:40px;color:var(--ink-2);background:#eef0f3;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.cook-step .text{font-size:18px;line-height:1.45}.cook-step.is-current{border:2px solid var(--ink);background:#fff;padding:22px;box-shadow:0 6px 20px #18202b14}.cook-step.is-current .badge{background:var(--ink);color:#fff}.cook-step.is-current .text{font-size:24px;font-weight:700}.cook-step.is-done .badge{background:var(--brand);color:#fff}.cook-step.is-done .text{color:#6b7480;text-decoration:line-through}.timer-btn{margin:8px 0 0 76px}.cook-timer{background:var(--ink);color:#fff;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;font-size:20px;font-weight:800;display:flex}.cook-timer.is-done{background:var(--danger)}.cook-finished{color:var(--brand);font-size:22px;font-weight:800}@media (width<=760px){.cook{flex-direction:column}.cook-ings{border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;position:static}}.progress-row{align-items:center;flex-direction:row!important}.rec-line{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:8px;padding:12px 14px;display:flex}.rec-line.is-decided{background:#fbfcfd}.rec-main{flex-direction:column;flex:220px;gap:2px;display:flex}.rec-controls{align-items:center;gap:8px;display:flex}.rec-controls .count{text-align:center;min-width:24px;font-size:18px}.choice{border:1.5px solid var(--line-2);min-height:44px;color:var(--ink-2);background:#fff;border-radius:999px;padding:0 16px;font-weight:700}.choice.ok[aria-pressed=true]{background:var(--brand-tint);border-color:var(--brand-tint);color:var(--brand-ink)}.choice.buy[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.reconcile-start{align-items:flex-start}.shop-group .card{overflow:hidden}.shop-item:first-child{border-top:0}.shop-text{text-align:left;background:0 0;border:0;flex-direction:column;flex-grow:1;align-items:flex-start;gap:1px;min-width:0;padding:4px 0;display:flex}.shop-text:hover strong{text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:3px}.needs-cat{color:#6b4a00;background:#fff3d6;border-radius:999px;margin-left:0;padding:1px 8px;font-weight:700;display:inline-block}.needs-cat:not(:first-child){margin-left:6px}.shop-item.is-checked .shop-text strong{color:#8a939f;text-decoration:line-through}.qty{align-items:center;gap:6px;display:flex}.qty>span{text-align:center;min-width:34px}.panel-backdrop.sheet{justify-content:center;align-items:flex-end}.sheet-body{background:#fff;border-radius:22px 22px 0 0;flex-direction:column;gap:10px;width:min(480px,100%);padding:20px 16px 26px;display:flex}.store-opt{border:1.5px solid var(--line);text-align:left;background:#fff;border-radius:14px;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:10px 14px;display:flex}.store-opt.is-current{border:2px solid var(--ink);background:var(--surface-2)}.order-list{margin:0;padding:0;list-style:none;overflow:hidden}.order-list li{cursor:grab;background:#fff;border-top:1px solid #eef0f3;align-items:center;gap:10px;min-height:50px;padding:6px 12px;display:flex}.order-list li:first-child{border-top:0}.order-list .num{width:24px;color:var(--muted);font-weight:800}.order-list .icon-btn{width:32px;height:32px}.simple-table{border-collapse:collapse;width:100%}.simple-table th,.simple-table td{text-align:left;border-top:1px solid #eef0f3;padding:10px 14px}.simple-table thead th{color:var(--muted);border-top:0;font-size:12px}.simple-table tr.clickable{cursor:pointer}.simple-table tr.clickable:hover{background:var(--surface-2)}.tabs{margin:12px 0}@media (width<=640px){.topbar-inner{gap:8px;padding:10px 14px}.topbar .plan-cta,.topbar .me-name{display:none}.topbar .me{padding:3px}.mainnav{scrollbar-width:none;flex-wrap:nowrap;order:3;gap:2px;width:100%;overflow-x:auto}.mainnav a{white-space:nowrap;padding:8px 11px}.brand{flex-grow:1}.page{padding:14px 14px 40px}}.card.pad>.btn,.card.pad>.action-row{align-self:flex-start}.add-row{flex-wrap:wrap}.add-row .add-cat{border:1.5px solid var(--line-2);background-color:var(--surface);border-radius:999px;max-width:240px;min-height:44px;padding:0 16px}@media (width<=640px){.add-row input{flex-basis:100%}.add-row .add-cat{flex-grow:1;max-width:none}}.stack-form{flex-direction:column;gap:14px;display:flex}.toast{z-index:60;background:var(--ink);color:#fff;border-radius:14px;align-items:center;gap:10px;max-width:min(520px,100% - 32px);padding:10px 10px 10px 16px;font-weight:600;animation:.14s ease-out panel-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #18202b40}.toast .icon-btn.ghost{color:#c9d0da;flex-shrink:0;width:30px;height:30px}.ing-list .ing-group,.cook-ings .ing-group{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:10px;padding:0;font-size:11px;font-weight:800;display:block}.ing-list .ing-group:first-child,.cook-ings .ing-group:first-child{margin-top:0}.cook-ings .ing-group{padding:0 10px}select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235a6472' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:16px 16px;padding-right:38px!important}select::-ms-expand{display:none}.profile-family{gap:6px;margin:-4px -4px 0;padding:4px;display:flex;overflow-x:auto}.profile-pick{min-width:64px;color:var(--ink-2);background:0 0;border:1.5px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;font-size:12px;font-weight:600;display:flex}.profile-pick:hover{background:var(--surface-2)}.profile-pick[aria-checked=true]{border-color:var(--ink);background:var(--surface-2);color:var(--ink)}.profile-photo{background:var(--surface-2);border-radius:16px;align-items:center;gap:16px;padding:14px;display:flex}.profile-photo .avatar{box-shadow:0 0 0 3px #fff,0 2px 10px #18202b26}.swatches{flex-wrap:wrap;gap:8px;display:flex}.swatch{width:34px;height:34px;box-shadow:inset 0 0 0 6px var(--edge), 0 0 0 1px #18202b0f;border:0;border-radius:50%}.swatch[aria-checked=true]{box-shadow:inset 0 0 0 6px var(--edge), 0 0 0 2px #fff, 0 0 0 4px var(--ink)}.dish-page{--accent:#2b5fb8;--accent-ink:#173f85;--accent-tint:#e3ecfa;--hero-a:#e8f0ff;--hero-b:#f3eefe;max-width:1100px}.dish-cat-vardag{--accent:#1f7a5a;--accent-ink:#14553f;--accent-tint:#dcf1e8;--hero-a:#e2f5ec;--hero-b:#f1f8e6}.dish-cat-prova{--accent:#c2621b;--accent-ink:#8a420c;--accent-tint:#fde6d3;--hero-a:#fff0e2;--hero-b:#fdf3d9}.dish-hero{background:linear-gradient(135deg, var(--hero-a), var(--hero-b));border-radius:24px;grid-template-columns:auto 1fr auto;align-items:start;gap:20px;padding:28px;display:grid;position:relative;overflow:hidden}.dish-hero:after{content:"";background:var(--accent);opacity:.07;pointer-events:none;border-radius:50%;width:240px;height:240px;position:absolute;bottom:-80px;right:-60px}.dish-hero-icon{width:68px;height:68px;color:var(--accent);background:#fff;border-radius:20px;place-items:center;display:grid;box-shadow:0 6px 18px #18202b14}.dish-hero-text{flex-direction:column;gap:8px;min-width:0;display:flex}.dish-hero h1{letter-spacing:-.01em;font-size:34px;line-height:1.1}.dish-hero-tags{flex-wrap:wrap;gap:6px;display:flex}.dish-cat-pill{letter-spacing:.04em;text-transform:uppercase;background:var(--accent);color:#fff;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800}.dish-tag{color:var(--ink-2);background:#ffffffbf;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.dish-lead{color:var(--ink-2);max-width:60ch;margin:0;font-size:15px;line-height:1.5}.dish-facts{color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;margin:4px 0 0;padding:0;font-size:13px;font-weight:600;list-style:none;display:flex}.dish-facts li{align-items:center;gap:6px;display:inline-flex}.dish-facts .icon{color:var(--accent)}.dish-actions{z-index:1;flex-direction:column;align-items:stretch;gap:8px;display:flex;position:relative}.dish-actions .btn.primary{background:var(--accent);border-color:var(--accent)}.dish-actions .btn.primary:hover{background:var(--accent-ink)}.dish-body{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;gap:20px;margin-top:20px;display:grid}.dish-ings{background:#fffdf7;border:1px solid #efe7d4;border-radius:20px;flex-direction:column;gap:16px;padding:20px;display:flex;position:sticky;top:84px}.dish-ings-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.dish-ings h2,.dish-steps h2{font-size:18px}.ing-block h3{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink);align-items:center;gap:8px;margin:0 0 6px;font-size:11px;font-weight:800;display:flex}.ing-block h3:after{content:"";background:#efe7d4;flex-grow:1;height:1px}.dish-ings .ing-list{gap:0}.dish-ings .ing-list li{border-bottom:1px dashed #efe7d4;align-items:baseline;padding:6px 0}.dish-ings .ing-list li:last-child{border-bottom:0}.dish-ings .ing-qty{min-width:74px;color:var(--accent-ink);font-variant-numeric:tabular-nums}.qty-stepper{background:#fff;border:1px solid #efe7d4;border-radius:999px;align-items:center;gap:4px;padding:3px;font-size:13px;display:inline-flex}.qty-stepper button{background:var(--accent-tint);width:30px;height:30px;color:var(--accent-ink);border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.qty-stepper button:hover{background:var(--accent);color:#fff}.qty-stepper span{text-align:center;min-width:54px}.dish-steps{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:20px 24px}.dish-steps ol{flex-direction:column;margin:12px 0 0;padding:0;list-style:none;display:flex}.dish-steps li{border-top:1px solid #eef0f3;grid-template-columns:36px 1fr;gap:14px;padding:14px 0;display:grid}.dish-steps li:first-child{border-top:0;padding-top:4px}.dish-steps p{margin:5px 0 0;font-size:15.5px;line-height:1.55}.step-num{background:var(--accent-tint);width:34px;height:34px;color:var(--accent-ink);border-radius:50%;place-items:center;font-weight:800;display:grid}.step-timer{color:#6b4a00;background:#fff3d6;border-radius:999px;align-items:center;gap:5px;margin-top:8px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.dish-meta{background:var(--surface);border:1px solid var(--line);border-radius:20px;flex-wrap:wrap;align-items:flex-end;gap:16px 28px;margin-top:20px;padding:16px 20px;display:flex}.dish-meta .stars button{font-size:28px;transition:transform .1s}.dish-meta .stars button:hover{color:#f0c040;transform:scale(1.15)}@media (width<=860px){.dish-hero{grid-template-columns:1fr;padding:22px}.dish-hero-icon{border-radius:16px;width:54px;height:54px}.dish-hero h1{font-size:28px}.dish-actions{flex-flow:wrap}.dish-body{grid-template-columns:1fr}.dish-ings{position:static}}.rot-vardag{--rot:#1f7a5a;--rot-tint:#dcf1e8}.rot-standard{--rot:#2b5fb8;--rot-tint:#e3ecfa}.rot-prova{--rot:#c2621b;--rot-tint:#fde6d3}.registry-page{padding-bottom:120px}.registry-filters{flex-direction:column;gap:10px;margin-bottom:18px;padding:14px;display:flex}.registry-filters .search{width:100%}.filter.rot-vardag[aria-pressed=true],.filter.rot-standard[aria-pressed=true],.filter.rot-prova[aria-pressed=true]{background:var(--rot);border-color:var(--rot)}.filter.tagfilter[aria-pressed=true] .muted{color:#c9d0da}.registry-group{margin-bottom:22px}.registry-group>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding:0 4px;display:flex}.group-check{cursor:pointer;align-items:center;gap:10px;display:flex}.group-check h2{font-size:17px}.group-check input,.registry-card input{width:18px;height:18px;accent-color:var(--ink);cursor:pointer;flex-shrink:0}.registry-empty{border:1.5px dashed var(--line-2);border-radius:12px;margin:0;padding:10px 14px}.registry-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;display:grid}.registry-card{background:var(--surface);box-shadow:inset 3px 0 0 var(--rot), 0 1px 2px #18202b14, 0 0 0 1px #18202b0d;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;transition:box-shadow .1s;display:flex}.registry-card:hover{box-shadow:inset 3px 0 0 var(--rot), 0 3px 10px #18202b1a, 0 0 0 1px #18202b14}.registry-card.is-selected{box-shadow:inset 3px 0 0 var(--rot), 0 0 0 2px var(--ink);background:#f4f7ff}.registry-card input{margin-top:2px}.registry-card-body{min-width:0;color:inherit;flex-direction:column;flex-grow:1;gap:4px;text-decoration:none;display:flex}.registry-card-body strong{font-size:14.5px}.registry-card-body:hover strong{text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:3px}.registry-card-meta{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.rot-pill{letter-spacing:.03em;text-transform:uppercase;background:var(--rot-tint);color:var(--rot);border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:800}.registry-tags{color:#6b4fa0;flex-wrap:wrap;gap:4px 8px;font-size:12px;font-weight:600;display:flex}.bulk-bar{z-index:40;background:var(--ink);color:#fff;border-radius:18px;flex-wrap:wrap;align-items:center;gap:8px 10px;width:min(1100px,100% - 32px);padding:10px 12px 10px 18px;animation:.14s ease-out panel-in;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #18202b4d}.bulk-bar select,.bulk-bar input{color:#fff;background-color:#243041;border:1px solid #3a4658;border-radius:999px;min-height:36px;padding:0 14px;font-size:13px}.bulk-bar input::placeholder{color:#9aa5b4}.bulk-bar .btn.small{color:var(--ink);background:#fff;border-color:#fff}.bulk-bar .btn.ghost.on-dark{color:#c9d0da;background:0 0;border-color:#0000}.bulk-bar .error{color:#ffb4b9;margin:0}.bulk-tag{gap:6px;display:flex}.bulk-tag input{width:170px}.bulk-done{color:#9fe0c4;font-weight:600}.cat-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cat-list li{align-items:center;gap:8px;display:flex}.cat-list input{border:1.5px solid var(--line-2);border-radius:10px;flex-grow:1;min-height:38px;padding:0 12px}.cat-order{flex-direction:column;display:flex}.cat-order .icon-btn{border-radius:6px;width:24px;height:18px}.tag-input{border:1.5px solid var(--line-2);background:var(--surface);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:5px 8px;display:flex}.tag-input:focus-within{border-color:#9cc3ff}.tag-input input{background:0 0;border:0;outline:0;flex-grow:1;min-width:140px;padding:4px}.tag-chip{color:#4b2f86;background:#efe9fb;border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:13px;font-weight:600;display:inline-flex}.tag-chip button{width:20px;height:20px;color:inherit;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.tag-chip button:hover{background:#4b2f861f}.tag-suggest{flex-wrap:wrap;gap:4px;display:flex}.tag-suggest button{color:#6b4fa0;background:0 0;border:0;border-radius:999px;padding:2px 6px;font-size:12px;font-weight:600}.tag-suggest button:hover{background:#efe9fb}.dish-group-pill{letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);background:#fff;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800}.dish-meta-tags{flex-basis:100%}@media (width<=640px){.bulk-bar{bottom:10px}.bulk-tag input{width:130px}}.chip-line{justify-content:space-between;align-items:center;gap:6px;width:100%;display:flex}.chip .avatar{box-shadow:0 0 0 2px #ffffffe6;font-size:8px!important}.chip-with-avatar{flex-direction:row;align-items:center;gap:7px}.chip-away .chip-line{justify-content:flex-start}.today-card{background:linear-gradient(120deg,#e6f4ee 0%,#eef3fd 55%,#f4effc 100%);border-radius:22px;margin-bottom:18px;padding:18px 20px 20px;position:relative;overflow:hidden}.today-card:after{content:"";background:var(--brand);opacity:.06;pointer-events:none;border-radius:50%;width:200px;height:200px;position:absolute;top:-60px;right:-40px}.today-card>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;margin-bottom:14px;display:flex}.today-hello{color:var(--brand-ink);margin:0 0 2px;font-weight:700}.today-card h2{font-size:22px;font-weight:800}.today-card h2:first-letter{text-transform:uppercase}.today-alert{color:#7d1219;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.chip-warn.static{position:static}.day-lanes{gap:10px;display:grid}.day-lanes-columns{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.day-lanes-rows{grid-template-columns:1fr}.day-lane{border-radius:16px;flex-direction:column;gap:8px;padding:12px;display:flex;box-shadow:0 0 0 1px #18202b0d}.today-card .day-lane{background-color:#ffffffb3}.today-card .day-lane.lane-child-0{background-color:var(--lane-child-0)}.today-card .day-lane.lane-child-1{background-color:var(--lane-child-1)}.today-card .day-lane.lane-food{background-color:var(--lane-food)}.day-lane h3{color:var(--ink-2);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:800;display:flex}.day-lane h3 .icon{color:var(--muted)}.day-lane-items{flex-direction:column;gap:6px;display:flex}.day-lanes-rows .day-lane-items .chip{padding:9px 12px 9px 14px;font-size:14px}.avatar-stack{display:inline-flex}.avatar-stack .avatar+.avatar{margin-left:-7px;box-shadow:0 0 0 2px #fff}.mobile-days{flex-direction:column;gap:12px;display:flex}.day-strip{z-index:5;background:var(--bg);grid-template-columns:repeat(7,1fr);gap:4px;padding:6px 0;display:grid;position:sticky;top:0}.day-strip button{background:var(--surface);box-shadow:0 0 0 1px var(--line);color:var(--muted);border:0;border-radius:14px;flex-direction:column;align-items:center;gap:1px;padding:7px 0 6px;font-size:11px;display:flex;position:relative}.day-strip button strong{color:var(--ink);font-size:17px}.day-strip button.is-today{color:var(--brand-ink);box-shadow:0 0 0 1.5px var(--brand)}.day-strip button[aria-selected=true]{background:var(--ink);box-shadow:none;color:#c9d0da}.day-strip button[aria-selected=true] strong{color:#fff}.dot-conflict{background:var(--danger);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:7px}.mobile-day{touch-action:pan-y}.mobile-day-title{margin:2px 2px 10px;font-size:20px;font-weight:800}.mobile-day-title:first-letter{text-transform:uppercase}.quiet-empty{padding:4px 8px;background:0 0!important;outline-color:#0000!important}.quiet-label{color:#a7afba;align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.quiet-empty:hover,.quiet-empty:focus-visible{background:#fff9!important;outline-color:#b9c0ca!important}.quiet-empty:hover .quiet-label{color:var(--ink-2)}.mobile-aside{margin-top:18px}.mobile-aside .week-aside{flex:none}.celebrate{z-index:80;pointer-events:auto;background:#ffffff26;place-items:center;animation:3.2s forwards celebrate-fade;display:grid;position:fixed;inset:0}.celebrate-card{text-align:center;background:#fff;border-radius:22px;flex-direction:column;align-items:center;gap:4px;padding:22px 30px;animation:.35s cubic-bezier(.2,1.4,.4,1) celebrate-pop;display:flex;box-shadow:0 20px 50px #18202b38}.celebrate-card strong{font-size:20px}.celebrate-card span{color:var(--muted)}.celebrate-emoji{font-size:40px;color:inherit!important}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{border-radius:2px;width:9px;height:14px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.3,.7,.6,1);animation-fill-mode:forwards;position:absolute;top:-12px}@keyframes confetti-fall{to{top:105%;transform:rotate(540deg)translate(40px)}}@keyframes celebrate-pop{0%{opacity:0;transform:scale(.7)}}@keyframes celebrate-fade{0%,85%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.confetti{display:none}.celebrate-card{animation:none}}.shop-item{border-top:1px solid #eef0f3;align-items:stretch;display:flex}.shop-check{text-align:left;background:0 0;border:0;flex-grow:1;align-items:center;gap:14px;min-width:0;min-height:60px;padding:10px 6px 10px 14px;display:flex}.shop-check:active{background:var(--surface-2)}.check-circle{color:#0000;border:2px solid #c3c9d2;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;transition:background .15s,border-color .15s,transform .15s;display:grid}.shop-item.is-checked .check-circle{background:var(--brand);border-color:var(--brand);color:#fff;transform:scale(1.05)}.shop-check .shop-text{padding:0}.shop-check .shop-text strong{font-size:15.5px}.shop-qty{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;padding:4px 10px;font-weight:800}.shop-qty small{color:var(--muted);font-weight:600}.shop-item.is-checked .shop-qty{opacity:.5}.shop-more{align-self:center;margin-right:6px}.shop-progress{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;margin-bottom:4px;padding:14px 16px;display:flex}.shop-progress-text{align-items:center;gap:6px;font-size:15px;display:flex}.shop-progress-text .btn{margin-left:auto}.shop-progress .bar{background:#e6e9ee;border-radius:999px;height:10px;overflow:hidden}.shop-progress .bar span{border-radius:inherit;background:linear-gradient(90deg, #2a9a70, var(--brand));height:100%;transition:width .3s;display:block}.shop-group h2.eyebrow{top:var(--topbar-h,64px);z-index:4;background:var(--bg);margin:0;padding:16px 4px 8px;position:sticky}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mini-people .mini-person{opacity:.45;filter:grayscale(.6);background:0 0;border:0;border-radius:50%;width:auto;height:auto;min-height:0;padding:2px;line-height:0;transition:opacity .12s,filter .12s,transform .12s;display:inline-flex}.mini-people .mini-person:hover{opacity:.85;filter:none}.mini-people .mini-person[aria-checked=true]{opacity:1;filter:none;box-shadow:0 0 0 2.5px var(--edge);transform:scale(1.06)}.hand-meta{align-items:center;gap:4px;display:flex}.time-pill{color:var(--ink-2);font-variant-numeric:tabular-nums;background:#ffffffb3;border:0;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700}.time-pill:hover{box-shadow:0 0 0 1.5px var(--line-2);background:#fff}.more-btn{width:28px;height:28px}.btn-mini{color:var(--muted);background:0 0;border:1.5px dashed #b9c0ca;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.btn-mini:hover{border-color:var(--ink-2);color:var(--ink);background:#fff}.row-person{align-items:center;gap:6px;display:inline-flex}.meal-day-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.slot-lunch{border-top:1px dashed var(--line);margin-top:auto;padding-top:8px}.slot-lunch .slot-label{text-transform:uppercase;font-size:10.5px}.dinner-hint{justify-content:center;align-items:center;gap:4px;min-height:52px;display:flex}.small-hint{justify-content:center;padding:4px;display:flex}.meal-badge{background:#ffffffb3;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.pool .meal-card{box-shadow:inset 3px 0 #d9a400,0 1px 2px #18202b14}.bank-scroll{flex-direction:column;gap:12px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.bank{flex-direction:column;display:flex}.bank-group h3{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);background:var(--surface);z-index:1;margin:0 0 2px;padding:4px 0;font-size:11px;font-weight:800;position:sticky;top:0}.bank-list li{box-shadow:inset 3px 0 0 var(--rot,transparent);border-radius:4px;padding-left:10px!important}.order-list .grip{color:#b9c0ca;display:flex}.order-list li:hover .grip{color:var(--ink-2)}.order-list li.is-dragging{opacity:.4}.order-list .icon-btn.ghost:disabled{opacity:.25}.product-row{border-top:1px solid #eef0f3;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;display:flex}.product-row:first-child{border-top:0}.product-name{text-align:left;background:0 0;border:0;flex-direction:column;flex-grow:1;align-items:flex-start;gap:1px;min-width:140px;padding:6px 0;display:flex}.product-name:hover strong{text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);text-underline-offset:3px}.staple-inline{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.small-seg button{padding:4px 11px;font-size:12.5px}.staple-inline .qty .icon-btn{width:30px;height:30px}.staple-inline .segmented button:first-child[aria-pressed=true]{background:var(--surface-2);color:var(--ink-2)}.staple-inline .segmented button:not(:first-child)[aria-pressed=true]{background:var(--brand)}.subtabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:16px;display:flex}.subtabs a{color:var(--muted);border-bottom:2.5px solid #0000;margin-bottom:-1px;padding:8px 14px 10px;font-weight:700;text-decoration:none}.subtabs a:hover{color:var(--ink)}.subtabs a[aria-current=page]{color:var(--ink);border-bottom-color:var(--brand)}.switch-label{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.switch{appearance:none;background:var(--line);cursor:pointer;border-radius:999px;flex-shrink:0;width:36px;height:20px;margin:0;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch:checked{background:var(--brand)}.switch:checked:after{transform:translate(16px)}.switch:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.profile-photo.crop-mode{justify-content:center}.cropper{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.cropper-stage{touch-action:none;background:#1c222b;border-radius:14px;position:relative;overflow:hidden}.cropper-stage canvas{cursor:grab;outline:none;display:block}.cropper-stage canvas:active{cursor:grabbing}.cropper-stage canvas:focus-visible+.cropper-mask{box-shadow:inset 0 0 0 3px var(--brand)}.cropper-mask{pointer-events:none;background:radial-gradient(circle closest-side,#0000 0 calc(100% - 1px),#0f141c8c 100%);position:absolute;inset:0}.cropper-mask:after{content:"";border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 2px #ffffffd9}.cropper-zoom{width:260px;color:var(--muted);align-items:center;gap:10px;font-weight:700;display:flex}.cropper-zoom input{accent-color:var(--brand);flex:1}.week-nav{flex-shrink:0;gap:6px;display:inline-flex}.clear-options{flex-direction:column;gap:8px;display:flex}.clear-option{border:1.5px solid var(--line);cursor:pointer;border-radius:14px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.clear-option:has(input:checked){border-color:var(--danger);background:color-mix(in srgb, var(--danger) 5%, transparent)}.clear-option input{accent-color:var(--danger);flex-shrink:0;width:18px;height:18px;margin-top:3px}.clear-option>span{flex-direction:column;gap:2px;display:flex}.dates-page{max-width:900px}.chip.chip-date{--edge:#d9862b;color:#7a4510;background:#fff3df;flex-direction:row;align-items:center;gap:6px;font-weight:600;text-decoration:none}.chip-date .icon{flex-shrink:0}.dates-soon{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px;margin-bottom:22px;display:grid}.soon-card{text-align:left;color:var(--ink);cursor:pointer;background:linear-gradient(140deg,#fff3df,#fde6ef);border:0;border-radius:18px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;transition:transform .12s;display:flex;box-shadow:0 1px 2px #18202b0f,0 6px 18px -10px #18202b40}.soon-card:hover{transform:translateY(-2px)}.soon-card.kind-nameday{background:linear-gradient(140deg,#e9f1ff,#efe9ff)}.soon-card.kind-anniversary{background:linear-gradient(140deg,#ffe9e9,#fff0dc)}.soon-card.kind-other{background:linear-gradient(140deg,#eaf6ef,#eef3f8)}.soon-card.is-today{outline:2.5px solid #d9862b}.soon-when{text-transform:uppercase;letter-spacing:.04em;color:#a2561a;font-size:12px;font-weight:800}.soon-card strong{font-size:17px;line-height:1.25}.soon-meta{color:var(--ink-2);font-size:13px}.dates-month{margin-bottom:18px}.dates-month h2{text-transform:capitalize;margin:0 0 8px}.dates-list{margin:0;padding:4px 0;list-style:none}.dates-list li+li{border-top:1px solid var(--line)}.dates-list button{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:0;grid-template-columns:44px 1fr auto 70px;align-items:center;gap:12px;padding:10px 16px;display:grid}.dates-list button:hover{background:var(--surface-2)}.date-day{color:var(--ink-2);text-align:center;font-size:20px;font-weight:800}.date-title{flex-direction:column;gap:2px;min-width:0;display:flex}.date-what{text-align:right}.kind-pill{text-transform:uppercase;letter-spacing:.04em;color:#a2561a;background:#fff3df;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:800}.kind-pill.kind-nameday{color:#2b5fb8;background:#e9f1ff}.kind-pill.kind-anniversary{color:#b4232c;background:#ffe9e9}.kind-pill.kind-other{background:var(--surface-2);color:var(--ink-2)}.empty-dates{text-align:center;color:var(--ink-2);flex-direction:column;align-items:center;gap:10px;padding:32px;display:flex}@media (width<=640px){.dates-list button{grid-template-columns:36px 1fr auto}.date-what{display:none}}.danger-text{color:var(--danger)}.break-badge{border-radius:8px;align-items:center;gap:6px;width:100%;margin-bottom:4px;padding:5px 8px;font-size:12px;font-weight:700;line-height:1.25;text-decoration:none;display:flex}.break-badge.is-off{color:var(--ink-2);background:repeating-linear-gradient(135deg,#eef0f4 0 8px,#e6e9ef 8px 16px)}.break-badge.is-open{color:var(--muted);background:0 0;padding-left:2px;font-weight:600}.break-badge.is-early{color:#8a4b00;background:#fff1d6;box-shadow:inset 0 0 0 1.5px #f0a12a}.break-badge.is-early .icon{color:#d97a00;flex-shrink:0}.breaks-list button{grid-template-columns:150px 1fr}.break-when{color:var(--ink-2);font-weight:800}.break-kids{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.kid-pill{background:var(--surface-2);color:var(--ink-2);border-radius:999px;align-items:center;gap:5px;padding:2px 8px 2px 2px;font-size:12px;font-weight:600;display:inline-flex}.kid-pill.is-off{background:#e6e9ef}.kid-pill.is-early{color:#8a4b00;background:#fff1d6;box-shadow:inset 0 0 0 1.5px #f0a12a}.early-time{width:auto;min-width:110px}.break-children{flex-direction:column;gap:10px;display:flex}.break-child{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.break-child-name{align-items:center;gap:8px;min-width:110px;font-weight:700;display:inline-flex}@media (width<=640px){.breaks-list button{grid-template-columns:1fr}}.trip-badge{color:#0d5c63;background:linear-gradient(120deg,#dff4f2,#e6effc);border-radius:8px;align-items:center;gap:6px;width:100%;margin-bottom:4px;padding:6px 8px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.trip-badge .icon{flex-shrink:0}.trip-cards{flex-direction:column;gap:10px;display:flex}.trip-card{text-align:left;cursor:pointer;color:var(--ink);background:linear-gradient(120deg,#dff4f2,#e6effc 60%,#f3eefe);border:0;border-radius:18px;align-items:center;gap:14px;padding:16px 18px;display:flex;box-shadow:0 1px 2px #18202b0f,0 6px 18px -10px #18202b40}.trip-icon{color:#0d5c63;background:#fff;border-radius:14px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.trip-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.trip-text strong{font-size:17px}.trip-when{text-transform:uppercase;letter-spacing:.04em;color:#0d5c63;white-space:nowrap;font-size:12px;font-weight:800}.tavla-head.is-away{flex-wrap:wrap}.tavla-head .trip-badge{flex-basis:100%;margin:6px 0 0;font-size:11px}.tavla-cell.is-away{background-image:linear-gradient(#dff4f28c,#e6effc8c)}.tavla-cell.is-away .add-btn,.tavla-cell.is-away .quiet-empty{opacity:.35}.day-trip{align-items:center;gap:10px;margin-bottom:10px;display:flex}.day-trip .trip-badge{width:auto;margin:0}.plan-grid th .trip-badge,.matris th .trip-badge{width:auto;margin-top:4px}.auth-page{background:radial-gradient(circle at 20% 10%, #e3f2ea, transparent 50%), radial-gradient(circle at 90% 90%, #fff1d6, transparent 45%), var(--bg);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth-card{text-align:center;background:var(--surface);border-radius:24px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:380px;padding:32px 28px;display:flex;box-shadow:0 1px 2px #18202b0f,0 18px 40px -20px #18202b59}.auth-card h1{margin:4px 0 0}.auth-card .btn.big{width:100%}.auth-brand{color:var(--brand);align-items:center;gap:10px;font-size:18px;font-weight:800;display:flex}.signin-section{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:14px;display:flex}.signin-section h3{margin:0;font-size:15px}.cred-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cred-list li{background:var(--surface-2);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.cred-list li>span{flex-direction:column;display:flex}.invite-box{background:#fff7e6;border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:12px;display:flex}.invite-box input{flex:1;min-width:200px;font-family:ui-monospace,monospace;font-size:12px}
