#guest-planner{clear:both;width:100%;box-sizing:border-box;margin:28px auto;font-family:'Poppins',Arial,sans-serif;}
#guest-planner[hidden]{display:none;}
.gp-nav{display:flex;align-items:center;gap:12px;justify-content:center;margin:12px 0;}
.gp-nav button{color:#c55123;padding:10px;}.gp-nav button:disabled{opacity:.3;}
#guest-planner #pc-calendar-wrapper .gp-off-week{display:none!important;}
#guest-planner .day_events:not(:has(.day_event_dec)){display:none;}
.pc-dragging #guest-planner .day_events,.pc-move-mode #guest-planner .day_events{display:block;}
#guest-planner .day_event_decs{min-height:35px;}
#guest-planner .gp-remove{float:right;background:none;border:0;color:#777;cursor:pointer;font-size:18px;}
.gp-promise{border:1px solid #d9e8dc;background:#f5faf6;border-radius:10px;padding:16px;margin:18px 0;}
.gp-login{color:#4f9eff!important;border:1px solid #4f9eff!important;}
#gp-choice{max-width:440px;width:calc(100% - 32px);box-sizing:border-box;border:1px solid #eee;border-radius:12px;padding:22px;font-family:'Poppins',Arial,sans-serif;}
#gp-choice::backdrop{background:rgba(0,0,0,.45);}
#gp-choice-form{display:grid;gap:14px;}#gp-choice label{display:grid;gap:5px;}#gp-choice input,#gp-choice select{width:100%;box-sizing:border-box;padding:9px;}
.gp-close{float:right;background:none;border:0;color:#888;font-size:24px;}
.gp-close:hover{color:#333;}.gp-choice-open{overflow:hidden;}
#gp-shopping{max-width:720px;width:100%;box-sizing:border-box;margin:20px auto;}
.gp-jump{display:inline-flex!important;align-items:center;gap:6px;background:#f5f5f5;border-radius:7px;padding:8px 12px;}
.ps-help{box-sizing:border-box;max-width:720px;margin-left:auto;margin-right:auto;}
.ps-actions{flex-wrap:wrap;}.ps-actions .gp-week-start{width:auto;flex:0 1 auto;white-space:normal;}
@media(max-width:660px){#guest-planner .calendar-wrapper{width:100%;}#gp-period{font-size:13px;}}
#gp-import{max-width:720px;width:calc(100% - 24px);max-height:85dvh;box-sizing:border-box;border:1px solid #ddd;border-radius:12px;padding:22px;}
#gp-import::backdrop{background:#0008;}#gp-import ul{padding-left:20px;line-height:1.8;}#gp-import label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.gp-import-resume{position:fixed;bottom:72px;right:12px;z-index:900;background:#fff!important;border:1px solid #c55123!important;color:#c55123!important;border-radius:8px;padding:8px 12px;}
.gp-week-start{background:#c55123!important;color:white!important;border-radius:8px;padding:10px 15px;display:inline-flex;align-items:center;gap:6px;}
.pm-qchip[aria-current=page]{outline:2px solid #c55123;outline-offset:1px;}

#guest-planner #week-container:not(.single-day-mode){display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;align-items:stretch;}
#guest-planner #pc-calendar-wrapper:not(.single-day-mode) .day-box{width:auto!important;margin:0!important;min-height:180px!important;}
#guest-planner .pc-day-date-row{margin-top:4px;}
#gp-shopping .ps-item-text{flex:1;}
#guest-planner #pc-calendar-wrapper:not(.single-day-mode) .day-box{min-width:0!important;box-sizing:border-box!important;}

/* Public planner: shared list-page layout and module colours. */
body.pub-page #guest-planner{width:100%;max-width:none;float:none;}
body.pub-page #gp-shopping{max-width:none;}
body.pub-page .pm-wrap .ps-help,body.pub-page .pm-wrap #pm-shopping{width:100%;max-width:none;box-sizing:border-box;margin:28px 0;padding:0 4px;}
.pm-wrap .ps-actions{gap:12px;align-items:center;}
.pm-wrap .ps-actions .gp-week-start{background:#fff!important;color:#c55123!important;border:1px solid #c55123!important;border-radius:8px;min-height:44px;box-sizing:border-box;line-height:20px;}
.gp-week-start svg{width:22px;height:22px;flex:0 0 22px;display:block;}
#prd-wrap .rt-actions:has(.rd-try){margin-top:16px;}
#prd-wrap .gp-jump[href="#prd-ingredients"]{color:#4f9eff;border:1px solid #c1dfff;background:#f4f9ff;}
.gp-method{font-size:13px;line-height:1.6;color:#666;text-align:center;margin:10px 0 16px;}
.gp-method-touch{display:none;}
@media(pointer:coarse),(max-width:660px){.gp-method-drag{display:none;}.gp-method-touch{display:block;}}

/* Shared shopping stylesheet contains a two-ID :is() branch; override its width cap only here. */
body.pub-page #gp-shopping,body.pub-page .pm-wrap #pm-shopping{max-width:none!important;}

/* Keep the wide calendar inset, with a readable shopping list below. */
body.pub-page #guest-planner{width:calc(100% - 40px);margin:28px 20px;}
body.pub-page #guest-planner #gp-shopping{max-width:720px!important;margin:24px auto;}
#guest-planner .gp-promise{text-align:center;}
#guest-planner .gp-promise p{max-width:820px;margin:0 auto 16px;line-height:1.65;}
#guest-planner .gp-promise .rt-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;}
#guest-planner .gp-promise .btn-reset{display:inline-flex;align-items:center;justify-content:center;border-radius:50px;padding:13px 26px;line-height:1.5;white-space:normal;text-align:center;margin:0;}
/* mo-app sets margin:0 auto; dialogs must explicitly restore vertical centring. */
#gp-import{position:fixed;inset:0;margin:auto;float:none;height:fit-content;max-height:calc(100dvh - 40px);overflow:auto;padding:26px;border:1px solid #e5e5e5;border-radius:16px;background:#fff;color:#3a3a3a;font-family:'Poppins',Arial,sans-serif;box-shadow:0 18px 60px #0003;}
#gp-import h2{font-size:23px;line-height:1.35;color:#c55123;margin:0 34px 12px 0;}
#gp-import p{font-size:14px;line-height:1.65;margin:10px 0 18px;}
#gp-import .gp-close{position:absolute;top:15px;right:18px;float:none;padding:4px;line-height:1;border:0;background:none;}
#gp-import-form>label{padding:12px 14px;background:#faf6f2;border-radius:8px;margin-bottom:16px;font-weight:600;}
#gp-import-start{font:inherit;color:inherit;padding:8px 10px;border:1px solid #ddd;border-radius:6px;background:#fff;max-width:100%;box-sizing:border-box;}
#gp-import .gp-import-list{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px;}
#gp-import .gp-import-list li{padding:12px 14px;border:1px solid #e6e6e6;border-radius:8px;line-height:1.5;}
#gp-import .gp-import-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;color:#c55123;margin-bottom:4px;}
#gp-import .gp-import-list strong{display:block;font-size:14px;font-weight:600;}
#gp-import .gp-import-dose{display:block;color:#777;font-size:13px;margin-top:4px;}
#gp-import .mo-week-add{display:block;width:100%;box-sizing:border-box;padding:12px 18px;border:0;border-radius:50px;background:#00890a;color:#fff;font:inherit;font-weight:600;line-height:1.5;white-space:normal;cursor:pointer;}
#gp-import .mo-week-add:hover{background:#007a08;}#gp-import .mo-week-add:disabled{opacity:.5;cursor:default;}
#gp-import #gp-import-open{display:block;margin:12px auto 0;padding:8px 16px;color:#777;background:none;border:0;font:inherit;cursor:pointer;}
#gp-import #gp-import-status:empty{display:none;}
@media(max-width:660px){body.pub-page #guest-planner{width:calc(100% - 24px);margin-left:12px;margin-right:12px;}#gp-import{padding:20px;max-height:calc(100dvh - 24px);}#gp-import h2{font-size:20px;}}
