:root{--enest-purple:#6d4df2;--enest-navy:#0b1737}html,body{min-height:100%}.enest-bg{background:radial-gradient(circle at 20% 5%,rgba(109,77,242,.14),transparent 28rem),radial-gradient(circle at 88% 18%,rgba(56,189,248,.18),transparent 25rem),linear-gradient(135deg,#f8fbff 0%,#eef3ff 100%)}.tablet-frame{background:#111827;border-radius:42px;padding:18px;border:2px solid rgba(255,255,255,.15);box-shadow:0 35px 90px rgba(15,23,42,.30)}.tablet-screen{background:#f8fafc;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.75)}.sidebar-art{background:radial-gradient(circle at 50% 72%,rgba(109,77,242,.34),transparent 8rem),linear-gradient(180deg,#0b1737 0%,#13265a 100%)}.event-card{border:0;text-align:left;width:100%;border-radius:14px;padding:10px 11px;margin-bottom:9px;font-weight:800;font-size: 15px;transition:.16s ease}.event-card:hover{transform:translateY(-1px);filter:saturate(1.04)}.sticky{width:150px;min-height:135px;padding:20px 14px 14px;border-radius:10px;box-shadow:0 16px 24px rgba(17,24,39,.12);transform:rotate(-4deg);font-weight:800}.sticky:nth-child(even){transform:rotate(5deg)}.bg-enest-pink{background:#fde2ea}.bg-enest-yellow{background:#fff4bf}.bg-enest-green{background:#dcfce7}.bg-enest-blue{background:#dbeafe}.bg-enest-orange{background:#fed7aa}.kiosk-hide{display:none!important}.photo-mode{background:linear-gradient(135deg,#1e1b4b,#0f172a)!important;color:white}.photo-mode .photo-card{display:grid!important}.photo-card{display:none;position:fixed;inset:24px;z-index:50;place-items:center;border-radius:36px;background:radial-gradient(circle at 30% 20%,rgba(168,85,247,.38),transparent 30rem),radial-gradient(circle at 80% 70%,rgba(34,211,238,.28),transparent 28rem),#0f172a;color:white;text-align:center;box-shadow:0 30px 100px rgba(0,0,0,.45)}@media(max-width:1000px){.tablet-frame{border-radius:28px;padding:10px}.tablet-screen{border-radius:20px}}

.emoji-picker-wrap{margin-top:.35rem;border:1px solid #e2e8f0;background:#f8fafc;border-radius:1rem;padding:.5rem;display:grid;grid-template-columns:repeat(8,1fr);gap:.35rem}
.emoji-choice{min-height:2.25rem;border:0;border-radius:.75rem;background:#fff;font-size: 1.5rem;box-shadow:0 1px 4px rgba(15,23,42,.05);transition:.14s ease}
.emoji-choice:hover{transform:translateY(-1px);background:#ede9fe}
.emoji-target-active{box-shadow:0 0 0 4px rgba(109,77,242,.16)!important;border-color:#8b5cf6!important}


.item-actions{display:flex;gap:.35rem;align-items:center;opacity:.18;transition:.15s ease}
.item-actions button{border:0;border-radius:.7rem;background:#fff;color:#334155;font-size: 0.875rem;font-weight:900;min-width:1.85rem;height:1.85rem;box-shadow:0 1px 5px rgba(15,23,42,.08)}
.item-actions button:hover{background:#ede9fe;color:#6d4df2}
.group:hover .item-actions,.event-card:hover .item-actions,.sticky:hover .item-actions{opacity:1}
.editable-card{position:relative}
.editable-card .item-actions{position:absolute;right:.55rem;top:.55rem}


/* Tablet horizontal navigation pass */
html {
  scroll-behavior: smooth;
}

.tablet-shell {
  min-height: 100vh;
  background: linear-gradient(135deg, #eef6ff 0%, #f5f0ff 45%, #eef8ff 100%);
}

.tablet-topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .85rem 1rem;
  background: rgba(15, 23, 42, .92);
  color: #fff;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .22);
  backdrop-filter: blur(18px);
}

.tablet-brand {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-width: 160px;
}

.tablet-brand-icon {
  display: grid;
  place-items: center;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 1rem;
  background: rgba(255,255,255,.12);
  color: #bfdbfe;
  font-size: 1.5rem;
}

.tablet-brand-name {
  font-size: 1.875rem;
  font-weight: 950;
  letter-spacing: -.05em;
  line-height: 1;
}

.tablet-brand-sub {
  font-size: 0.75rem;
  font-weight: 850;
  color: rgba(219,234,254,.72);
  margin-top: .15rem;
}

.tablet-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-width: 0;
  overflow-x: auto;
  padding: .1rem;
  scrollbar-width: none;
}

.tablet-nav::-webkit-scrollbar {
  display: none;
}

.tablet-nav-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-height: 3rem;
  min-width: 5.75rem;
  padding: .65rem .9rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 1.15rem;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.86);
  font-weight: 950;
  font-size: 1rem;
  white-space: nowrap;
  transition: .16s ease;
}

.tablet-nav-item.is-active,
.tablet-nav-item:hover {
  background: #7c3aed;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 12px 22px rgba(124,58,237,.28);
}

.tablet-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .5rem;
  min-width: 190px;
}

.tablet-photo-btn,
.tablet-add-btn {
  min-height: 3rem;
  border: 0;
  border-radius: 1.15rem;
  padding: .7rem 1rem;
  font-weight: 950;
  white-space: nowrap;
}

.tablet-photo-btn {
  background: rgba(255,255,255,.1);
  color: #fff;
}

.tablet-add-btn {
  background: #7c3aed;
  color: #fff;
  box-shadow: 0 14px 28px rgba(124,58,237,.35);
}

.tablet-main {
  min-width: 0;
  overflow: visible;
  padding: 1.25rem;
}

.tablet-card {
  border: 1px solid rgb(226 232 240);
  border-radius: 1.6rem;
  background: #fff;
  padding: 1.25rem;
  box-shadow: 0 20px 40px rgba(15,23,42,.10);
  scroll-margin-top: 6rem;
}

.tablet-day-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
  border: 1px solid rgb(226 232 240);
  border-radius: 1.35rem;
  background: #fff;
  padding: .75rem;
}

.tablet-day-date {
  display: grid;
  place-items: center;
  border-radius: 1.1rem;
  background: #f8fafc;
  min-height: 5.2rem;
  text-align: center;
}

.tablet-day-events {
  display: grid;
  gap: .55rem;
  align-content: center;
}

.tablet-event-pill {
  margin: 0 !important;
  min-height: 3.65rem;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  text-align: left;
}

.tablet-empty-event {
  min-height: 3.65rem;
  border: 1px dashed rgb(203 213 225);
  border-radius: 1rem;
  background: rgb(248 250 252);
  color: rgb(100 116 139);
  font-weight: 900;
}

#calendarSection,
#tasksSection,
#mealsSection,
#familySection,
#groceriesSection {
  scroll-margin-top: 6rem;
}

@media (max-width: 1120px) {
  .tablet-topbar {
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .tablet-brand,
  .tablet-actions {
    justify-content: center;
  }

  .tablet-actions {
    min-width: 0;
  }

  .tablet-nav {
    justify-content: flex-start;
  }
}

/* Tablet readability balance pass v1.2.0
   Keeps the dashboard optimized for a 10.5" horizontal tablet browser. */
@media (min-width: 900px) {
  .tablet-main {
    padding: 1rem;
  }

  #calendarSection.tablet-card {
    padding: 1rem;
  }

  #calendarSection > .mb-4 {
    margin-bottom: .75rem;
  }

  #weekGrid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem !important;
  }

  .tablet-day-row {
    grid-template-columns: 76px minmax(0, 1fr);
    gap: .7rem;
    padding: .65rem;
    border-radius: 1.15rem;
    min-width: 0;
  }

  .tablet-day-date {
    min-height: 4.45rem;
    border-radius: .95rem;
  }

  .tablet-day-date .text-5xl {
    font-size: 2.25rem!important;
    line-height: 2.1rem !important;
  }

  .tablet-day-events {
    min-width: 0;
    gap: .45rem;
  }

  .tablet-event-pill,
  .tablet-empty-event {
    min-height: 3.05rem;
  }

  .tablet-event-pill {
    padding: .65rem .75rem !important;
    border-radius: 1rem;
  }

  .tablet-event-pill .text-2xl {
    font-size: 1.125rem!important;
  }

  #tasksSection {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }

  #mealsSection {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }

  #familySection {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1rem !important;
  }

  #birthdayList {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  #tasksSection > *,
  #mealsSection > *,
  #familySection > *,
  #birthdayList > * {
    min-width: 0;
  }
}

