:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183d38;background:#f5f6f2;font-size:16px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #de6c38;outline-offset:4px}header{max-width:1120px;margin:auto;padding:25px 32px;display:flex;justify-content:space-between;border-bottom:1px solid #d7dfd8;align-items:center}.brand{text-decoration:none;color:inherit;font-weight:800}.brand span{font-size:12px;letter-spacing:1.7px;margin-left:14px;font-weight:500}.edition{font-size:12px;letter-spacing:1.5px}main{max-width:1120px;margin:auto;padding:0 32px}.intro{display:grid;grid-template-columns:1.2fr 1fr;gap:42px;padding:38px 0 26px;align-items:center}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;color:#577369;margin:0 0 13px}h1{font-size:43px;letter-spacing:-2px;line-height:1.2;margin:0}h1 span{display:block;font-size:23px;letter-spacing:-.7px;margin-top:12px;font-weight:500}.sub{color:#65746b;line-height:1.65;margin:18px 0}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{font-size:13px;border:1px solid #c9d6cc;padding:7px 11px;border-radius:30px}.photo{height:220px;position:relative;overflow:hidden;border-radius:5px 55px 5px 5px;background:#153d39}.photo img{width:100%;height:100%;object-fit:cover}.photo:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#102c36b3)}.photo span{position:absolute;bottom:18px;left:20px;color:white;font-size:11px;letter-spacing:2px;z-index:1}.statusbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 16px;background:#e8ede6;border-radius:7px;font-size:14px}.text-button{background:none;border:0;color:#214f44;font-size:14px;text-decoration:underline;padding:6px}.tabs{display:flex;gap:30px;border-bottom:1px solid #cdd9cf;margin:24px 0}.tabs button{border:0;border-bottom:3px solid transparent;background:none;color:#66776d;padding:14px 0;font-weight:700;font-size:17px}.tabs button[aria-pressed=true]{color:#163d34;border-color:#de6c38}.tabs span{font-size:10px;letter-spacing:1px;margin-left:6px;font-weight:500}h2{font-size:26px;letter-spacing:-1px;margin:0}h3{font-size:19px;margin:0 0 12px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:27px 0 22px;gap:16px}.muted,small{font-size:14px;color:#627367;line-height:1.65}.days{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:23px}.days button{border:1px solid #d2ddd3;background:transparent;border-radius:9px;padding:12px 8px;color:#435e50;text-align:left}.days button[aria-pressed=true]{background:#173f37;color:#fff;border-color:#173f37}.days strong{display:block;font-size:22px;margin:3px 0}.days small{color:inherit;font-size:12px}.day-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:24px}.card{background:#fff;border:1px solid #dce3da;border-radius:10px;padding:24px}.day-title{border-bottom:1px solid #e4e9df;padding-bottom:18px;margin-bottom:8px}.day-title p{color:#617568;margin:9px 0 0;line-height:1.6}.event{display:grid;grid-template-columns:70px 1fr;gap:16px;position:relative;padding:19px 0;border-bottom:1px solid #eef0e9}.event:last-child{border:0}.time{font-size:14px;font-weight:700;color:#487060}.event h4{margin:0 0 6px;font-size:16px}.event p{margin:0;color:#647166;font-size:14px;line-height:1.65}.pill{display:inline-block;font-size:12px;padding:3px 7px;background:#faf0df;color:#866037;border-radius:4px;margin-top:8px}.side{background:#e9eee5;align-self:start}.side ul{padding-left:19px;line-height:1.9;font-size:15px}.side .eyebrow{color:#7b5531}.notice{padding:16px 18px;background:#f9eedc;border:1px solid #e9d9bc;border-radius:7px;font-size:14px;line-height:1.8;margin:15px 0}progress{width:100%;height:9px;border:0;border-radius:8px;overflow:hidden;accent-color:#235c49}progress::-webkit-progress-bar{background:#dfe5dc}progress::-webkit-progress-value{background:#235c49}.filter{display:flex;align-items:center;gap:8px;margin:20px 0;font-size:15px}.filter input,.checkrow input{width:22px;height:22px;accent-color:#245b49;flex-shrink:0}.group{border:1px solid #d9e1d6;border-radius:10px;background:white;margin:14px 0;overflow:hidden}.group summary{padding:19px 20px;font-weight:700;cursor:pointer}.group summary span{float:right;font-size:14px;color:#60755f}.checkrow{display:flex;align-items:center;gap:13px;padding:13px 20px;border-top:1px solid #edf0e9;cursor:pointer;min-height:58px}.checkrow span{line-height:1.55}.checkrow.checked span{text-decoration:line-through;color:#849084}.checkrow small{display:block;font-size:13px}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-grid p{font-size:15px;line-height:1.7}.info-grid a{color:#1c6958;display:inline-block;padding:8px 0}.info-grid small{display:block}footer{padding:35px 0;margin-top:30px;border-top:1px solid #d8e0d5;color:#70806c;font-size:13px;display:flex;justify-content:space-between}footer span{font-size:11px;letter-spacing:1px}[hidden]{display:none!important}@media(max-width:700px){header{padding:18px 20px}.brand span{display:none}.edition{font-size:10px}main{padding:0 18px}.intro{grid-template-columns:1fr;gap:18px;padding:27px 0 20px}h1{font-size:34px}h1 span{font-size:21px}.sub{font-size:14px;margin:12px 0}.photo{height:130px;border-radius:5px 35px 5px 5px}.photo img{object-position:center 55%}.intro .eyebrow{font-size:11px}.tags span{font-size:12px}.statusbar{font-size:12px;padding:10px;gap:5px}.text-button{font-size:12px;white-space:nowrap}.tabs{gap:23px;margin:16px 0}.tabs button{font-size:16px;min-height:48px}.tabs span{display:none}.sectionhead{margin:23px 0 18px}.sectionhead .muted{font-size:12px;max-width:85px;text-align:right}h2{font-size:23px}.days{gap:5px}.days button{padding:9px 5px;text-align:center}.days strong{font-size:19px}.days small{font-size:10px}.day-layout,.info-grid{grid-template-columns:1fr;gap:14px}.card{padding:19px}.event{grid-template-columns:57px 1fr;gap:10px}.side ul{margin-bottom:0}footer{display:block;line-height:2}footer span{display:block}.eyebrow{font-size:11px}.checkrow{padding:13px 15px}.group summary{padding:18px 15px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s,color .15s}}
.row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.row-head h3{margin:0}.actions,.toolbar,.group-tools,.dialog-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.actions{margin-top:10px}.small-button,.primary{border:1px solid #bacdbf;border-radius:6px;background:#fff;color:#234f41;min-height:40px;padding:8px 12px;font-size:14px}.primary{background:#1e5142;color:white;border-color:#1e5142;min-height:44px}.small-button:disabled{opacity:.35;cursor:default}.toolbar{margin:16px 0}.group-tools{padding:0 16px 14px}.packing-row{display:flex;align-items:center;border-top:1px solid #edf0e9;padding-right:12px;gap:5px}.packing-row .checkrow{border:0;flex:1;min-width:0}.packing-row .small-button{flex-shrink:0}.preserve{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.empty{padding:24px 12px;color:#637769;line-height:1.8;font-size:15px}dialog{border:1px solid #d6e1d8;border-radius:14px;width:min(540px,calc(100% - 24px));max-height:90dvh;padding:26px;color:#183d38;background:#f9fbf7}dialog::backdrop{background:#0d2929a3}dialog h2{margin-bottom:22px}.field{display:flex;flex-direction:column;gap:8px;margin:16px 0;font-size:14px;font-weight:600}.field input,.field textarea,.field select{width:100%;font:inherit;font-size:16px;font-weight:400;border:1px solid #aabfb0;background:white;border-radius:6px;padding:12px;color:#163c30;line-height:1.5}.field textarea{resize:vertical}.dialog-actions{justify-content:flex-end;margin-top:22px}#editor-error{color:#a03922;font-size:14px}#notes-list .card{min-width:0}#editor-extra button{color:#a03922}.day-title h3,.checkrow span{overflow-wrap:anywhere}.intro{padding-top:26px;padding-bottom:18px}.photo{height:165px}h1{font-size:34px}h1 span{font-size:20px}@media(max-width:700px){.tabs{justify-content:space-between;gap:8px}.tabs button{font-size:15px}.intro{display:block}.photo{display:none}.sub,.tags{display:none}.intro h1 span{display:none}h1{font-size:29px}.row-head{flex-wrap:wrap}.actions .small-button{min-width:42px}.field{font-size:15px}.small-button{min-height:44px}.day-layout .event{grid-template-columns:55px 1fr}dialog{padding:20px}.group summary{font-size:15px}}

.food-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.food-filters label{font-size:13px;display:grid;gap:6px}.food-filters input,.food-filters select{width:100%;min-width:0;padding:12px;border:1px solid #c9d6d0;border-radius:10px;background:white;color:#153d39;font:inherit}.food-card{padding:22px;border-top:1px solid #dce4dc}.food-card .checkrow{font-size:18px;font-weight:650}.food-card p{line-height:1.7;font-size:14px;margin:12px 0}.food-badges{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.food-badges span{background:#eef2e8;color:#35564c;border-radius:20px;padding:5px 10px;font-size:12px}.food-rating{display:flex;gap:10px;align-items:center}.food-rating b{color:#8c5a16;font-size:20px}.food-rating span,.food-more small{font-size:12px;color:#68766d}.food-card small{line-height:1.6;display:block}.family-rating{color:#315c46}.my-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px}.my-rating span{color:#b67c22;font-size:19px}.food-more{margin-top:15px;border-top:1px dashed #d8ded6;padding-top:10px}.food-more>summary{font-size:13px;cursor:pointer;padding:8px 0}.food-more .route-link{display:inline-block}.food-card .preserve{overflow-wrap:anywhere}.food-filters+ .toolbar{gap:18px}@media(max-width:520px){.food-card{padding:18px 14px}.food-card .checkrow{font-size:16px}.food-filters{gap:10px}.food-card .row-head{align-items:flex-start}}

.shared-panel{border:1px solid #b7ccc4;border-radius:14px;padding:18px;margin:18px 0;background:#f0f7f3}.shared-panel summary{cursor:pointer;padding:14px 0;font-size:14px}.shared-panel p{font-size:14px;line-height:1.7}.shared-panel .row-head{gap:12px;flex-wrap:wrap}#sync-status{font-size:14px}#sync-conflict-detail{max-height:240px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}#sync-import{max-width:100%;display:block;font-size:14px}.shared-panel .actions{flex-wrap:wrap;margin:12px 0}

.sync-feedback{background:#fff;border-left:4px solid #153d39;padding:12px;border-radius:6px;overflow-wrap:anywhere;font-weight:600}.shared-panel button:disabled{opacity:.6;cursor:wait}
