#refreshBtn { display:inline-flex; align-items:center; gap:.4rem; white-space:nowrap; }
#liveClock, #currentTemperature { font-variant-numeric:tabular-nums; }
#calendarBody .weather-icon { padding:2px 5px; min-width:28px; min-height:28px; line-height:1.2; font-size:18px; background:transparent!important; color:inherit!important; border:0; box-shadow:none; flex-shrink:0; }
.weather-summary { padding:1rem; border-radius:12px; background:#f3efe7; color:#30271f; }
.weather-summary p { margin:.6rem 0; }
.weather-summary a { display:block; margin-top:.5rem; font-size:.8rem; }
.weather-dialog { width:min(520px,calc(100vw - 24px)); max-height:85vh; overflow:auto; }
.weather-dialog form { display:flex; gap:.5rem; margin-bottom:.75rem; }
.weather-dialog input { min-width:0; flex:1; }
.weather-results { display:grid; gap:.5rem; margin-bottom:1rem; }
#recipeDetailDialog { padding:0; max-height:90vh; max-height:90dvh; overflow:auto; }
#recipeDetailDialog .recipe-detail-card { overflow:visible; max-height:none; padding-top:0; }
#recipeDetailDialog .dialog-head { position:sticky; top:0; z-index:5; background:var(--panel); margin-top:0; padding-top:16px; padding-bottom:12px; border-bottom:1px solid var(--line); }
#recipeDetailDialog .dialog-head h3 { overflow-wrap:anywhere; }
#recipeDetailDialog .dialog-head button { flex-shrink:0; }
#viewMealRecipe[hidden] { display:none!important; }


/* v1.10.0 UI, guest access, requests, and phone scroll repair */
#viewMealRecipe.view-recipe-btn{
  background:var(--accent)!important;
  color:#fff!important;
  border-color:var(--accent)!important;
  font-weight:850;
  box-shadow:0 5px 14px rgba(91,68,47,.14);
}
#viewMealRecipe.view-recipe-btn:hover{filter:brightness(.95)}
.guest-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#efe7dc;color:#684f39;font-size:11px;font-weight:850;white-space:nowrap}
.guest-mode .meal-slot.read-only,.guest-mode .calendar-chip.read-only{cursor:default}
.guest-mode .meal-slot.read-only:hover{transform:none;box-shadow:none}
.request-meal-btn{font-weight:850}
.meal-requests-panel{margin:0 0 18px;padding:16px;border:1px solid var(--line);border-radius:18px;background:rgba(255,253,249,.72)}
.meal-requests-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.meal-requests-head h3{margin:2px 0 0}
.meal-request-count{font-size:12px;font-weight:850;color:var(--muted)}
.meal-requests-list{display:grid;gap:9px}
.meal-request-card{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.meal-request-copy{display:grid;gap:3px;min-width:0}
.meal-request-copy strong{font-size:15px}
.meal-request-copy span{font-size:12px;color:var(--muted);font-weight:750}
.meal-request-copy p{margin:4px 0 0;line-height:1.4;white-space:pre-wrap}
.request-help{margin-top:0;color:var(--muted);line-height:1.45}
.request-status{min-height:20px;color:var(--muted);font-size:13px;font-weight:750}

@media(max-width:900px){
  html,body{height:auto!important;min-height:100%!important;overflow-y:auto!important}
  body{overflow-x:hidden!important}
  main,.view,.view.active,#plan,#calendar{height:auto!important;max-height:none!important;overflow:visible!important}
  #calendarBody.calendar-body{height:auto!important;max-height:none!important;overflow-x:auto!important;overflow-y:visible!important;touch-action:pan-x pan-y!important;-webkit-overflow-scrolling:touch}
  #calendarBody .month-grid{height:auto!important}
  .plan-weeks,.week-block,.plan-grid{height:auto!important;max-height:none!important;overflow:visible!important}
}
@media(max-width:620px){
  .meal-request-card{flex-direction:column}
  .meal-request-card button{align-self:flex-end}
}

/* Keep every form, including login and weather dialogs, within the visible viewport. */
[hidden]{display:none!important}
dialog[open],#recipeDetailDialog[open],.weather-dialog[open]{
 position:fixed;top:var(--visible-top,0px);bottom:auto;
 margin:12px auto;max-height:calc(var(--visible-height,100dvh) - 24px);
 overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;
 scroll-padding-block:24px;-webkit-overflow-scrolling:touch;
}
.login-overlay{top:var(--visible-top,0px);bottom:auto;height:var(--visible-height,100dvh);overflow-y:auto;box-sizing:border-box;align-items:safe center;scroll-padding-block:24px}
.login-card{max-height:100%;overflow-y:auto}
input,textarea,select{scroll-margin-block:24px}
textarea:focus{max-height:calc(var(--visible-height,100dvh) - 100px);min-height:60px}
.pending-recipe{display:grid;gap:12px;padding:16px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
@media(pointer:coarse){input,textarea,select{font-size:16px}}

/* Recipe review notification, shared orange matches the navigation badge. */
:root{--recipe-review-orange:#ff9000}
.tab[data-view="recipes"]{position:relative;overflow:visible}
.recipe-pending-badge{
 position:absolute;top:-9px;right:-3px;display:flex;align-items:center;justify-content:center;
 min-width:25px;height:25px;padding:0 6px;box-sizing:border-box;border-radius:999px;
 background:var(--recipe-review-orange);color:#fff;font-size:16px;font-weight:750;
 line-height:1;font-variant-numeric:tabular-nums;pointer-events:none;
}
#reviewRecipesBtn.has-pending-recipes{background:var(--recipe-review-orange);border-color:var(--recipe-review-orange);color:#30271f}