@media (min-width: 900px) and (max-width: 1079px) {
  #tasksSection,
  #familySection {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #tasksSection > :nth-child(3),
  #familySection > :nth-child(3) {
    grid-column: 1 / -1;
  }

  #birthdayList {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 899px) {
  #weekGrid,
  #tasksSection,
  #mealsSection,
  #familySection,
  #birthdayList {
    grid-template-columns: 1fr !important;
  }
}

/* Tablet notes placement pass v1.2.1
   Put Notes & Messages on the right half of the main widget row,
   with Tasks and Today stacked on the left for a 10.5" horizontal tablet. */
@media (min-width: 900px) {
  #tasksSection {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    align-items: stretch !important;
    gap: 1rem !important;
  }

  #tasksSection > :nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  #tasksSection > :nth-child(2) {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }

  #tasksSection > :nth-child(3) {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    min-height: 100% !important;
  }

  #noteZone {
    min-height: 100% !important;
  }
}

@media (min-width: 900px) and (max-width: 1079px) {
  #tasksSection > :nth-child(3) {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
  }
}

@media (max-width: 899px) {
  #tasksSection > * {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

/* Full-screen tablet kiosk mode v1.3.0 */
html,
body.enest-kiosk-layout {
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: manipulation;
  background: #eef6ff;
}

body.enest-kiosk-layout .tablet-shell {
  height: 100dvh;
  min-height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

body.enest-kiosk-layout .tablet-topbar {
  position: relative;
  top: auto;
  min-height: 4.75rem;
  padding: .75rem 1rem;
}

body.enest-kiosk-layout .tablet-main {
  height: 100%;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 1rem;
  -webkit-overflow-scrolling: touch;
  scroll-padding-top: 1rem;
}

body.enest-kiosk-layout .tablet-main::-webkit-scrollbar,
body.enest-kiosk-layout .tablet-nav::-webkit-scrollbar {
  width: 0;
  height: 0;
}

body.enest-kiosk-layout #calendarSection,
body.enest-kiosk-layout #tasksSection,
body.enest-kiosk-layout #mealsSection,
body.enest-kiosk-layout #familySection,
body.enest-kiosk-layout #groceriesSection {
  scroll-margin-top: 1rem;
}

.tablet-kiosk-btn {
  min-height: 3rem;
  border: 0;
  border-radius: 1.15rem;
  padding: .7rem .9rem;
  font-weight: 950;
  white-space: nowrap;
  background: rgba(34, 211, 238, .18);
  color: #e0f2fe;
}

.tablet-kiosk-btn:hover,
body.is-browser-fullscreen .tablet-kiosk-btn {
  background: #0891b2;
  color: #fff;
}

@media (orientation: portrait) {
  body.enest-kiosk-layout::before {
    content: "Rotate tablet horizontally";
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: grid;
    place-items: center;
    padding: 2rem;
    background: #0f172a;
    color: #fff;
    font-size: clamp(2.25rem, 8vw, 4.5rem);
    font-weight: 950;
    text-align: center;
  }
}

@media (min-width: 900px) and (max-height: 780px) {
  body.enest-kiosk-layout .tablet-topbar {
    min-height: 4.35rem;
    padding-top: .55rem;
    padding-bottom: .55rem;
  }

  body.enest-kiosk-layout .tablet-brand-icon {
    width: 2.15rem;
    height: 2.15rem;
  }

  body.enest-kiosk-layout .tablet-brand-name {
    font-size: 1.5rem;
  }

  body.enest-kiosk-layout .tablet-nav-item,
  body.enest-kiosk-layout .tablet-photo-btn,
  body.enest-kiosk-layout .tablet-add-btn,
  body.enest-kiosk-layout .tablet-kiosk-btn {
    min-height: 2.7rem;
    padding-top: .55rem;
    padding-bottom: .55rem;
  }
}

/* Kiosk modal/fullscreen fix v1.3.1
   Keep overlays above the tablet header and make modal content fit the viewport. */
body.enest-kiosk-layout #quickModal {
  z-index: 9999 !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1rem !important;
}

