/* User pages share the design-system colors and controls; only layout and readability differ. */
.user-ui{font-size:16px;line-height:1.7}
.user-ui .page{max-width:720px}
.user-ui .phone-page{max-width:620px}
.user-ui :is(small,.kicker,.muted){font-size:14px;line-height:1.65}
.user-ui .user-section-label{font-size:14px;font-weight:700;letter-spacing:normal}
.user-ui :is(.primary-button,.secondary-button,.danger-button){min-height:48px;font-size:16px}
.user-ui .user-main-action{width:100%;min-height:64px;font-size:18px;text-align:center}
.user-flow{display:grid;gap:20px}
.user-flow>*{margin:0;min-width:0}
.user-flow .panel{margin-bottom:0}
.user-back{position:sticky;top:8px;z-index:3;justify-self:start;max-width:100%}
.user-back .secondary-button{box-shadow:var(--shadow-sm)}
.next-meal-link{display:grid;gap:10px;color:var(--ink);padding:8px 0 16px}
.next-meal-link:hover{text-decoration:none}
.next-meal-link h2{margin:0;font-size:26px}
.next-meal-link p{margin:0}
.next-meal-detail{color:var(--green-dark);font-weight:700;text-decoration:underline}
.meal-time{font-size:18px;font-weight:700}
.user-calendar-link small{display:block;font-size:16px;color:inherit;font-weight:400;margin-top:4px}
.user-secondary-links{display:grid;gap:12px;padding-top:16px}
.user-ui .adult-info summary{min-height:48px;cursor:pointer;display:list-item;padding:8px 0}
.user-month-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;text-align:center}
.user-month-nav .secondary-button{padding:10px 8px}
.user-month-nav strong{font-size:18px}
.meal-day{border:1px solid var(--line);border-radius:var(--ui-panel-radius);padding:16px;background:#fff;scroll-margin-top:88px}
.meal-day h2{font-size:20px;margin:0 0 12px}
.meal-day--today{border:2px solid var(--green);background:var(--green-soft)}
.meal-day--past{background:var(--bg)}
.today-label{display:inline-block;padding:2px 10px;border-radius:20px;background:var(--green);color:#fff;font-size:14px}
.day-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.user-meal-card{display:flex;flex-direction:column;gap:10px;padding:14px 10px;border:1px solid var(--line);border-radius:var(--ui-control-radius);background:#fff;color:var(--ink);overflow-wrap:anywhere}
.user-meal-card:hover{border-color:var(--green);text-decoration:none;box-shadow:var(--shadow-sm)}
.user-meal-card strong{font-size:18px}
.user-meal-card .meal-time{font-size:14px}
.user-meal-card small{font-size:14px;color:var(--muted)}
.user-meal-card .card-action{margin-top:auto;font-size:14px;color:var(--green-dark);font-weight:700}
.meal-state{display:inline-flex;align-items:center;gap:5px;align-self:start;font-size:14px;font-weight:700;line-height:1.6;padding:6px 8px;border-radius:var(--ui-control-radius);background:var(--green-soft);color:var(--green-dark)}
.meal-state--cancelled{background:#fff0f0;color:var(--ui-danger)}
.meal-state--received{background:#edf0f2;color:var(--muted)}
.user-ui .user-check{display:flex;align-items:center;gap:12px;min-height:48px;margin:16px 0}
.user-ui .user-check input{width:24px;height:24px;flex-shrink:0}
.user-menu{position:relative;padding:0}
.user-ui .site-header .user-menu summary{min-height:44px;display:flex;align-items:center;padding:8px 12px;border:1px solid #ffffff66;border-radius:var(--ui-control-radius);cursor:pointer;color:#fff}
.user-menu>div{position:absolute;right:0;top:100%;z-index:10;display:grid;gap:12px;width:min(280px,80vw);padding:16px;border:1px solid var(--line);border-radius:var(--ui-panel-radius);background:white;box-shadow:var(--shadow-sm)}
.user-menu form .text-button{color:var(--green-dark);width:100%}
.user-confirm-dialog{margin:auto;max-height:calc(100dvh - 32px);overflow:auto;width:min(480px,calc(100vw - 32px));padding:24px;border:1px solid var(--line);border-radius:var(--ui-panel-radius);color:var(--ink)}
.user-confirm-dialog::backdrop{background:#17243388}
.user-dialog-actions{display:grid;gap:12px}
@media(max-width:480px){.day-meals{grid-template-columns:1fr}.user-meal-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:16px}.user-meal-card small{grid-column:1/-1}.user-meal-card .card-action{grid-column:1/-1}.user-month-nav strong{font-size:16px}.user-month-nav .secondary-button{font-size:14px}.user-ui .site-header nav{width:100%;justify-content:space-between}.user-ui .site-header .account-context{flex:1}.user-ui .brand strong{font-size:16px}}
