
*{box-sizing:border-box}body{margin:0;background:#f4f4f3;color:#171918;font-family:Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid #7799b6;outline-offset:4px}header{max-width:1120px;margin:auto;padding:30px 32px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:20px;font-weight:700;letter-spacing:-.7px}.brand span{font-weight:400;color:#959895}.badge{font-size:11px;background:#e9eae7;border-radius:20px;padding:7px 12px;color:#737871}main{max-width:1120px;margin:22px auto 120px;padding:0 32px}h1{font-size:44px;letter-spacing:-2px;margin:0 0 9px;font-weight:600}h2{font-size:22px;letter-spacing:-.6px;margin:0}p{color:#888d87;line-height:1.6}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.date{background:#fff;border-radius:18px;text-align:center;padding:13px 23px}.date strong{display:block;font-size:26px;font-weight:400}.date span{color:#92968e;font-size:12px}.layout{display:grid;grid-template-columns:1fr 300px;gap:24px}.card{background:white;border-radius:28px;padding:26px;margin-bottom:20px}.wash{background:linear-gradient(120deg,#dbe9f8,#eeefe5 75%,#f4eed4)}.eyebrow{font-size:11px;color:#858b83;letter-spacing:1.3px;text-transform:uppercase}.hero{padding:28px;border-radius:28px;margin-bottom:24px}.hero h2{font-size:27px;margin:12px 0 20px}.meals{display:grid;grid-template-columns:1fr 1fr;gap:20px}.meals small{display:block;color:#6f786e;font-size:12px;margin-bottom:8px}.meals strong{font-size:17px;font-weight:500}.row{display:flex;align-items:center;justify-content:space-between;gap:15px}.plain{background:#f3f4f1;border-radius:30px;padding:11px 17px}.dark{background:#191c19;color:white;border-radius:30px;padding:13px 21px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:22px}.weekday{font-size:10px;color:#969c94;text-align:center;padding-bottom:9px}.day{background:#f7f8f5;border:1px solid transparent;text-align:left;border-radius:13px;min-height:77px;padding:9px;font-size:12px}.day span{display:block;font-size:9px;line-height:1.5;margin-top:7px;color:#737d70;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day.selected{background:#e2edf8;border-color:#bfd1df}.day.empty{background:transparent}.hint{font-size:11px;color:#969d94}.listrow{display:flex;align-items:center;gap:13px;padding:18px 0;border-bottom:1px solid #f0f1ed}.listrow:last-child{border:0}.listrow label{flex:1}.listrow small{color:#93998f}.listrow input{accent-color:#637b69;width:18px;height:18px}.listrow:has(input:checked) label{text-decoration:line-through;color:#a4a99f}.nav{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);display:flex;background:#171a17;border:5px solid #171a17;border-radius:40px;gap:4px;box-shadow:0 8px 25px #0001;z-index:5}.nav button{background:transparent;color:#a8aea4;border-radius:30px;padding:14px 24px;white-space:nowrap}.nav button.active{color:#1b211b;background:linear-gradient(120deg,#dbeafa,#f3edd6)}.section{display:none}.section.active{display:block}.field{display:block;margin:22px 0;color:#7d8579;font-size:12px}.field input,.field select{display:block;width:100%;background:#f5f6f2;border:1px solid #eceee7;border-radius:14px;padding:15px;margin-top:9px;color:#20261d}.switch{width:42px;height:25px;border-radius:30px;background:#e3e7dd;padding:3px}.switch:before{content:'';display:block;background:white;width:19px;height:19px;border-radius:50%}.switch.on{background:#b6cbdc}.switch.on:before{margin-left:17px}.sub{font-size:12px;color:#969d91;margin:7px 0 0}.setting{padding:22px 0;border-bottom:1px solid #edf0e9}.setting:last-child{border:0}dialog{border:0;border-radius:28px;padding:28px;width:420px;max-width:calc(100% - 30px);box-shadow:0 20px 100px #0002}dialog::backdrop{background:#151a1738;backdrop-filter:blur(4px)}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#fff;padding:15px 22px;border-radius:20px;box-shadow:0 6px 40px #0001;display:none;z-index:10}.foot{font-size:11px;color:#9aa091;text-align:center;margin-top:28px}.mini{height:6px;background:#edf0e9;border-radius:10px;overflow:hidden;margin:18px 0}.mini div{height:100%;width:44%;background:#bdcfdf}.emptymsg{padding:40px 0;text-align:center;color:#8c9585}@media(max-width:750px){header{padding:23px 22px}main{padding:0 20px;margin-top:15px}h1{font-size:37px}.layout{grid-template-columns:1fr;gap:0}.top{margin-bottom:25px}.card{padding:20px;border-radius:24px}.day{min-height:64px;padding:7px 5px}.day span{font-size:8px}.calendar{gap:4px}.nav{bottom:17px}.nav button{padding:13px 19px;font-size:12px}.hero{padding:25px}.aside{display:none}.top p{font-size:13px}.date{padding:11px 17px}}

[hidden]{display:none!important}a{color:inherit}header button{background:white;border-radius:50%;width:40px;height:40px;position:relative}.brand{border:0!important;background:transparent!important;width:auto!important;border-radius:0!important}.header-actions{display:flex;gap:9px;align-items:center}.count{position:absolute;top:0;right:0;background:#859eb3;color:white;border-radius:12px;padding:2px 5px;font-size:9px}.context{display:flex;gap:10px;align-items:center;margin-bottom:24px}.context select{border:0;background:white;padding:12px 16px;border-radius:18px;max-width:65%;color:#2b3327}.top h1{font-size:38px}.calendar .day span{white-space:normal}.day{min-height:89px}.day small{display:block;font-size:9px;color:#7d8579;margin-top:3px}.selected .day{border:1px solid #c5d8e9}.banner{padding:12px 18px;background:#eeecd9;border-radius:15px;margin-bottom:18px;font-size:12px}.error{color:#a43c36;font-size:13px;line-height:1.5;white-space:pre-wrap}.success{color:#476d51;font-size:13px;line-height:1.5}.muted{color:#87917f;font-size:12px;line-height:1.5}.field{margin:17px 0}textarea{display:block;width:100%;min-height:75px;background:#f5f6f2;border:1px solid #eceee7;border-radius:14px;padding:14px;margin-top:9px;font:inherit;resize:vertical}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:10px}.small{font-size:12px}.link{background:transparent;padding:8px 0;text-decoration:underline;text-underline-offset:3px;color:#6a7965}.auth{max-width:430px;margin:50px auto 100px}.auth h1{font-size:34px}.auth .dark{width:100%}.auth .actions{justify-content:space-between}.check{display:flex;align-items:center;gap:9px;padding:10px 0;line-height:1.4}.check input{accent-color:#7b96a9;width:17px;height:17px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.settings-grid .card{margin:0}dialog{max-height:86dvh;overflow:auto;width:520px}dialog.wide{width:750px}dialog .field input{min-width:0}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f6f2;padding:12px;border-radius:12px;font:12px/1.6 Arial}.event{border-bottom:1px solid #eee;padding:16px 0}.event p{margin:5px 0}.member{border-bottom:1px solid #eee;padding:15px 0}.member .row{align-items:flex-start}.member select{border:0;background:#f5f6f2;padding:8px;border-radius:12px}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}.tabs button{border-radius:15px;padding:10px 14px;background:#fff}.tabs .active{background:#dce8ef}.scrolltable{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:13px 9px;text-align:left;border-bottom:1px solid #eee;white-space:nowrap}th{color:#88917f;font-weight:400}.pill{display:inline-block;padding:5px 9px;border-radius:15px;background:#eff2e9;font-size:11px}.danger{color:#aa4c42}.authbar{font-size:12px;color:#9ba38e;text-align:center;margin-top:20px}.top p{margin:6px 0}.nav button{display:flex;align-items:center;gap:8px}.nav svg,header svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6}.authlogo{font-size:20px;margin-bottom:30px;font-weight:700}.busy{opacity:.5;pointer-events:none}.statusline{font-size:11px;color:#89927f;margin-top:13px}.print-only{display:none}.subhead{font-size:16px!important;letter-spacing:-.3px!important}.grocery-tools{margin:20px 0 5px}.line{height:1px;background:#eee;margin:22px 0}.notice-unread{border-left:3px solid #bdd2e5;padding-left:12px}.installbox{background:#f1f4eb;border-radius:15px;padding:16px}.removed{opacity:.6}.read-only{color:#8b9284;font-size:12px}.datebox{background:white;border-radius:17px;padding:10px 16px;text-align:center}.datebox strong{font-size:24px;font-weight:400;display:block}.datebox span{font-size:11px;color:#929a8a}.hero .meals strong{overflow-wrap:anywhere}.reminder-explain{font-size:12px;color:#839079;line-height:1.6}.alertdot{background:#e8eef3}.emptymsg{font-size:13px}.notification-menu{max-height:65vh;overflow:auto}.phone-note{font-size:11px;color:#929b88}.searchbox{padding:13px 16px;background:white;border:1px solid #e6e9e0;border-radius:15px;width:100%;margin-bottom:15px}.day .meal-name{font-size:9px}.hero p{margin-bottom:0}.delete-button{background:transparent;color:#9b655c;padding:8px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.foot{padding-bottom:20px}.preview-warning{border:1px solid #eee3be;background:#faf5e9;padding:15px;border-radius:15px;font-size:12px}.saved-dishes{display:flex;flex-wrap:wrap;gap:8px}.dish{border-radius:18px;padding:8px 12px;background:#f1f4ed;font-size:12px}.auth input{font-size:16px}button:disabled{opacity:.45;cursor:default}input[type=time],input[type=date]{min-height:47px}input,select,textarea{font-size:16px!important}.field select{font-size:14px!important}.checkbox-inline{display:flex;align-items:center;gap:7px}.history-subtitle{font-size:11px;color:#909980}@media(max-width:750px){.settings-grid{grid-template-columns:1fr}.day{min-height:77px}.context{margin-bottom:18px}.hero h2{font-size:23px}.top h1{font-size:33px}.form-two{gap:10px}.day .meal-name{font-size:8px}.row{gap:10px}.top{align-items:flex-start}.nav button{padding:12px 15px}.auth{margin:25px auto 100px}.card .row h2{font-size:19px}.badge{font-size:10px}.listrow{gap:10px}.day small{font-size:8px}}@media print{body{background:white}header,.nav,.context,.top,.hero,.aside,.foot,.banner,.no-print,.grocery-tools,#status{display:none!important}main{margin:0;padding:0;max-width:none}.section{display:none!important}#planner{display:block!important}.layout{display:block}.card{padding:0;border-radius:0;margin:0}#calendar{gap:0}.day{border:1px solid #ccc!important;border-radius:0;background:white!important;min-height:130px;padding:8px}.day.empty{border:0!important}.day span,.day .meal-name{font-size:11px;white-space:normal;color:black}.day small{font-size:10px}.weekday{font-size:12px;padding:12px}.print-only{display:block}.hint{display:none}#monthControls{display:none}h2{font-size:25px}.print-title{display:block;font-size:16px;margin-bottom:18px;color:#666}@page{size:A4 landscape;margin:10mm}}