body.enest-kiosk-layout #quickModal > form {
  width: min(92vw, 46rem) !important;
  max-height: calc(100dvh - 2rem) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

body.enest-kiosk-layout .tablet-topbar {
  z-index: 80;
}

body.enest-kiosk-layout:fullscreen .tablet-shell,
body.enest-kiosk-layout:-webkit-full-screen .tablet-shell {
  width: 100vw;
  height: 100dvh;
}

body.enest-kiosk-layout .tablet-kiosk-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 900px) and (max-width: 1250px) {
  .tablet-brand { min-width: 135px; }
  .tablet-brand-name { font-size: 1.5rem; }
  .tablet-brand-sub { font-size: 0.75rem; }
  .tablet-nav-item {
    min-width: auto;
    padding-left: .7rem;
    padding-right: .7rem;
    font-size: 0.875rem;
  }
  .tablet-actions { min-width: 0; }
  .tablet-kiosk-btn,
  .tablet-photo-btn,
  .tablet-add-btn {
    padding-left: .75rem;
    padding-right: .75rem;
  }
}

/* Tablet kiosk compatibility fix v1.3.2 */
html:fullscreen,
html:-webkit-full-screen,
html:-moz-full-screen {
  width: 100vw;
  height: 100dvh;
  overflow: hidden;
  background: #eef6ff;
}

html:fullscreen body.enest-kiosk-layout,
html:-webkit-full-screen body.enest-kiosk-layout,
html:-moz-full-screen body.enest-kiosk-layout,
body.enest-kiosk-layout.is-kiosk-focus {
  width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  overflow: hidden !important;
  background: #eef6ff !important;
}

html:fullscreen body.enest-kiosk-layout .tablet-shell,
html:-webkit-full-screen body.enest-kiosk-layout .tablet-shell,
html:-moz-full-screen body.enest-kiosk-layout .tablet-shell,
body.enest-kiosk-layout.is-kiosk-focus .tablet-shell {
  height: 100dvh !important;
  min-height: 100dvh !important;
  width: 100vw !important;
}

body.enest-kiosk-layout.is-kiosk-focus .tablet-kiosk-btn,
body.enest-kiosk-layout .tablet-kiosk-btn[aria-pressed="true"] {
  background: #0891b2 !important;
  color: #fff !important;
}

.kiosk-unsupported-hint {
  position: fixed;
  right: 1rem;
  top: calc(env(safe-area-inset-top, 0px) + 5.35rem);
  z-index: 10000;
  max-width: min(30rem, calc(100vw - 2rem));
  border-radius: 1.25rem;
  background: rgba(15, 23, 42, .94);
  color: #fff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .35);
  padding: 1rem 1.15rem;
  font-weight: 800;
  line-height: 1.25;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-.6rem);
  transition: opacity .18s ease, transform .18s ease;
}

