.guide-dialog{width:calc(100% - 32px);max-width:780px;height:min(880px,calc(var(--visual-viewport-height,100dvh) - 32px));max-height:calc(var(--visual-viewport-height,100dvh) - 32px);padding:0;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:24px;overflow:hidden}
.guide-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.guide-header{display:flex;align-items:flex-start;gap:18px;justify-content:space-between;padding:28px 30px 20px;border-bottom:1px solid var(--line);background:var(--surface)}
.guide-header h2{font:850 30px/1.12 var(--nouri-ui);letter-spacing:-1px;margin:8px 0 0;max-width:570px}
.guide-header .eyebrow{font-size:11px;margin:0}
.guide-close{width:42px;height:42px;flex-shrink:0;border:1px solid var(--line);background:var(--surface-soft);color:var(--text);border-radius:50%;font-size:24px}
.guide-close[hidden]{display:none}
#guideSignOut{flex-shrink:0;min-height:42px;font-size:12px;padding:8px 0 8px 8px}#guideSignOut[hidden]{display:none}
.guide-content{overflow:auto;overscroll-behavior:contain;padding:26px 30px;-webkit-overflow-scrolling:touch}
.guide-content>p{font-size:14px;line-height:1.75;color:var(--text-soft)}
.guide-content .guide-lead{font-size:20px;line-height:1.5;letter-spacing:-.3px;color:var(--text);font-weight:650;margin:20px 0}
.guide-hero-icon{width:82px;height:82px;padding:20px;border-radius:24px;box-sizing:border-box;background:var(--surface-soft);color:var(--text)}
.guide-hero-icon svg{width:100%;height:100%}
.guide-week-strip,.guide-day-progress{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:26px 0}
.guide-week-strip>span{display:grid;gap:5px;text-align:center;padding:15px 3px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.guide-week-strip small{font-size:11px}.guide-week-strip b{font-size:22px}
.guide-day-progress{margin:0 0 20px}.guide-day-progress span{font-size:11px;text-align:center;padding:10px 2px;border:1px solid var(--line);border-radius:9px;color:var(--text-soft)}
.guide-day-progress .reviewed{background:var(--surface-soft);color:var(--text)}.guide-day-progress .active{background:var(--text);color:var(--surface);border-color:var(--text);font-weight:800}
.guide-footer{padding:16px 30px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface)}
.guide-footer>div{display:flex;gap:12px;justify-content:space-between}.guide-footer button{min-height:48px;font-size:13px}.guide-footer .primary{margin-left:auto;flex:1;max-width:330px}.guide-footer .secondary{min-width:100px}.guide-footer [hidden]{display:none!important}
.guide-footer .form-error{margin:0 0 12px}.guide-footer .form-error:empty{display:none}
.guide-points{list-style:none;counter-reset:guide;padding:0;display:grid;gap:19px;margin:30px 0}
.guide-points li{counter-increment:guide;position:relative;padding-left:43px;min-height:30px;font-size:15px;line-height:1.75;color:var(--text)}
.guide-points li:before{content:counter(guide);position:absolute;left:0;top:1px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--surface-soft);font-size:12px;font-weight:800}
.guide-content .fineprint{font-size:12px;line-height:1.65}
.guide-day-target{display:flex;align-items:center;gap:14px;justify-content:space-between;background:var(--surface-soft);padding:17px 20px;border-radius:15px}
.guide-day-target b{font-size:25px;letter-spacing:-.6px}.guide-day-target small{font-size:12px;letter-spacing:0;font-weight:500}.guide-day-target>span{font-size:12px;color:var(--text-soft)}
.guide-course{margin:24px 0}.guide-course h3{font-size:18px;margin:0 0 12px;letter-spacing:-.3px}
.guide-meal{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;margin:8px 0;background:var(--surface-soft)}
.guide-recipe{flex:1;min-width:0;background:none;border:0;padding:0;text-align:left;color:var(--text)}.guide-recipe b{display:block;font-size:14px;line-height:1.4}.guide-recipe small{display:block;font-size:12px;color:var(--text-soft);margin-top:4px}
.guide-meal .text-btn{font-size:12px;min-height:44px;padding:8px 0 8px 10px}
.guide-add{display:flex;gap:8px;align-items:center;margin:9px 0}.guide-add>label{flex:1;min-width:0;margin:0}.guide-add select{font-size:13px;padding:12px;min-height:46px;width:100%}.guide-add button{padding:12px 15px;min-height:46px;font-size:12px;white-space:nowrap}
.guide-add .sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.weekly-planning-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px 24px;margin:18px 0 26px;border:1px solid var(--line);border-radius:20px;background:var(--surface-soft)}
.weekly-planning-card[hidden]{display:none}.weekly-planning-card h2{font-size:27px;line-height:1.1;margin:7px 0 10px;letter-spacing:-.7px}.weekly-planning-card p:not(.eyebrow){font-size:13px;line-height:1.6;color:var(--text-soft);margin:0}.weekly-planning-card button{flex-shrink:0;font-size:13px;min-height:46px}
.weekly-meal-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.weekly-meal-actions button{font-size:12px;min-height:44px;padding:12px 16px}
.shopping-week-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px;margin:22px 0 10px}.shopping-week-toolbar b{text-align:center;font-size:15px}.shopping-week-toolbar .secondary{padding:10px;min-height:44px}
.shopping-plan-status{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 20px}.shopping-plan-status p{font-size:12px;line-height:1.5;color:var(--text-soft);margin:0}.shopping-plan-status button{font-size:12px;padding:8px 0;min-height:44px;flex-shrink:0}
#profileGuide{width:100%;margin:12px 0}
.onboarding{max-width:780px;margin:auto;display:block;padding-top:30px}.onboard-copy{margin:0 auto 24px;max-width:none}.onboard-copy h1{font-size:38px;line-height:1.05}.onboard-copy>p:not(.eyebrow){font-size:14px;line-height:1.6}.onboard-copy .steps{margin-top:20px}.onboard-card{max-width:none;width:100%;box-sizing:border-box}
@media(max-width:650px){.guide-dialog{width:calc(100% - 16px);height:calc(var(--visual-viewport-height,100dvh) - 16px);max-height:calc(var(--visual-viewport-height,100dvh) - 16px);border-radius:20px}.guide-header{padding:22px 20px 17px}.guide-header h2{font-size:26px}.guide-content{padding:23px 20px}.guide-content .guide-lead{font-size:19px}.guide-footer{padding:13px 20px calc(14px + env(safe-area-inset-bottom))}.guide-footer button{font-size:12px;padding:12px}.guide-footer .secondary{min-width:80px}.guide-points{gap:20px}.guide-points li{font-size:14px;padding-left:39px}.guide-day-target{padding:15px;align-items:flex-start}.guide-day-target b{font-size:22px}.guide-day-target>span{font-size:11px;max-width:100px;text-align:right}.guide-add select{font-size:16px}.guide-week-strip{gap:5px}.guide-week-strip b{font-size:19px}.guide-week-strip small{font-size:10px}.weekly-planning-card{display:block;padding:20px}.weekly-planning-card button{margin-top:17px;width:100%}.shopping-plan-status{display:block}.shopping-plan-status button{margin-top:4px}.weekly-meal-actions{justify-content:flex-start;margin-top:17px}.onboarding{padding-top:20px}.onboard-copy h1{font-size:32px}}
