/* Light-mode correction for the small ARMED status pill beneath the mascot only.
   The main game hero/card intentionally keeps its original styling. */
html[data-theme="light"] .armed-pill{background:#ffffff!important;color:#101828!important;-webkit-text-fill-color:#101828!important}
/* iOS native date/time controls must respect their parent card width. */
input[type="date"],input[type="time"]{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}
input[type="date"]{display:block!important;width:100%!important;margin-left:0!important;margin-right:0!important;-webkit-appearance:none;appearance:none}
input[type="date"]::-webkit-date-and-time-value{min-width:0;text-align:center}
/* Intermittent fasting controls: force iOS time inputs to respect the card width. */
.fasting-panel,.fasting-panel form,.fasting-panel form .grid,.fasting-panel form .grid>div{min-width:0;max-width:100%}.fasting-panel form .grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%}.fasting-panel input[type="time"]{display:block!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin-left:0!important;margin-right:0!important;-webkit-appearance:none;appearance:none}.fasting-panel input[type="time"]::-webkit-date-and-time-value{text-align:left;min-width:0}@media(max-width:600px){.fasting-panel form .grid{display:block!important;width:100%!important}.fasting-panel form .grid>div{display:block!important;width:100%!important;max-width:100%!important;overflow:hidden}.fasting-panel input[type="time"]{width:100%!important;max-width:100%!important}}
/* Center Save/Cancel-style action pairs horizontally in every modal card. */
dialog form{--dialog-action-gap:12px}dialog form>button:not(.icon-button):not(.photo-source){margin-top:12px}dialog form:has(>button:nth-last-child(2)):has(>button:last-child){text-align:center}dialog form:has(>button:nth-last-child(2)):has(>button:last-child)>button:nth-last-child(2),dialog form:has(>button:nth-last-child(2)):has(>button:last-child)>button:last-child{display:inline-flex!important;width:auto!important;max-width:calc(50% - 10px)!important;align-items:center;justify-content:center;vertical-align:middle;margin-top:12px!important;margin-bottom:0!important}dialog form:has(>button:nth-last-child(2)):has(>button:last-child)>button:nth-last-child(2){margin-left:0!important;margin-right:6px!important}dialog form:has(>button:nth-last-child(2)):has(>button:last-child)>button:last-child{margin-left:6px!important;margin-right:0!important}dialog form>label,dialog form>input,dialog form>select,dialog form>textarea,dialog form>p,dialog form>div,dialog form>img,dialog form>section{text-align:left}
/* Standalone Cancel buttons are secondary buttons that sit directly in a dialog, outside the form. */
dialog>button.secondary:last-child{display:flex!important;width:fit-content!important;min-width:120px;max-width:100%;margin:14px auto 0!important;align-items:center;justify-content:center;text-align:center}
/* Also cover current form-contained standalone Cancel actions. */
#mealDlg form>button.secondary:last-child,#textFoodDlg form>button.secondary:last-child,#groceryScanDlg form>button.secondary:last-child{display:flex!important;width:fit-content!important;min-width:120px;max-width:100%;margin:14px auto 0!important;align-items:center;justify-content:center;text-align:center}
/* Single primary actions on pages/cards. */
#goalForm>button:last-child,.pantry-builder>#suggestMealsBtn,.fasting-panel form>button:last-child{display:flex!important;width:fit-content!important;min-width:120px;max-width:100%;margin:14px auto 0!important;align-items:center;justify-content:center;text-align:center}
/* Food Memory */
.food-memory-action{display:grid;gap:6px;margin:14px 0 8px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.food-memory-btn{width:100%!important;margin:0!important;justify-content:center!important}
.food-memory-btn.remembered{border-color:var(--accent)!important;color:var(--accent)!important;-webkit-text-fill-color:var(--accent)!important}
.food-memory-note{display:block;color:var(--muted);font-size:10px;line-height:1.4;text-align:center!important}
/* Admin Usage */
.admin-usage-dialog{width:min(94%,540px)}
.admin-usage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0}
.admin-stat{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.admin-stat span,.admin-stat small{color:var(--muted);font-size:11px}.admin-stat b{font-size:21px;color:var(--text)}
.admin-service-list{display:grid;gap:8px;margin:12px 0}.admin-service-list>div{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--border)}.admin-service-list span{font-size:12px;color:var(--muted);line-height:1.4}
.admin-usage-actions{display:flex;justify-content:center;gap:12px;margin-top:16px}.admin-usage-actions button{width:auto!important;margin:0!important}.admin-loading{padding:24px;text-align:center;color:var(--muted)}
/* Admin user activity */
.admin-section-title{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:18px 0 6px;color:var(--text)}
.admin-note{font-size:11px;line-height:1.45;margin-bottom:10px}
.admin-user-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 12px}
.admin-users{display:grid;gap:10px}.admin-user-row{padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2)}
.admin-user-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-user-head b{font-size:13px;overflow-wrap:anywhere}.admin-user-head span{font-size:10px;font-weight:800;padding:4px 7px;border-radius:999px;background:var(--surface-3);color:var(--muted)}
.admin-user-meta{font-size:10px;color:var(--muted);margin-top:4px}.admin-user-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.admin-user-stats span{display:grid;gap:2px;padding:8px;border-radius:10px;background:var(--surface)}.admin-user-stats b{font-size:16px;color:var(--text)}.admin-user-stats small{font-size:9px;color:var(--muted);line-height:1.25}
.admin-view-users{display:flex!important;width:fit-content!important;min-width:140px;margin:12px auto 18px!important;align-items:center;justify-content:center}
.admin-users-dialog{width:min(94%,540px);max-height:88dvh;overflow:hidden;flex-direction:column}.admin-users-dialog[open]{display:flex}.admin-users-scroll{min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 2px 12px;overscroll-behavior:contain}
@media(max-width:480px){.admin-user-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.admin-user-summary .admin-stat{padding:9px 6px}.admin-user-summary .admin-stat b{font-size:18px}.admin-user-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