.kiosk-unsupported-hint.is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media all and (display-mode: fullscreen), all and (display-mode: standalone) {
  body.enest-kiosk-layout {
    padding-top: env(safe-area-inset-top, 0px);
    padding-left: env(safe-area-inset-left, 0px);
    padding-right: env(safe-area-inset-right, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
  }
}

/* Calendar event containment fix v1.3.3
   Keeps stacked events in the right-side event area and prevents nested-button layout repair. */
.tablet-day-row {
  overflow: hidden;
}

.tablet-day-date {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
}

.tablet-day-events {
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  align-content: start;
}

.tablet-day-events > .tablet-event-pill,
.tablet-day-events > .tablet-empty-event {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}

.tablet-event-pill {
  cursor: pointer;
  overflow: hidden;
  padding-right: 4.85rem !important;
}

.tablet-event-pill .item-actions {
  right: .55rem;
  top: 50%;
  transform: translateY(-50%);
}

.event-pill-main {
  display: flex;
  align-items: center;
  gap: .75rem;
  min-width: 0;
  width: 100%;
}

.event-pill-icon {
  flex: 0 0 auto;
  font-size: 1.125rem;
  line-height: 1;
}

.event-pill-text {
  min-width: 0;
  overflow: hidden;
}

.event-pill-title,
.event-pill-time {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Tablet bottom nav pass v1.3.4
   Moves the main dashboard navigation to the bottom for tablet reach,
   removes the Photo control from the visible tablet action bar, and keeps
   the scrollable content clear of the bottom nav. */
body.enest-kiosk-layout .tablet-shell {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}

body.enest-kiosk-layout .tablet-topbar,
.tablet-topbar {
  grid-template-columns: auto minmax(0, 1fr) !important;
}

body.enest-kiosk-layout .tablet-actions,
.tablet-actions {
  min-width: 0 !important;
}

.tablet-bottom-nav {
  position: relative;
  z-index: 70;
  justify-content: center;
  gap: .55rem;
  padding: .65rem calc(1rem + env(safe-area-inset-right, 0px)) calc(.65rem + env(safe-area-inset-bottom, 0px)) calc(1rem + env(safe-area-inset-left, 0px));
  background: rgba(15, 23, 42, .94);
  border-top: 1px solid rgba(255,255,255,.10);
  box-shadow: 0 -18px 45px rgba(15, 23, 42, .18);
  backdrop-filter: blur(18px);
}

.tablet-bottom-nav .tablet-nav-item {
  min-height: 3.15rem;
  min-width: 6.1rem;
}

body.enest-kiosk-layout .tablet-main {
  scroll-padding-top: 1rem;
  scroll-padding-bottom: 5.75rem;
  padding-bottom: 1.15rem !important;
}

body.enest-kiosk-layout #calendarSection,
body.enest-kiosk-layout #tasksSection,
body.enest-kiosk-layout #mealsSection,
body.enest-kiosk-layout #familySection,
body.enest-kiosk-layout #groceriesSection {
  scroll-margin-top: 1rem !important;
  scroll-margin-bottom: 5.75rem !important;
}

.tablet-photo-btn {
  display: none !important;
}

@media (min-width: 900px) and (max-width: 1250px) {
  .tablet-bottom-nav .tablet-nav-item {
    min-width: 0;
    flex: 1 1 0;
    max-width: 10rem;
  }
}

@media (max-width: 899px) {
  .tablet-bottom-nav {
    justify-content: flex-start;
  }
}

/* Tablet full bottom header pass v1.3.5
   Moves the entire app chrome — logo, nav, kiosk, and add — to the bottom. */
body.enest-kiosk-layout .tablet-shell {
  grid-template-rows: minmax(0, 1fr) auto !important;
}

body.enest-kiosk-layout .tablet-main {
  grid-row: 1 !important;
  padding-bottom: 1rem !important;
  scroll-padding-bottom: 6.25rem !important;
}

.tablet-bottom-header {
  grid-row: 2 !important;
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  z-index: 90 !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  padding: .65rem calc(1rem + env(safe-area-inset-right, 0px)) calc(.65rem + env(safe-area-inset-bottom, 0px)) calc(1rem + env(safe-area-inset-left, 0px)) !important;
  border-top: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 -18px 45px rgba(15,23,42,.18) !important;
}

.tablet-bottom-header .tablet-brand {
  min-width: 140px !important;
}

.tablet-bottom-header .tablet-nav {
  position: static !important;
  z-index: auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  padding: .1rem !important;
  justify-content: center !important;
  gap: .45rem !important;
  min-width: 0 !important;
}

.tablet-bottom-header .tablet-nav-item {
  min-height: 2.85rem !important;
  min-width: 5.6rem !important;
  border-radius: 1.05rem !important;
  padding: .55rem .75rem !important;
}

.tablet-bottom-header .tablet-actions {
  min-width: 0 !important;
}

body.enest-kiosk-layout #calendarSection,
body.enest-kiosk-layout #tasksSection,
body.enest-kiosk-layout #mealsSection,
body.enest-kiosk-layout #familySection,
body.enest-kiosk-layout #groceriesSection {
  scroll-margin-top: 1rem !important;
  scroll-margin-bottom: 6.25rem !important;
}

@media (min-width: 900px) and (max-width: 1250px) {
  .tablet-bottom-header {
    gap: .65rem !important;
  }

  .tablet-bottom-header .tablet-brand {
    min-width: 125px !important;
  }

  .tablet-bottom-header .tablet-brand-icon {
    width: 2.15rem !important;
    height: 2.15rem !important;
  }

  .tablet-bottom-header .tablet-brand-name {
    font-size: 1.5rem!important;
  }

  .tablet-bottom-header .tablet-brand-sub {
    font-size: 0.75rem!important;
  }

  .tablet-bottom-header .tablet-nav-item {
    min-width: 0 !important;
    flex: 1 1 0 !important;
    max-width: 8.75rem !important;
    font-size: 0.875rem!important;
    padding-left: .55rem !important;
    padding-right: .55rem !important;
  }

  .tablet-bottom-header .tablet-kiosk-btn,
  .tablet-bottom-header .tablet-add-btn {
    min-height: 2.85rem !important;
    padding-left: .7rem !important;
    padding-right: .7rem !important;
  }
}

@media (max-width: 899px) {
  .tablet-bottom-header {
    grid-template-columns: 1fr !important;
  }

  .tablet-bottom-header .tablet-brand,
  .tablet-bottom-header .tablet-actions {
    justify-content: center !important;
  }

  .tablet-bottom-header .tablet-nav {
    justify-content: flex-start !important;
  }
}

/* Tablet bottom header action alignment pass v1.3.6
   Keeps Kiosk and Add pinned to the far-right of the bottom app chrome. */
body.enest-kiosk-layout .tablet-bottom-header.tablet-topbar {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
}

body.enest-kiosk-layout .tablet-bottom-header .tablet-actions {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  justify-content: flex-end !important;
  width: auto !important;
  min-width: max-content !important;
}

body.enest-kiosk-layout .tablet-bottom-header .tablet-nav {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

body.enest-kiosk-layout .tablet-bottom-header .tablet-brand {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

@media (max-width: 899px) {
  body.enest-kiosk-layout .tablet-bottom-header.tablet-topbar {
    grid-template-columns: auto 1fr auto !important;
  }

  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions {
    justify-self: end !important;
  }
}


/* Kiosk icon + universal add modal v1.3.9 */
.tablet-kiosk-btn {
  gap: .45rem;
}
.kiosk-icon {
  display: inline-grid;
  place-items: center;
  width: 1.15rem;
  height: 1.15rem;
  flex: 0 0 auto;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1;
  color: currentColor;
}
.kiosk-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.35;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.universal-add-panel {
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
}
.universal-add-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .8rem;
}
.universal-add-grid button {
  display: flex;
  align-items: center;
  gap: .65rem;
  min-height: 4.35rem;
  border: 1px solid rgb(226 232 240);
  border-radius: 1.25rem;
  background: linear-gradient(180deg, #fff 0%, #f8fafc 100%);
  padding: .9rem 1rem;
  color: #0f172a;
  font-size: 1.25rem;
  font-weight: 950;
  text-align: left;
  box-shadow: 0 10px 22px rgba(15,23,42,.07);
  transition: .15s ease;
}
.universal-add-grid button:hover,
.universal-add-grid button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(124,58,237,.45);
  background: #f5f3ff;
  color: #6d28d9;
  outline: none;
}
.universal-add-grid button span {
  font-size: 1rem;
}
@media (max-width: 899px) {
  .universal-add-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* Expandable weekly weather modal */
.weather-summary-card{
  display:flex;
  align-items:center;
  gap:.55rem;
  border:0;
  border-radius:1.5rem;
  background:#fff;
  color:#0f172a;
  padding:.75rem 1rem;
  font-weight:950;
  text-align:left;
  box-shadow:0 18px 35px rgba(15,23,42,.10);
  transition:.16s ease;
}
.weather-summary-card:hover{transform:translateY(-1px);box-shadow:0 22px 42px rgba(15,23,42,.14)}
.weather-summary-icon{font-size:1.25rem}
.weather-summary-card small{color:#64748b;font-weight:850}
.weather-summary-more{
  margin-left:.25rem;
  border-radius:999px;
  background:#ede9fe;
  color:#6d28d9;
  padding:.28rem .55rem;
  font-size: 0.75rem;
  font-weight:950;
}
.today-weather-card{
  margin-top:1rem;
  width:100%;
  display:flex;
  align-items:center;
  gap:.75rem;
  border:0;
  border-radius:1rem;
  background:#eff6ff;
  color:#0f172a;
  padding:1rem;
  text-align:left;
  font-weight:900;
}
.today-weather-card em{
  margin-left:auto;
  font-size: 0.75rem;
  font-style:normal;
  color:#6d28d9;
  background:#ede9fe;
  border-radius:999px;
  padding:.28rem .55rem;
}
.weather-weekly-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:.85rem;
}
.weather-day-card,.weather-loading-card{
  min-height:10rem;
  border:1px solid #e2e8f0;
  border-radius:1.35rem;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  padding:1rem;
  box-shadow:0 14px 30px rgba(15,23,42,.08);
}
.weather-day-card.is-today{
  border-color:#c4b5fd;
  background:linear-gradient(180deg,#f5f3ff 0%,#eff6ff 100%);
}
.weather-day-top{
  display:flex;
  justify-content:space-between;
  gap:.5rem;
  color:#64748b;
  font-size: 0.75rem;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.weather-day-icon{
  margin:.65rem 0 .35rem;
  font-size: 2.25rem;
}
.weather-day-card strong{
  display:block;
  min-height:2.35rem;
  color:#0f172a;
  font-size: 1rem;
  line-height:1.15;
}
.weather-day-temps{
  margin-top:.8rem;
  display:flex;
  align-items:baseline;
  gap:.45rem;
}
.weather-day-temps b{
  font-size: 1.875rem;
  line-height:1;
  color:#0f172a;
}
.weather-day-temps span{color:#64748b;font-weight:900}
.weather-day-rain{
  margin-top:.7rem;
  border-radius:.85rem;
  background:#e0f2fe;
  color:#075985;
  padding:.45rem .55rem;
  font-size: 0.875rem;
  font-weight:950;
}
@media(max-width:900px){
  .weather-weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Notes containment fix v1.4.0
   Prevents the Notes & Messages gradient panel from overflowing into Groceries. */
@media (min-width: 900px) {
  #tasksSection > :nth-child(3) {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    overflow: hidden !important;
  }

  #tasksSection > :nth-child(3) > .mb-4 {
    flex: 0 0 auto !important;
  }

  #noteZone {
    flex: 1 1 auto !important;
    min-height: 230px !important;
    max-height: 100% !important;
    overflow: auto !important;
    box-sizing: border-box !important;
  }
}

/* Calendar + Notes split row v1.1.2
   Places the week calendar on the left and Notes & Messages on the right. */
#calendarNotesSection {
  scroll-margin-top: 1rem;
}

#calendarNotesSection > * {
  min-width: 0;
}

#notesSection {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

#notesSection #noteZone {
  flex: 1 1 auto;
  min-height: 18rem;
  max-height: 100%;
  overflow: hidden;
}

@media (min-width: 900px) {
  #calendarNotesSection {
    display: grid !important;
    grid-template-columns: minmax(0, 1.18fr) minmax(20rem, .82fr) !important;
    gap: 1rem !important;
    align-items: stretch !important;
  }

  #calendarNotesSection #calendarSection.tablet-card {
    margin-bottom: 0 !important;
  }

  #calendarNotesSection #weekGrid {
    grid-template-columns: 1fr !important;
  }

  #notesSection #noteZone {
    min-height: 0 !important;
  }

  #tasksSection {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto !important;
  }

  #tasksSection > :nth-child(1),
  #tasksSection > :nth-child(2) {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

@media (max-width: 899px) {
  #calendarNotesSection {
    grid-template-columns: 1fr !important;
  }
}

/* v1.1.3: Posted item action button contrast + true 50/50 calendar/notes split */
@media (min-width: 900px) {
  #calendarNotesSection {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Make edit/delete buttons readable on every posted item, not washed out. */
.item-actions {
  opacity: .92 !important;
  z-index: 5 !important;
}

.item-actions button {
  display: inline-grid !important;
  place-items: center !important;
  min-width: 2rem !important;
  width: 2rem !important;
  height: 2rem !important;
  border: 1px solid rgba(15, 23, 42, .16) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: #0f172a !important;
  font-size: .95rem !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .14) !important;
  backdrop-filter: blur(8px);
}

.item-actions button:hover,
.item-actions button:focus-visible {
  background: #6d4df2 !important;
  border-color: #6d4df2 !important;
  color: #fff !important;
  box-shadow: 0 10px 22px rgba(109, 77, 242, .26) !important;
  outline: none !important;
  transform: translateY(-1px);
}

.event-card .item-actions,
.group .item-actions,
.sticky .item-actions,
.editable-card .item-actions {
  opacity: .92 !important;
}

.event-card:hover .item-actions,
.group:hover .item-actions,
.sticky:hover .item-actions,
.editable-card:hover .item-actions {
  opacity: 1 !important;
}

.sticky.editable-card {
  padding-right: 3.25rem !important;
}

/* v1.1.5: Enlarge individual sticky notes by ~20% */
#notesSection .sticky.editable-card,
#noteZone .sticky.editable-card {
  width: 180px !important;
  min-height: 162px !important;
  padding: 24px 17px 17px !important;
  font-size: 1.18em !important;
  line-height: 1.18 !important;
}

#notesSection .sticky.editable-card .item-actions,
#noteZone .sticky.editable-card .item-actions {
  right: .65rem !important;
  top: .65rem !important;
}

#notesSection .sticky.editable-card .item-actions button,
#noteZone .sticky.editable-card .item-actions button {
  width: 2.2rem !important;
  height: 2.2rem !important;
  min-width: 2.2rem !important;
}

/* v1.1.6: Larger sticky notes with clear action-button safe area */
#notesSection #noteZone > div {
  align-items: flex-start !important;
  gap: 2rem !important;
}

#notesSection .sticky.editable-card,
#noteZone .sticky.editable-card {
  width: 230px !important;
  min-height: 220px !important;
  padding: 5.25rem 1.45rem 1.55rem 1.45rem !important;
  font-size: 1.18em !important;
  line-height: 1.16 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

#notesSection .sticky.editable-card .item-actions,
#noteZone .sticky.editable-card .item-actions {
  top: 1rem !important;
  right: 1rem !important;
  gap: .55rem !important;
}

#notesSection .sticky.editable-card .item-actions button,
#noteZone .sticky.editable-card .item-actions button {
  width: 2.65rem !important;
  height: 2.65rem !important;
  min-width: 2.65rem !important;
  font-size: 1.15rem !important;
}

@media (max-width: 900px) {
  #notesSection .sticky.editable-card,
  #noteZone .sticky.editable-card {
    width: 210px !important;
    min-height: 205px !important;
  }
}


/* Close Knit Family bottom-nav brand upgrade */
.enest-family-brand {
  gap: .72rem !important;
  min-width: 190px !important;
}

.enest-family-brand-icon {
  position: relative;
  width: 2.65rem !important;
  height: 2.65rem !important;
  border-radius: 1rem !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.46), transparent 28%),
    linear-gradient(135deg, #7c3aed 0%, #2563eb 48%, #06b6d4 100%) !important;
  box-shadow: 0 13px 28px rgba(37,99,235,.28), 0 0 0 1px rgba(255,255,255,.18) inset !important;
  overflow: hidden;
}

.enest-family-brand-icon::after {
  content: "";
  position: absolute;
  inset: -45%;
  background: linear-gradient(115deg, transparent 34%, rgba(255,255,255,.22) 48%, transparent 62%);
  transform: translateX(-42%) rotate(12deg);
  animation: enestBrandSheen 7s ease-in-out infinite;
  pointer-events: none;
}

.enest-family-brand-icon svg {
  width: 1.62rem;
  height: 1.62rem;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 2px 3px rgba(15,23,42,.24));
}

.enest-family-brand-name {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 1.55rem !important;
  font-weight: 1000 !important;
  letter-spacing: -.065em !important;
  line-height: .95 !important;
  color: #fff;
  text-shadow: 0 2px 12px rgba(15,23,42,.22);
}

.enest-family-brand-sub {
  margin-top: .18rem !important;
  font-size: .66rem !important;
  font-weight: 900 !important;
  letter-spacing: .075em !important;
  text-transform: uppercase;
  color: rgba(219,234,254,.82) !important;
  white-space: nowrap;
}

.enest-family-brand:hover .enest-family-brand-icon {
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(37,99,235,.36), 0 0 0 1px rgba(255,255,255,.22) inset !important;
}

@keyframes enestBrandSheen {
  0%, 72% { transform: translateX(-48%) rotate(12deg); opacity: 0; }
  80% { opacity: 1; }
  100% { transform: translateX(48%) rotate(12deg); opacity: 0; }
}

@media (min-width: 900px) and (max-width: 1250px) {
  .tablet-bottom-header .enest-family-brand {
    min-width: 178px !important;
  }
  .tablet-bottom-header .enest-family-brand-icon {
    width: 2.42rem !important;
    height: 2.42rem !important;
  }
  .tablet-bottom-header .enest-family-brand-name {
    font-size: 1.32rem !important;
  }
  .tablet-bottom-header .enest-family-brand-sub {
    font-size: .6rem !important;
  }
}

@media (max-width: 899px) {
  .tablet-bottom-header .enest-family-brand-sub {
    display: none;
  }
}

/* v1.2.2: Family section fixed at two balanced columns */
@media (min-width: 900px) {
  body.enest-kiosk-layout #familySection,
  #familySection {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1rem !important;
    align-items: stretch !important;
  }

  body.enest-kiosk-layout #familySection > *,
  #familySection > * {
    grid-column: auto !important;
    min-width: 0 !important;
  }
}

@media (max-width: 899px) {
  body.enest-kiosk-layout #familySection,
  #familySection {
    grid-template-columns: 1fr !important;
  }
}


/* v1.2.5: Notes & Messages shrink-wraps to posted note cards. */
#notesSection {
  align-self: start !important;
  min-height: 0 !important;
  height: auto !important;
}

#notesSection #noteZone,
#noteZone {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

#notesSection #noteZone:empty,
#noteZone:empty {
  display: none !important;
}

#notesSection #noteZone > div {
  min-height: 0 !important;
  align-content: flex-start !important;
}

@media (min-width: 900px) {
  #calendarNotesSection {
    align-items: start !important;
  }
}

/* Independent two-column dashboard flow v1.2.6
   Each column stacks its own widgets so the right column can move Today directly under Notes. */
.dashboard-widget-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 1.25rem !important;
  align-items: start !important;
}

.dashboard-widget-column {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
  min-width: 0 !important;
  align-items: stretch !important;
}

#tasksSection,
#mealsSection,
#familySection,
#notesSection,
#todaySection,
#groceriesSection {
  align-self: stretch !important;
  min-height: 0 !important;
}

#tasksSection {
  display: block !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
}

#noteZone {
  min-height: 0 !important;
  height: auto !important;
}

@media (max-width: 899px) {
  .dashboard-widget-grid {
    grid-template-columns: 1fr !important;
  }
}

/* v1.2.7: Meals widget card layout fix
   Keep the Meals header at the top and let meal cards flow inside the widget,
   instead of the section itself splitting into two columns. */
#mealsSection {
  display: block !important;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
}

#mealsSection > .mb-3 {
  display: flex !important;
  width: 100% !important;
}

#mealList {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: .8rem !important;
  width: 100% !important;
}

#mealList > div {
  margin-bottom: 0 !important;
  width: 100% !important;
}

/* v1.3.2: Week Calendar is a single-column day stack inside the left dashboard column. */
@media (min-width: 900px) {
  #calendarSection #weekGrid,
  #weekGrid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .8rem !important;
  }

  #calendarSection .tablet-day-row,
  .tablet-day-row {
    width: 100% !important;
  }
}

/* v1.3.9: Mobile vertical dashboard trial
   Keeps tablet horizontal kiosk layout intact, but lets phone-sized portrait screens use a clean vertical app. */
@media (orientation: portrait) and (max-width: 767px) {
  body.enest-kiosk-layout::before {
    content: none !important;
    display: none !important;
  }
}

@media (max-width: 767px) {
  html,
  body.enest-kiosk-layout {
    overflow: hidden !important;
    background: #eef6ff !important;
  }

  body.enest-kiosk-layout .tablet-shell {
    height: 100dvh !important;
    min-height: 100dvh !important;
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto !important;
  }

  body.enest-kiosk-layout .tablet-main {
    min-height: 0 !important;
    height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: .85rem .85rem calc(1.1rem + env(safe-area-inset-bottom, 0px)) !important;
    scroll-padding-bottom: 8.5rem !important;
  }

  body.enest-kiosk-layout .tablet-main > header {
    margin-bottom: .9rem !important;
    gap: .9rem !important;
  }

  body.enest-kiosk-layout .tablet-main > header h1 {
    font-size: clamp(2rem, 9vw, 3rem) !important;
    line-height: .95 !important;
  }

  body.enest-kiosk-layout .tablet-main > header p {
    font-size: 1rem !important;
  }

  #familyAvatars {
    width: 100% !important;
    overflow-x: auto !important;
    padding-bottom: .25rem !important;
    scrollbar-width: none;
  }

  #familyAvatars::-webkit-scrollbar {
    display: none;
  }

  .weather-summary-card {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .dashboard-widget-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .9rem !important;
  }

  .dashboard-widget-column {
    display: contents !important;
  }

  #todaySection { order: 1; }
  #calendarSection { order: 2; }
  #notesSection { order: 3; }
  #tasksSection { order: 4; }
  #groceriesSection { order: 5; }
  #mealsSection { order: 6; }

  .dashboard-widget-grid > *,
  .dashboard-widget-column > *,
  .tablet-card,
  #tasksSection,
  #mealsSection,
  #notesSection,
  #todaySection,
  #groceriesSection {
    width: 100% !important;
    min-width: 0 !important;
    border-radius: 1.35rem !important;
    padding: 1rem !important;
  }

  .dashboard-widget-grid h2,
  .tablet-card h2 {
    font-size: 1.55rem !important;
    letter-spacing: -.035em !important;
  }

  #weekGrid,
  #calendarSection #weekGrid,
  #birthdayList,
  #mealList,
  #linkList {
    grid-template-columns: 1fr !important;
    gap: .7rem !important;
  }

  .tablet-day-row {
    grid-template-columns: 4.6rem minmax(0, 1fr) !important;
    gap: .65rem !important;
    padding: .65rem !important;
    border-radius: 1.1rem !important;
  }

  .tablet-day-date {
    min-height: 4.2rem !important;
  }

  .tablet-day-date .text-5xl {
    font-size: 2rem !important;
    line-height: 2rem !important;
  }

  .tablet-event-pill,
  .tablet-empty-event {
    min-height: 3rem !important;
  }

  #notesSection .sticky.editable-card,
  #noteZone .sticky.editable-card {
    width: 100% !important;
    min-height: 8.5rem !important;
    padding: 1.2rem !important;
    transform: none !important;
  }

  #notesSection #noteZone > div {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .8rem !important;
  }

  .tablet-bottom-header.tablet-topbar {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    gap: .45rem !important;
    padding: .5rem .65rem calc(.55rem + env(safe-area-inset-bottom, 0px)) !important;
    min-height: auto !important;
  }

  .tablet-bottom-header .tablet-brand {
    min-width: 0 !important;
    gap: .45rem !important;
  }

  .tablet-bottom-header .enest-family-brand-icon {
    width: 2.15rem !important;
    height: 2.15rem !important;
    border-radius: .85rem !important;
  }

  .tablet-bottom-header .enest-family-brand-name {
    font-size: 1.05rem !important;
    letter-spacing: -.055em !important;
    white-space: nowrap !important;
  }

  .tablet-bottom-header .enest-family-brand-sub {
    display: none !important;
  }

  .tablet-bottom-header .tablet-nav {
    justify-content: flex-start !important;
    overflow-x: auto !important;
    gap: .35rem !important;
    padding: .1rem !important;
  }

  .tablet-bottom-header .tablet-nav-item {
    min-width: 3.6rem !important;
    min-height: 3.15rem !important;
    flex: 0 0 auto !important;
    padding: .45rem .55rem !important;
    border-radius: .95rem !important;
    font-size: 1.1rem !important;
    flex-direction: column !important;
    gap: .12rem !important;
  }

  .tablet-bottom-header .tablet-nav-item span {
    font-size: .62rem !important;
    line-height: 1 !important;
  }

  .tablet-bottom-header .tablet-actions {
    min-width: 0 !important;
    gap: .35rem !important;
  }

  .tablet-bottom-header .tablet-kiosk-btn {
    display: none !important;
  }

  .tablet-bottom-header .tablet-add-btn {
    min-height: 3.15rem !important;
    padding: .55rem .75rem !important;
    border-radius: .95rem !important;
    font-size: .9rem !important;
  }

  #quickModal,
  #weatherModal,
  #familyModal,
  #universalAddModal {
    padding: .75rem !important;
    align-items: flex-end !important;
  }

  body.enest-kiosk-layout #quickModal > form,
  #quickModal > form,
  #weatherModal > div,
  #familyModal > div,
  .universal-add-panel {
    width: 100% !important;
    max-width: none !important;
    max-height: calc(100dvh - 1.5rem) !important;
    overflow-y: auto !important;
    border-radius: 1.45rem !important;
    padding: 1rem !important;
  }

  #quickForm input,
  #quickForm select,
  #quickForm textarea,
  #eventFields input,
  #eventFields select,
  #mealFields input,
  #mealFields textarea,
  #memberFields input,
  #birthdayFields input {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    font-size: 16px !important;
  }

  #memberFields .grid.grid-cols-3,
  #eventFields,
  #mealFields,
  #groceryFields,
  #birthdayFields {
    grid-template-columns: 1fr !important;
  }

  .universal-add-grid,
  .weather-weekly-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Tablet modal field width repair */
@media (min-width: 768px) and (max-width: 1250px) {
  #eventFields input,
  #eventFields select,
  #mealFields input,
  #birthdayFields input {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}

/* v1.4.0: Mobile compact brand + hamburger nav */
.mobile-menu-btn{display:none;min-height:3rem;min-width:3rem;border:0;border-radius:1.15rem;background:rgba(255,255,255,.10);color:#fff;font-size:1.35rem;font-weight:950;line-height:1}.mobile-nav-panel{max-height:calc(100dvh - 1.5rem);overflow-y:auto}.mobile-nav-grid{display:grid;grid-template-columns:1fr;gap:.65rem}.mobile-nav-grid button{display:flex;align-items:center;gap:.8rem;width:100%;min-height:3.65rem;border:1px solid rgb(226 232 240);border-radius:1.1rem;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);color:#0f172a;padding:.8rem 1rem;text-align:left;font-size:1.1rem;font-weight:950;box-shadow:0 10px 22px rgba(15,23,42,.07)}.mobile-nav-grid button:hover,.mobile-nav-grid button:focus-visible{border-color:rgba(124,58,237,.45);background:#f5f3ff;color:#6d28d9;outline:none}@media (max-width:767px){.tablet-bottom-header .enest-family-brand-copy{display:none!important}.tablet-bottom-header .tablet-brand{width:2.25rem!important;flex:0 0 auto!important}.tablet-bottom-header .tablet-nav{display:none!important}.tablet-bottom-header.tablet-topbar,body.enest-kiosk-layout .tablet-bottom-header.tablet-topbar{grid-template-columns:auto minmax(0,1fr)!important}.tablet-bottom-header .tablet-actions,body.enest-kiosk-layout .tablet-bottom-header .tablet-actions{grid-column:2!important;justify-self:end!important;display:flex!important;align-items:center!important}.mobile-menu-btn{display:inline-grid!important;place-items:center!important;min-height:3.15rem!important;min-width:3.15rem!important;border-radius:.95rem!important;background:linear-gradient(135deg,#06b6d4 0%,#6d4df2 100%)!important;color:#fff!important;box-shadow:0 14px 28px rgba(14,165,233,.25)!important}.tablet-bottom-header .tablet-add-btn{order:1}.tablet-bottom-header .mobile-menu-btn{order:2}#mobileNavModal{padding:.75rem!important;align-items:flex-end!important}#mobileNavModal .mobile-nav-panel{width:100%!important;max-width:none!important;border-radius:1.45rem!important;padding:1rem!important}}

/* v1.4.3: consistent modal field labels + visible placeholders */
#quickModal .enest-modal-field-label {
  display: grid;
  gap: .4rem;
  width: 100%;
  min-width: 0;
  font-size: .95rem;
  font-weight: 900;
  color: #64748b;
}
#quickModal .enest-modal-field-label > span {
  line-height: 1.15;
}
#quickModal input,
#quickModal select,
#quickModal textarea {
  width: 100% !important;
  min-width: 0 !important;
  color: #020617 !important;
  font-weight: 800;
}
#quickModal input::placeholder,
#quickModal textarea::placeholder {
  color: #64748b !important;
  opacity: 1 !important;
  font-weight: 800;
}
#quickModal select:invalid,
#quickModal input:placeholder-shown,
#quickModal textarea:placeholder-shown {
  color: #64748b !important;
}
#quickModal input[type="date"],
#quickModal input[type="time"] {
  -webkit-appearance: none;
  appearance: none;
}
