
/* v3.0 mockup-style landing page */
html,body.enest-landing-page{width:100%;min-height:100%;overflow-x:hidden;overflow-y:auto!important}body.enest-mock-landing{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 10% 9%,rgba(187,247,208,.22),transparent 20rem),radial-gradient(circle at 85% 12%,rgba(139,92,246,.14),transparent 24rem),radial-gradient(circle at 78% 42%,rgba(56,189,248,.16),transparent 26rem),linear-gradient(180deg,#fbfdff 0%,#f5f7ff 48%,#fff 100%);color:#081126}body.enest-mock-landing *{box-sizing:border-box}.mock-nav{position:sticky;top:18px;z-index:50;width:min(1220px,calc(100% - 34px));margin:18px auto 0;min-height:76px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(148,163,184,.18);border-radius:28px;background:rgba(255,255,255,.9);box-shadow:0 20px 55px rgba(15,23,42,.1);backdrop-filter:blur(18px)}.mock-brand img{display:block;height:54px;width:auto}.mock-nav nav{display:flex;align-items:center;gap:42px;font-weight:900}.mock-nav nav a{color:#17233d;text-decoration:none}.mock-nav nav a:hover{color:#6d4df2}.mock-nav-actions{display:flex;gap:12px;align-items:center}.mock-login,.mock-secondary,.mock-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:16px;border:1px solid rgba(148,163,184,.32);background:#fff;color:#111827;font-weight:950;text-decoration:none;box-shadow:0 10px 24px rgba(15,23,42,.06)}.mock-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:58px;padding:0 28px;border-radius:18px;background:linear-gradient(135deg,#7c3aed,#5b35ef);color:#fff;font-weight:1000;text-decoration:none;box-shadow:0 16px 34px rgba(109,77,242,.32)}.mock-btn-small{min-height:52px;padding:0 22px}.mock-hero{width:min(1240px,calc(100% - 44px));margin:58px auto 42px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:56px;align-items:center}.mock-pill{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 18px;border-radius:999px;background:#f3e8ff;color:#6d28d9;font-weight:1000;box-shadow:0 12px 26px rgba(15,23,42,.06)}.mock-copy h1{margin:28px 0 18px;max-width:640px;font-size:clamp(3.8rem,6.3vw,6.75rem);line-height:.72;letter-spacing:-.065em;font-weight:1000}.mock-copy h1 span{background:linear-gradient(90deg,#6d4df2,#38bdf8,#fb923c);-webkit-background-clip:text;background-clip:text;color:transparent}.mock-copy p{max-width:600px;margin:0;color:#50627a;font-size:1.28rem;line-height:1.55;font-weight:650}.mock-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:34px}.mock-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:36px;max-width:650px}.mock-proof span{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:2px;align-items:start}.mock-proof b{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;border-radius:999px;background:#fff;box-shadow:0 10px 22px rgba(15,23,42,.08)}.mock-proof strong{color:#334155;font-size:.96rem;font-weight:1000}.mock-proof small{color:#64748b;font-weight:700;line-height:1.35}.mock-hero-art{position:relative;min-height:600px}.mock-tablet-shot,.mock-phone-shot{margin:0;position:absolute}.mock-tablet-shot{right:40px;top:26px;width:min(590px,45vw);padding:18px;border-radius:34px;background:rgba(255,255,255,.94);border:1px solid rgba(148,163,184,.16);box-shadow:0 30px 72px rgba(15,23,42,.2);transform:rotate(-3deg)}.mock-tablet-shot img,.mock-phone-shot img{display:block;width:100%;height:auto;border-radius:24px;border:1px solid rgba(226,232,240,.95)}.mock-phone-shot{right:10px;top:158px;width:min(255px,20vw);padding:14px;border-radius:34px;background:rgba(255,255,255,.96);border:1px solid rgba(148,163,184,.16);box-shadow:0 28px 64px rgba(15,23,42,.22);transform:rotate(6deg)}.mock-phone-shot img{border-radius:26px}.mock-device-label{position:absolute;z-index:4;display:flex;align-items:center;gap:10px;min-height:60px;padding:12px 16px;border-radius:18px;background:#fff;color:#17233d;font-weight:1000;box-shadow:0 16px 34px rgba(15,23,42,.12);border:1px solid rgba(148,163,184,.16)}.mock-device-label span{max-width:120px;line-height:1.1}.label-calendar{right:0;top:20px;background:#f6f0ff}.label-grocery{right:-22px;top:235px;background:#eef6ff}.label-mobile{right:-16px;bottom:92px;background:#e9fff7}.label-points{left:20px;bottom:172px;background:#fff7df}.mock-feature-row{width:min(1120px,calc(100% - 40px));margin:0 auto 70px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.mock-feature-row article{min-height:220px;padding:24px 16px;text-align:center;border-radius:20px;background:#fff;border:1px solid rgba(148,163,184,.14);box-shadow:0 18px 40px rgba(15,23,42,.08)}.mock-feature-row article div{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 18px;border-radius:999px;font-size:2rem;background:linear-gradient(135deg,#ede9fe,#e0f2fe)}.mock-feature-row h2{margin:0 0 10px;font-size:1.05rem;line-height:1.12;font-weight:1000}.mock-feature-row p{margin:0;color:#53657c;font-size:.92rem;line-height:1.42;font-weight:650}.mock-split{width:min(1120px,calc(100% - 40px));margin:0 auto 74px;display:grid;grid-template-columns:.7fr 1.3fr;gap:34px;align-items:center}.mock-split-copy h2,.mock-family-tools h2,.mock-faq h2{margin:0;font-size:clamp(2.5rem,4.4vw,4.35rem);line-height:.97;letter-spacing:-.058em;font-weight:1000}.mock-split-copy h2 span{color:#6d4df2}.mock-split-copy ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px;color:#334155;font-weight:900}.mock-split-copy li:before{content:'✓';display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border-radius:999px;background:#ede9fe;color:#7c3aed}.mock-device-cards{display:grid;grid-template-columns:.62fr 1fr;gap:20px}.mock-device-cards article{padding:20px;border-radius:26px;background:rgba(255,255,255,.88);border:1px solid rgba(148,163,184,.16);box-shadow:0 20px 44px rgba(15,23,42,.1)}.mock-device-cards strong{display:inline-flex;margin-bottom:14px;padding:8px 14px;border-radius:999px;background:#eef2ff;color:#6d4df2;font-weight:1000}.mock-device-cards img{display:block;width:100%;border-radius:20px;border:1px solid #e2e8f0}.mock-device-cards article:first-child img{max-width:260px;margin:0 auto}.mock-family-tools{width:min(1120px,calc(100% - 40px));margin:0 auto 72px;text-align:center}.mock-family-tools h2{max-width:820px;margin:0 auto 34px}.mock-tool-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.mock-tool-grid article{min-height:166px;padding:22px 16px;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(245,248,255,.86));border:1px solid rgba(148,163,184,.14);box-shadow:0 16px 34px rgba(15,23,42,.07)}.mock-tool-grid span{font-size:2.1rem}.mock-tool-grid h3{margin:12px 0 8px;font-size:1rem;font-weight:1000}.mock-tool-grid p{margin:0;color:#53657c;font-size:.9rem;line-height:1.35;font-weight:650}.mock-cta{width:min(1120px,calc(100% - 40px));margin:0 auto 70px;display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding:32px 40px;border-radius:28px;color:#fff;background:linear-gradient(135deg,#4f7cff 0%,#7c3aed 58%,#5b21b6 100%);box-shadow:0 26px 70px rgba(79,70,229,.25)}.mock-cta img{width:112px;height:112px;object-fit:contain}.mock-cta h2{margin:0;font-size:clamp(2.15rem,3.8vw,4rem);line-height:.95;letter-spacing:-.055em;font-weight:1000}.mock-cta h2 span{color:#fde047}.mock-cta p{margin:10px 0 0;color:rgba(255,255,255,.88);font-weight:700}.mock-cta-actions{display:grid;gap:12px;justify-items:start}.mock-yellow{background:#fff;color:#5b21b6;box-shadow:0 16px 34px rgba(255,255,255,.18)}.mock-outline{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.34);box-shadow:none}.mock-cta small{color:rgba(255,255,255,.9);font-weight:800}.mock-faq{width:min(1120px,calc(100% - 40px));margin:0 auto 72px;text-align:center}.mock-faq h2{margin-bottom:28px}.mock-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:left}.mock-faq details{padding:20px 22px;border-radius:18px;background:#fff;border:1px solid rgba(148,163,184,.16);box-shadow:0 14px 32px rgba(15,23,42,.06)}.mock-faq summary{cursor:pointer;font-weight:1000}.mock-faq p{color:#53657c;line-height:1.55;font-weight:650}.mock-footer{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:34px 0 44px;border-top:1px solid rgba(148,163,184,.18);display:grid;grid-template-columns:1.5fr .5fr .5fr auto;gap:32px;color:#53657c}.mock-footer img{width:170px;display:block}.mock-footer p{font-weight:700;line-height:1.5}.mock-footer nav{display:grid;gap:9px;align-content:start}.mock-footer a{color:#53657c;text-decoration:none;font-weight:700}.mock-footer strong{color:#17233d}@media(max-width:1080px){.mock-nav{position:relative;top:auto;flex-wrap:wrap}.mock-nav nav{order:3;width:100%;justify-content:center;flex-wrap:wrap;gap:22px}.mock-hero{grid-template-columns:1fr;text-align:center}.mock-copy h1,.mock-copy p{margin-left:auto;margin-right:auto}.mock-actions{justify-content:center}.mock-proof{margin-left:auto;margin-right:auto}.mock-hero-art{min-height:560px;max-width:820px;margin:0 auto;width:100%}.mock-tablet-shot{left:50%;right:auto;transform:translateX(-50%) rotate(-2deg);width:min(680px,88vw)}.mock-phone-shot{right:70px;width:min(230px,28vw)}.label-calendar{right:20px}.label-grocery,.label-mobile{right:0}.label-points{left:10px}.mock-feature-row{grid-template-columns:repeat(3,minmax(0,1fr))}.mock-split{grid-template-columns:1fr}.mock-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.mock-nav{width:calc(100% - 24px);padding:12px;border-radius:22px}.mock-brand img{height:46px}.mock-nav-actions{width:100%;justify-content:center}.mock-nav nav{gap:14px;font-size:.92rem}.mock-hero{width:calc(100% - 28px);margin-top:34px;gap:28px}.mock-pill{font-size:.9rem}.mock-copy h1{font-size:clamp(3rem,13vw,4.15rem);letter-spacing:-.052em}.mock-copy p{font-size:1.05rem}.mock-actions a{width:100%}.mock-proof{grid-template-columns:1fr}.mock-hero-art{min-height:0;display:grid;gap:14px;justify-items:center}.mock-tablet-shot,.mock-phone-shot,.mock-device-label{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;transform:none}.mock-tablet-shot{display:none}.mock-phone-shot{width:min(288px,100%);order:2}.mock-device-label{width:min(320px,100%);justify-content:center;order:1}.label-grocery,.label-points{display:none}.label-mobile{order:3}.mock-feature-row{grid-template-columns:1fr;width:calc(100% - 28px)}.mock-feature-row article{min-height:auto}.mock-split,.mock-family-tools,.mock-cta,.mock-faq,.mock-footer{width:calc(100% - 28px)}.mock-device-cards{grid-template-columns:1fr}.mock-tool-grid{grid-template-columns:1fr}.mock-cta{grid-template-columns:1fr;text-align:center;padding:28px}.mock-cta img{margin:0 auto}.mock-cta-actions{justify-items:stretch}.mock-faq-grid{grid-template-columns:1fr}.mock-footer{grid-template-columns:1fr;text-align:center}.mock-footer img{margin:0 auto}}
.enest-logo-img--nav{height:clamp(2.45rem,4.4vw,3.6rem)!important;max-height:3.6rem!important}.enest-logo-brand,.tablet-bottom-header .enest-logo-brand,body.enest-kiosk-layout .tablet-bottom-header .enest-logo-brand{max-width:13rem!important}.enest-logo-img--auth{width:min(100%,14rem)!important;max-height:5rem!important}@media(max-width:767px){.tablet-bottom-header .enest-logo-img--nav,body.enest-kiosk-layout .tablet-bottom-header .enest-logo-img--nav{height:2.45rem!important;max-height:2.45rem!important}}



/* eNest Family colorful landing page + real device mockups */
html,body.enest-landing-page{width:100%;min-height:100%;overflow-x:hidden;overflow-y:auto!important}
body.enest-fun-landing{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 8% 18%,rgba(255,91,142,.18),transparent 18rem),radial-gradient(circle at 82% 8%,rgba(124,58,237,.16),transparent 20rem),radial-gradient(circle at 74% 45%,rgba(56,189,248,.18),transparent 24rem),linear-gradient(180deg,#fff 0%,#edf7ff 46%,#fff 100%);color:#091228}
.enest-fun-landing *{box-sizing:border-box}.fun-nav{position:sticky;top:18px;z-index:50;width:min(1120px,calc(100% - 32px));margin:18px auto 0;min-height:84px;padding:14px 16px 14px 20px;border:1px solid rgba(148,163,184,.18);border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 20px 60px rgba(50,31,135,.12);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between;gap:18px}
.fun-logo{width:188px;max-height:54px;object-fit:contain;display:block}.fun-nav-links{display:flex;align-items:center;justify-content:center;gap:32px;font-weight:900;color:#22304a}.fun-nav-links a{color:inherit;text-decoration:none}.fun-nav-links a:hover{color:#6d4df2}.fun-nav-actions{display:flex;align-items:center;gap:10px}.fun-login,.fun-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:16px;background:#fff;border:1px solid rgba(148,163,184,.32);color:#111827;font-weight:950;text-decoration:none;box-shadow:0 10px 24px rgba(15,23,42,.06)}.fun-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;padding:0 24px;border-radius:17px;background:linear-gradient(135deg,#7c3aed,#5b35ef);color:#fff;font-weight:1000;text-decoration:none;box-shadow:0 16px 34px rgba(109,77,242,.32)}.fun-cta-small{min-height:52px;padding:0 20px}
.fun-hero{position:relative;width:min(1260px,calc(100% - 44px));margin:70px auto 34px;display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:30px;align-items:center;min-height:720px}.fun-blob{position:absolute;border-radius:999px;pointer-events:none;filter:blur(.5px);z-index:-1}.fun-blob-pink{width:220px;height:220px;left:-140px;top:250px;background:linear-gradient(135deg,#ff5b8e,#ffb4ca)}.fun-blob-blue{width:360px;height:360px;right:-120px;bottom:-70px;background:linear-gradient(135deg,rgba(34,211,238,.44),rgba(96,165,250,.25))}.fun-blob-yellow{width:120px;height:120px;left:43%;top:60px;background:rgba(250,204,21,.2)}
.fun-pill{display:inline-flex;align-items:center;gap:10px;margin-bottom:26px;padding:12px 18px;border-radius:999px;background:#fff;color:#6d28d9;font-weight:1000;box-shadow:0 12px 26px rgba(80,62,160,.1);border:1px solid rgba(148,163,184,.18)}.fun-hero h1{margin:0;max-width:620px;font-size:clamp(4.15rem,7.2vw,6.9rem);line-height:.88;letter-spacing:-.085em;font-weight:1000;color:#081126}.fun-hero h1:after{content:"";display:block;width:250px;height:14px;margin-top:-4px;margin-left:185px;border-radius:999px;background:linear-gradient(90deg,#ffd43b,#ff8a3d,#7c3aed);transform:rotate(-2deg)}.fun-lede{max-width:570px;margin:28px 0 0;font-size:1.34rem;line-height:1.5;color:#334155;font-weight:650}.fun-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:30px}.fun-trust-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px;max-width:620px}.fun-trust-row span{min-height:60px;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.74);border:1px solid rgba(148,163,184,.16);color:#334155;font-weight:800;box-shadow:0 10px 24px rgba(15,23,42,.05)}.fun-trust-row b{width:32px;height:32px;display:grid;place-items:center;border-radius:999px;background:#fff;box-shadow:0 8px 18px rgba(15,23,42,.08)}
.fun-device-stage{position:relative;min-height:650px;overflow:visible}.fun-device-art{margin:0}.fun-device-art img{display:block;width:100%;height:auto;object-fit:contain}.fun-tablet-mock{position:absolute;right:-78px;top:34px;width:min(860px,64vw);filter:drop-shadow(0 30px 44px rgba(15,23,42,.14))}.fun-phone-mock{position:absolute;left:4px;top:190px;width:min(330px,26vw);z-index:3;filter:drop-shadow(0 28px 38px rgba(15,23,42,.2))}.fun-star{position:absolute;left:96px;top:4px;z-index:4;color:#facc15;font-size:5rem;transform:rotate(-10deg);text-shadow:0 10px 20px rgba(250,204,21,.18)}.fun-hand-note{position:absolute;right:110px;bottom:28px;max-width:260px;color:#0f172a;font-family:"Comic Sans MS","Comic Sans",cursive;font-size:1.35rem;font-weight:900;line-height:1.15;transform:rotate(-4deg)}.fun-hand-note:before{content:"↗";color:#fbbf24;font-size:3rem;margin-right:8px}
.fun-feature-strip{position:relative;z-index:5;width:min(1120px,calc(100% - 40px));margin:-20px auto 76px;padding:28px;border-radius:24px;background:#fff;box-shadow:0 22px 55px rgba(15,23,42,.12);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.fun-feature-strip article{text-align:center;padding:14px 10px}.fun-feature-strip span{font-size:2.4rem;display:block;margin-bottom:12px}.fun-feature-strip h2{margin:0 0 8px;font-size:1rem;line-height:1.12;font-weight:1000;color:#081126}.fun-feature-strip p{margin:0;font-size:.88rem;line-height:1.4;color:#475569;font-weight:650}
.fun-devices,.fun-section,.fun-faq{width:min(1160px,calc(100% - 40px));margin:0 auto 78px}.fun-devices{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:34px}.fun-pill-blue{color:#0f75b8}.fun-devices h2,.fun-section-heading h2,.fun-final-cta h2{margin:0;font-size:clamp(2.25rem,4.5vw,4rem);line-height:.98;letter-spacing:-.055em;font-weight:1000}.fun-devices p{font-size:1.15rem;line-height:1.55;color:#475569;font-weight:700}.fun-devices ul{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:14px}.fun-devices li{font-weight:850;color:#22304a}.fun-devices li:before{content:"✓";display:inline-grid;place-items:center;width:24px;height:24px;margin-right:10px;border-radius:999px;background:#ede9fe;color:#7c3aed}
.fun-device-grid{display:grid;grid-template-columns:.62fr 1fr 1fr;align-items:end;gap:18px}.fun-mini-device{min-height:420px;border-radius:28px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.16);box-shadow:0 20px 45px rgba(15,23,42,.08);padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden}.fun-mini-device span{align-self:center;margin-bottom:12px;padding:8px 14px;border-radius:999px;background:#fff;color:#6d4df2;font-weight:1000;box-shadow:0 8px 18px rgba(15,23,42,.07)}.fun-mini-device img{max-width:100%;max-height:350px;object-fit:contain}.fun-mini-device-wide img{max-height:300px}
.fun-section-heading{text-align:center;max-width:860px;margin:0 auto 30px}.fun-section-heading p{margin:0 0 10px;color:#7c3aed;font-weight:1000;text-transform:uppercase;letter-spacing:.08em}.fun-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fun-card-grid article{padding:26px;border-radius:24px;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.08);border:1px solid rgba(148,163,184,.14)}.fun-card-grid span{font-size:2.1rem}.fun-card-grid h3{margin:14px 0 8px;font-size:1.2rem;font-weight:1000}.fun-card-grid p{margin:0;color:#475569;line-height:1.5;font-weight:650}
.fun-final-cta{width:min(1160px,calc(100% - 40px));margin:0 auto 70px;padding:40px;border-radius:30px;color:#fff;background:radial-gradient(circle at 14% 40%,rgba(56,189,248,.24),transparent 22rem),radial-gradient(circle at 82% 30%,rgba(255,91,142,.2),transparent 18rem),linear-gradient(135deg,#4f46e5,#7c3aed 48%,#35147e);box-shadow:0 26px 58px rgba(79,70,229,.26);display:flex;align-items:center;justify-content:space-between;gap:30px}.fun-final-cta h2 span{color:#fde047}.fun-final-cta p{max-width:580px;font-size:1.1rem;line-height:1.5;color:rgba(255,255,255,.84);font-weight:700}.fun-final-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.fun-yellow{color:#081126;background:linear-gradient(135deg,#fde047,#f59e0b);box-shadow:0 16px 34px rgba(245,158,11,.28)}.fun-final-actions small{color:rgba(255,255,255,.76);font-weight:700}
.fun-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fun-faq details{border-radius:22px;background:#fff;padding:20px 22px;border:1px solid rgba(148,163,184,.16);box-shadow:0 14px 34px rgba(15,23,42,.06)}.fun-faq summary{cursor:pointer;font-size:1.05rem;font-weight:1000}.fun-faq p{color:#475569;line-height:1.55;font-weight:650}.fun-footer{width:min(1160px,calc(100% - 40px));margin:0 auto 32px;padding:20px;border-top:1px solid rgba(148,163,184,.2);display:flex;align-items:center;justify-content:center;gap:16px;color:#64748b;font-weight:800}.fun-footer img{width:130px}
@media(max-width:1080px){.fun-nav{position:relative;top:auto;flex-wrap:wrap}.fun-nav-links{order:3;width:100%;gap:18px;flex-wrap:wrap}.fun-hero{grid-template-columns:1fr;min-height:0;margin-top:48px}.fun-hero-copy{text-align:center}.fun-pill,.fun-actions{justify-content:center}.fun-hero h1,.fun-lede,.fun-trust-row{margin-left:auto;margin-right:auto}.fun-hero h1:after{margin-left:auto;margin-right:auto}.fun-device-stage{min-height:620px}.fun-tablet-mock{left:50%;right:auto;transform:translateX(-45%);width:min(820px,92vw)}.fun-phone-mock{left:5%;width:min(300px,36vw)}.fun-feature-strip{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:20px}.fun-devices{grid-template-columns:1fr}}
@media(max-width:760px){.fun-nav-actions{width:100%;justify-content:center}.fun-logo{width:145px}.fun-hero{width:min(100% - 28px,1260px);margin-top:34px}.fun-hero h1{font-size:clamp(3.35rem,15vw,4.7rem)}.fun-lede{font-size:1.06rem}.fun-trust-row{grid-template-columns:1fr}.fun-device-stage{min-height:520px}.fun-tablet-mock{top:80px;width:116vw;transform:translateX(-43%)}.fun-phone-mock{top:165px;left:-5px;width:42vw;min-width:168px}.fun-hand-note{display:none}.fun-star{font-size:3.6rem;left:20px}.fun-feature-strip{grid-template-columns:1fr;margin-top:0}.fun-device-grid{grid-template-columns:1fr}.fun-card-grid,.fun-faq-grid{grid-template-columns:1fr}.fun-final-cta{flex-direction:column;align-items:flex-start;padding:28px}}


: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:.65rem;display:block;max-height:14rem;overflow-y:auto}
.emoji-choice{min-height:2.7rem;border:0;border-radius:.85rem;background:#fff;font-size:1.6rem;line-height:1;display:grid;place-items:center;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}
@media(max-width:700px){.emoji-picker-wrap{max-height:13rem;padding:.55rem}.emoji-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:.45rem}.emoji-choice{min-height:3rem;font-size:1.7rem}}


.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;
  }
}


/* eNest 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(1.55rem, 7vw, 2.25rem) !important;
    line-height: 1.02 !important;
    white-space: nowrap !important;
    letter-spacing: -.055em !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;
}

/* v1.2.10: highlight the real current day in Week Calendar, not the first day of the week. */
.tablet-day-row .tablet-day-name,
.tablet-day-row .tablet-day-number {
  color: #64748b;
}

.tablet-day-row .tablet-day-number {
  color: #020617;
}

.tablet-day-row.is-actual-today {
  border-color: rgba(124, 58, 237, .42) !important;
  background: linear-gradient(135deg, rgba(237, 233, 254, .85), #fff) !important;
  box-shadow: 0 18px 36px rgba(124, 58, 237, .14) !important;
}

.tablet-day-row.is-actual-today .tablet-day-date {
  background: linear-gradient(135deg, #7c3aed, #2563eb) !important;
  box-shadow: 0 14px 28px rgba(124, 58, 237, .25) !important;
}

.tablet-day-row.is-actual-today .tablet-day-name,
.tablet-day-row.is-actual-today .tablet-day-number {
  color: #fff !important;
}

/* v1.2.18: show full eNest family brand in mobile footer nav */
@media (max-width: 767px) {
  .tablet-bottom-header.tablet-topbar,
  body.enest-kiosk-layout .tablet-bottom-header.tablet-topbar {
    grid-template-columns: auto minmax(0, 1fr) !important;
    gap: .5rem !important;
  }

  .tablet-bottom-header .tablet-brand,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-brand {
    width: auto !important;
    min-width: 0 !important;
    max-width: 46vw !important;
    flex: 0 1 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: .45rem !important;
    overflow: hidden !important;
  }

  .tablet-bottom-header .enest-family-brand-icon,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-icon {
    flex: 0 0 2.25rem !important;
    width: 2.25rem !important;
    height: 2.25rem !important;
    border-radius: .9rem !important;
  }

  .tablet-bottom-header .enest-family-brand-copy,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-copy {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .tablet-bottom-header .enest-family-brand-name,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-name {
    display: block !important;
    max-width: 100% !important;
    font-size: clamp(.95rem, 4.2vw, 1.2rem) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .tablet-bottom-header .enest-family-brand-sub,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-sub {
    display: block !important;
    max-width: 100% !important;
    margin-top: .08rem !important;
    font-size: .58rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    opacity: .78 !important;
  }

  .tablet-bottom-header .tablet-actions,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions {
    grid-column: 2 !important;
    justify-self: end !important;
    gap: .45rem !important;
  }
}

/* v1.2.20: keep Today directly under Announcements on mobile, then daily-priority widgets. */
@media (max-width: 767px) {
  #announcementsSection { order: 1 !important; }
  #todaySection { order: 2 !important; }
  #notesSection { order: 3 !important; }
  #calendarSection { order: 4 !important; }
  #choresSection { order: 5 !important; }
  #routinesSection { order: 6 !important; }
  #schoolSection { order: 7 !important; }
  #tasksSection { order: 8 !important; }
  #mealsSection { order: 9 !important; }
  #groceriesSection { order: 10 !important; }
  #allowanceSection { order: 11 !important; }
  #moodsSection { order: 12 !important; }
  #birthdaysSection { order: 13 !important; }
  #homeLinksSection { order: 14 !important; }
}

/* v1.2.20: tablet view also starts with Announcements and Today in the left column. */
@media (min-width: 768px) and (max-width: 1199px) {
  .dashboard-widget-column-left #announcementsSection { order: 1 !important; }
  .dashboard-widget-column-left #todaySection { order: 2 !important; }
  .dashboard-widget-column-left #notesSection { order: 3 !important; }
}

/* Home Links: visible external-link launcher that does not rely on icon fonts. */
#linkList .home-link-open-btn {
  color: #475569 !important;
  background: #f1f5f9 !important;
}
#linkList .home-link-open-btn svg {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  opacity: 1 !important;
}
#linkList .home-link-open-btn:hover,
#linkList .home-link-open-btn:focus-visible {
  color: #6d28d9 !important;
  background: #ede9fe !important;
}

/* v1.2.22: cleaner header date + tap-first Mood Check-ins */
.enest-today-date-label{font-size:clamp(1.25rem,2.2vw,2rem)!important;line-height:1.05!important;letter-spacing:-.025em!important;color:#64748b!important}.enest-mood-member-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;border:0;border-radius:1.35rem;background:rgba(255,255,255,.72);padding:1rem 1.1rem;text-align:left;box-shadow:inset 0 0 0 1px rgba(255,255,255,.75);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.enest-mood-member-card:hover,.enest-mood-member-card:focus-visible{transform:translateY(-1px);background:rgba(255,255,255,.9);box-shadow:0 14px 28px rgba(15,23,42,.08),inset 0 0 0 2px rgba(124,58,237,.2);outline:none}.enest-mood-person{display:flex;align-items:center;gap:.8rem;min-width:0}.enest-mood-avatar{display:grid;place-items:center;width:3rem;height:3rem;border-radius:999px;background:#fff;font-size:1.65rem;box-shadow:0 10px 22px rgba(15,23,42,.08);flex:0 0 auto}.enest-mood-name{display:block;font-weight:950;font-size:1.15rem;color:#020617;line-height:1.05}.enest-mood-status{display:block;margin-top:.25rem;font-weight:850;color:#64748b;font-size:.95rem}.enest-mood-current{display:flex;align-items:center;gap:.55rem;flex:0 0 auto;border-radius:999px;background:rgba(124,58,237,.1);color:#6d28d9;padding:.45rem .7rem;font-weight:950}.enest-mood-current span:first-child{font-size:1.35rem}.enest-mood-modal{position:fixed;inset:0;z-index:10001;display:none;align-items:center;justify-content:center;padding:1.25rem;background:rgba(15,23,42,.54);backdrop-filter:blur(10px)}.enest-mood-modal.is-open{display:flex}.enest-mood-panel{width:min(34rem,100%);border-radius:2rem;background:linear-gradient(135deg,#fff,#f3e8ff);padding:1.25rem;box-shadow:0 30px 80px rgba(15,23,42,.28)}.enest-mood-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.enest-mood-panel-title{font-size:1.65rem;font-weight:950;letter-spacing:-.04em;color:#020617}.enest-mood-close{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:0;border-radius:999px;background:#e2e8f0;color:#0f172a;font-size:1.4rem;font-weight:950}.enest-mood-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.enest-mood-option{display:flex;min-height:7rem;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;border:0;border-radius:1.5rem;background:#fff;color:#020617;font-weight:950;box-shadow:0 10px 24px rgba(15,23,42,.08)}.enest-mood-option .emoji{font-size:2.7rem;line-height:1}.enest-mood-option .label{font-size:1rem}@media (max-width:700px){.enest-today-date-label{font-size:1.25rem!important}.enest-mood-options{grid-template-columns:repeat(2,minmax(0,1fr))}.enest-mood-option{min-height:6.5rem}}

/* v1.2.23: right-side tap-friendly completion pills */
.enest-check-pill{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-width:5.8rem;min-height:2.75rem;border:0;border-radius:999px;padding:.55rem .9rem;font-weight:950;font-size:.95rem;line-height:1;color:#6d28d9;background:rgba(124,58,237,.12);box-shadow:inset 0 0 0 1px rgba(124,58,237,.08);flex:0 0 auto;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.enest-check-pill:hover,.enest-check-pill:focus-visible{transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.1),inset 0 0 0 2px rgba(124,58,237,.2);outline:none}.enest-check-dot{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:999px;background:#fff;font-size:1rem;box-shadow:0 6px 12px rgba(15,23,42,.08)}.enest-check-pill.is-done{background:#10b981;color:#fff;box-shadow:0 12px 24px rgba(16,185,129,.18)}.enest-check-pill.is-done .enest-check-dot{color:#059669}.enest-check-blue{color:#2563eb;background:rgba(59,130,246,.12)}.enest-check-blue.is-done{background:#2563eb;color:#fff}.enest-check-emerald{color:#059669;background:rgba(16,185,129,.13)}.enest-check-emerald.is-done{background:#059669;color:#fff}.enest-check-indigo{color:#4f46e5;background:rgba(99,102,241,.13)}.enest-check-indigo.is-done{background:#4f46e5;color:#fff}@media (max-width:700px){.enest-check-pill{min-width:4.9rem;min-height:2.55rem;padding:.5rem .72rem;font-size:.85rem}.enest-check-dot{width:1.25rem;height:1.25rem}.group>.enest-check-pill+button{margin-left:.15rem}}

/* v1.2.24: subtle dashboard animations */
@keyframes enestCardIn{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes enestItemIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes enestPop{0%{transform:scale(1)}45%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes enestCompleteGlow{0%{box-shadow:0 0 0 rgba(16,185,129,0)}45%{box-shadow:0 0 0 10px rgba(16,185,129,.16)}100%{box-shadow:0 0 0 rgba(16,185,129,0)}}
@keyframes enestPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes enestModalIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes enestBackdropIn{from{opacity:0}to{opacity:1}}
@keyframes enestDeleteOut{to{opacity:0;transform:scale(.96);filter:blur(2px)}}
@keyframes enestEmojiBounce{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-5px) scale(1.08)}65%{transform:translateY(1px) scale(.98)}}
@keyframes enestReservationPop{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:no-preference){
  #dashboardWidgetGrid > .dashboard-widget-column > div{animation:enestCardIn .38s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--enest-card-index,0) * 38ms)}
  #dashboardWidgetGrid .enest-animate-item{animation:enestItemIn .24s ease both;animation-delay:calc(var(--enest-item-index,0) * 24ms)}
  #quickModal:not(.hidden),#weatherModal:not(.hidden),.enest-mood-modal.is-open{animation:enestBackdropIn .18s ease both}
  #quickModal:not(.hidden)>form,#weatherModal:not(.hidden)>div,.enest-mood-modal.is-open .enest-mood-panel{animation:enestModalIn .22s cubic-bezier(.2,.9,.2,1) both}
  .enest-check-pill.enest-just-tapped,.enest-mood-current.enest-just-tapped,.enest-mood-option.enest-just-tapped{animation:enestPop .28s ease both}
  .enest-check-pill.is-done{animation:enestCompleteGlow .42s ease both}
  .enest-points-pulse,.text-violet-600.enest-points-pulse,.text-emerald-700.enest-points-pulse{animation:enestPulse .55s ease both}
  .enest-delete-out{animation:enestDeleteOut .18s ease forwards!important;pointer-events:none!important}
  .enest-mood-option:hover .emoji,.enest-mood-option:focus-visible .emoji{animation:enestEmojiBounce .45s ease both}
  #mealList button[onclick*="toggleMealReservation"].enest-just-tapped{animation:enestReservationPop .25s ease both}
}

/* Expanded family emoji picker v1.2.25 */
.emoji-picker-wrap--member{display:block!important;max-height:18rem;overflow-y:auto;padding:.7rem;background:linear-gradient(180deg,#f8fbff,#f5f3ff)}
.emoji-picker-section{margin-bottom:.65rem}.emoji-picker-section:last-child{margin-bottom:0}
.emoji-picker-label{margin:.15rem .1rem .35rem;font-size:.72rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase;color:#64748b}
.emoji-picker-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.35rem}
.emoji-picker-wrap--member .emoji-choice{min-height:2.55rem;font-size:1.65rem}
.emoji-choice:active{transform:scale(.94)}

.emoji-picker-wrap--linkIcon{max-height:15rem;padding:.7rem}.emoji-picker-wrap--linkIcon .emoji-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.emoji-picker-wrap--linkIcon .emoji-choice{min-height:3.1rem;font-size:1.8rem}
@media(max-width:700px){.emoji-picker-wrap--linkIcon{max-height:14rem}.emoji-picker-wrap--linkIcon .emoji-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:.5rem}.emoji-picker-wrap--linkIcon .emoji-choice{min-height:3.2rem;font-size:1.9rem}}
@media(max-width:700px){.emoji-picker-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.emoji-picker-wrap--member{max-height:15rem}}

/* Daily greeting subtitle */
.enest-greeting-block{display:flex;flex-direction:column;gap:.35rem}
.dashboard-greeting-subtitle{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.015em;color:#7c3aed!important}
@media (max-width:700px){.dashboard-greeting-subtitle{font-size:.92rem;line-height:1.25}}

/* v1.2.27: Cool family Leaderboard widget */
#leaderboardSection.enest-leaderboard-widget{background:radial-gradient(circle at top left,rgba(253,224,71,.75),transparent 34%),radial-gradient(circle at top right,rgba(124,58,237,.22),transparent 38%),linear-gradient(135deg,#fff7ed 0%,#fff 44%,#eef2ff 100%)!important;border:1px solid rgba(255,255,255,.75)!important;overflow:hidden!important;position:relative!important}
#leaderboardSection.enest-leaderboard-widget:before{content:"";position:absolute;inset:-40% auto auto -12%;width:18rem;height:18rem;border-radius:999px;background:rgba(255,255,255,.34);filter:blur(18px);pointer-events:none}.enest-leaderboard-chip{border-radius:999px;background:rgba(124,58,237,.12);color:#6d28d9;padding:.45rem .75rem;font-weight:950;font-size:.85rem;white-space:nowrap}.enest-leaderboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;position:relative;z-index:1}.enest-leader-card{position:relative;display:flex;align-items:center;gap:.75rem;width:100%;border:0;border-radius:1.35rem;background:rgba(255,255,255,.72);padding:.9rem;text-align:left;box-shadow:0 14px 30px rgba(15,23,42,.08),inset 0 0 0 1px rgba(255,255,255,.8);transition:transform .18s ease,box-shadow .18s ease,background .18s ease;cursor:pointer;overflow:hidden}.enest-leader-card:hover,.enest-leader-card:focus-visible{transform:translateY(-2px) scale(1.01);background:#fff;box-shadow:0 20px 42px rgba(15,23,42,.12),inset 0 0 0 2px rgba(124,58,237,.16);outline:none}.enest-leader-card.is-winner{grid-column:1/-1;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(254,243,199,.78));box-shadow:0 22px 48px rgba(234,179,8,.18),inset 0 0 0 2px rgba(250,204,21,.34)}.enest-rank-badge{position:absolute;right:.75rem;top:.65rem;font-size:1.15rem;filter:drop-shadow(0 6px 8px rgba(15,23,42,.12))}.enest-leader-avatar{display:grid;place-items:center;width:4rem;height:4rem;border-radius:999px;border:4px solid #fff;font-size:2.45rem;box-shadow:0 12px 26px rgba(15,23,42,.12);flex:0 0 auto}.enest-leader-copy{display:block;min-width:0;flex:1;padding-right:1.5rem}.enest-leader-copy b{display:block;font-size:1.25rem;font-weight:950;line-height:1.05;color:#020617;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.enest-leader-copy small{display:block;margin-top:.25rem;font-weight:950;color:#7c3aed;font-size:1rem}.enest-leader-meter{display:block;margin-top:.45rem;height:.5rem;border-radius:999px;background:rgba(148,163,184,.2);overflow:hidden}.enest-leader-meter i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#8b5cf6,#22d3ee,#facc15)}.enest-leaderboard-empty{border-radius:1.25rem;background:rgba(255,255,255,.72);padding:1rem;font-weight:900;color:#64748b}
@media (max-width:767px){#leaderboardSection{order:3!important}.enest-leaderboard-grid{grid-template-columns:1fr}.enest-leader-card.is-winner{grid-column:auto}.enest-leader-avatar{width:3.4rem;height:3.4rem;font-size:2.05rem}.enest-leader-copy b{font-size:1.1rem}#notesSection{order:4!important}}
@media (min-width:768px) and (max-width:1199px){.dashboard-widget-column-left #leaderboardSection{order:3!important}.dashboard-widget-column-left #notesSection{order:4!important}}

/* v1.2.29 Parent controls + cleaner Add flow */
.tablet-main button[onclick^="openModal('"] {
  display: none !important;
}
.enest-settings-note {
  border-radius: 1rem;
  background: #f5f3ff;
  color: #6d28d9;
  padding: .8rem 1rem;
  font-weight: 800;
  font-size: .9rem;
}
.enest-pin-dots {
  letter-spacing: .45em;
  text-align: center;
  font-size: 2rem;
  font-weight: 900;
}
.enest-settings-grid label {
  display: grid;
  gap: .35rem;
  font-size: .85rem;
  font-weight: 900;
  color: #64748b;
}
.enest-settings-grid input {
  min-height: 3rem;
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  background: #f8fafc;
  padding: 0 1rem;
  color: #020617;
  outline: none;
  font-weight: 800;
}

/* v1.2.31 Settings modal mobile scroll fix */
#enestSettingsModal {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
#enestSettingsModal .enest-settings-form {
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 700px) {
  #enestSettingsModal {
    align-items: flex-start !important;
    padding: .85rem !important;
  }
  #enestSettingsModal .enest-settings-form {
    max-height: calc(100dvh - 1.7rem);
    padding: 1.15rem !important;
    border-radius: 1.35rem !important;
  }
}

/* v1.2.32 — CSS enest wordmark for tablet + mobile nav */
.tablet-bottom-header .enest-family-brand,
body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand {
  min-width: 11.5rem !important;
  gap: .58rem !important;
}

.tablet-bottom-header .enest-family-brand-icon,
body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-icon {
  background:
    radial-gradient(circle at 32% 24%, rgba(255,255,255,.58), transparent 30%),
    linear-gradient(135deg, #f43f8b 0%, #8b5cf6 38%, #06b6d4 70%, #a3e635 100%) !important;
  border-radius: 1rem !important;
}

.enest-css-logo-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 0 !important;
}

.enest-css-wordmark,
.tablet-bottom-header .enest-css-wordmark,
body.enest-kiosk-layout .tablet-bottom-header .enest-css-wordmark {
  display: flex !important;
  align-items: baseline !important;
  gap: 0 !important;
  width: max-content !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: nowrap !important;
  font-family: Inter, ui-rounded, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(1.32rem, 3.2vw, 2rem) !important;
  font-weight: 1000 !important;
  letter-spacing: -.105em !important;
  line-height: .88 !important;
  text-transform: lowercase !important;
  color: transparent !important;
  text-shadow: none !important;
}

.enest-css-wordmark span {
  display: inline-block !important;
  margin-right: -.065em !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  text-shadow: none !important;
}
.enest-css-wordmark span:nth-child(1) { background-image: linear-gradient(135deg,#fb7185,#ec4899 65%,#a855f7); }
.enest-css-wordmark span:nth-child(2) { background-image: linear-gradient(135deg,#ec4899,#8b5cf6 58%,#3b82f6); }
.enest-css-wordmark span:nth-child(3) { background-image: linear-gradient(135deg,#7c3aed,#06b6d4 72%,#22d3ee); }
.enest-css-wordmark span:nth-child(4) { background-image: linear-gradient(135deg,#06b6d4,#22c55e 72%,#84cc16); }
.enest-css-wordmark span:nth-child(5) { background-image: linear-gradient(135deg,#22c55e,#a3e635 72%,#fde047); }

.tablet-bottom-header .enest-family-brand-sub,
body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-sub {
  color: rgba(226,232,240,.84) !important;
  font-size: clamp(.48rem, 1.35vw, .7rem) !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
  margin-top: .22rem !important;
  max-width: none !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

@media (max-width: 767px) {
  .tablet-bottom-header .enest-family-brand-copy,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-copy {
    display: flex !important;
  }
  .tablet-bottom-header .tablet-brand,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-brand {
    max-width: 44vw !important;
  }
  .tablet-bottom-header .enest-css-wordmark,
  body.enest-kiosk-layout .tablet-bottom-header .enest-css-wordmark {
    font-size: clamp(1.05rem, 5.6vw, 1.55rem) !important;
  }
  .tablet-bottom-header .enest-family-brand-sub,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-sub {
    font-size: .46rem !important;
    letter-spacing: .095em !important;
  }
}

/* v1.2.33 - logo size / no tagline */
.tablet-bottom-header .enest-family-brand-sub,
body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-sub {
  display: none !important;
}
.tablet-bottom-header .enest-family-brand-copy,
body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-copy {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
}
.tablet-bottom-header .enest-css-wordmark,
body.enest-kiosk-layout .tablet-bottom-header .enest-css-wordmark {
  font-size: 2.45rem !important;
  line-height: .8 !important;
  letter-spacing: -.115em !important;
}
.tablet-bottom-header .tablet-brand,
body.enest-kiosk-layout .tablet-bottom-header .tablet-brand {
  align-items: center !important;
  gap: .75rem !important;
  min-width: 0 !important;
}
@media (max-width: 767px) {
  .tablet-bottom-header .enest-family-brand-copy,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-copy {
    display: flex !important;
  }
  .tablet-bottom-header .tablet-brand,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-brand {
    width: auto !important;
    max-width: 48vw !important;
    flex: 1 1 auto !important;
  }
  .tablet-bottom-header .enest-css-wordmark,
  body.enest-kiosk-layout .tablet-bottom-header .enest-css-wordmark {
    font-size: 2.25rem !important;
  }
}

/* v1.2.34 - code-only enest bird mark + split-color wordmark */
.tablet-bottom-header .enest-family-brand,
body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand {
  gap: .82rem !important;
  min-width: 13.25rem !important;
}
.tablet-bottom-header .enest-family-brand-icon.enest-birds-mark,
body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-icon.enest-birds-mark {
  width: 3.25rem !important;
  height: 3.25rem !important;
  flex: 0 0 3.25rem !important;
  border-radius: 999px !important;
  color: #7db9f5 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.tablet-bottom-header .enest-family-brand-icon.enest-birds-mark::after,
body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-icon.enest-birds-mark::after {
  display: none !important;
}
.tablet-bottom-header .enest-family-brand-icon.enest-birds-mark svg,
body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-icon.enest-birds-mark svg {
  width: 3.25rem !important;
  height: 3.25rem !important;
  filter: drop-shadow(0 8px 16px rgba(125,185,245,.20)) !important;
}
.tablet-bottom-header .enest-css-wordmark,
body.enest-kiosk-layout .tablet-bottom-header .enest-css-wordmark {
  font-size: 3.1rem !important;
  line-height: .82 !important;
  letter-spacing: -.075em !important;
  font-weight: 1000 !important;
}
.tablet-bottom-header .enest-css-wordmark span,
body.enest-kiosk-layout .tablet-bottom-header .enest-css-wordmark span {
  background-image: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  color: #f8fbff !important;
  text-shadow: 0 2px 12px rgba(15,23,42,.22) !important;
}
.tablet-bottom-header .enest-css-wordmark span:first-child,
body.enest-kiosk-layout .tablet-bottom-header .enest-css-wordmark span:first-child {
  color: #7db9f5 !important;
}
@media (max-width: 767px) {
  .tablet-bottom-header .enest-family-brand,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand {
    gap: .55rem !important;
    min-width: 0 !important;
    max-width: 48vw !important;
  }
  .tablet-bottom-header .enest-family-brand-icon.enest-birds-mark,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-icon.enest-birds-mark {
    width: 2.5rem !important;
    height: 2.5rem !important;
    flex-basis: 2.5rem !important;
  }
  .tablet-bottom-header .enest-family-brand-icon.enest-birds-mark svg,
  body.enest-kiosk-layout .tablet-bottom-header .enest-family-brand-icon.enest-birds-mark svg {
    width: 2.5rem !important;
    height: 2.5rem !important;
  }
  .tablet-bottom-header .enest-css-wordmark,
  body.enest-kiosk-layout .tablet-bottom-header .enest-css-wordmark {
    font-size: 2.28rem !important;
    letter-spacing: -.075em !important;
  }
}

/* v1.2.4 — image logo swap */
.enest-logo-brand,
.tablet-bottom-header .enest-logo-brand,
body.enest-kiosk-layout .tablet-bottom-header .enest-logo-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 15.5rem !important;
  text-decoration: none !important;
  overflow: visible !important;
}
.enest-logo-img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}
.enest-logo-img--nav {
  height: clamp(3.1rem, 5.2vw, 4.35rem) !important;
  max-height: 4.35rem !important;
  filter: drop-shadow(0 10px 18px rgba(15,23,42,.18)) !important;
}
.enest-page-logo {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}
.enest-page-logo--auth {
  width: min(100%, 21rem) !important;
}
.enest-logo-img--auth {
  width: min(100%, 20rem) !important;
  max-height: 6.5rem !important;
}
.enest-logo-img--hero {
  width: min(100%, 26rem) !important;
  max-height: 8.5rem !important;
}
@media (max-width: 767px) {
  .tablet-bottom-header .enest-logo-brand,
  body.enest-kiosk-layout .tablet-bottom-header .enest-logo-brand {
    flex: 0 0 auto !important;
    max-width: 9.8rem !important;
  }
  .tablet-bottom-header .enest-logo-img--nav,
  body.enest-kiosk-layout .tablet-bottom-header .enest-logo-img--nav {
    height: 2.9rem !important;
    max-height: 2.9rem !important;
  }
  .enest-logo-img--hero { width: min(100%, 20rem) !important; }
  .enest-logo-img--auth { width: min(100%, 17rem) !important; }
}

/* Landing page refresh v2.0.0 */
.landing-nav{position:sticky;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1180px,calc(100% - 2rem));margin:1rem auto 0;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.68);border-radius:1.6rem;background:rgba(255,255,255,.82);box-shadow:0 20px 50px rgba(15,23,42,.08);backdrop-filter:blur(18px)}
.landing-logo{height:48px;width:auto;display:block}.landing-brand{display:flex;align-items:center;text-decoration:none}.landing-nav-links{display:flex;align-items:center;gap:.35rem}.landing-nav-links a,.landing-login{display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.65rem .9rem;border-radius:1rem;color:#334155;text-decoration:none;font-weight:950}.landing-nav-links a:hover,.landing-login:hover{background:#f1f5f9;color:#0f172a}.landing-nav-actions{display:flex;align-items:center;gap:.5rem}.landing-cta,.landing-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:3.55rem;border-radius:1.25rem;padding:.85rem 1.25rem;font-weight:1000;text-decoration:none;transition:.16s ease}.landing-cta{background:#6d4df2;color:white;box-shadow:0 18px 34px rgba(109,77,242,.24)}.landing-cta:hover{transform:translateY(-1px);box-shadow:0 22px 42px rgba(109,77,242,.30)}.landing-cta-small{min-height:2.75rem;padding:.65rem 1rem;border-radius:1rem}.landing-secondary{border:1px solid #dbe3ef;background:white;color:#0f172a;box-shadow:0 14px 24px rgba(15,23,42,.06)}
.landing-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:3rem;align-items:center;width:min(1240px,calc(100% - 2rem));margin:3.2rem auto 0;padding:2rem 0 4rem}.landing-pill,.landing-eyebrow{display:inline-flex;align-items:center;gap:.5rem;width:max-content;max-width:100%;border:1px solid rgba(109,77,242,.14);border-radius:999px;background:rgba(255,255,255,.82);box-shadow:0 12px 28px rgba(15,23,42,.06);padding:.72rem 1rem;color:#5b21b6;font-weight:1000}.landing-hero h1{margin:1.2rem 0 1rem;font-size:clamp(3.55rem,7vw,6.8rem);line-height:.89;letter-spacing:-.075em;font-weight:1000;color:#0f172a}.landing-lede{max-width:42rem;font-size:clamp(1.18rem,1.6vw,1.55rem);line-height:1.45;color:#526173;font-weight:700}.landing-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.7rem}.landing-demo-card{margin-top:1rem;width:max-content;max-width:100%;border:1px solid rgba(226,232,240,.95);border-radius:1.25rem;background:rgba(255,255,255,.88);padding:1rem 1.1rem;color:#64748b;font-weight:850;box-shadow:0 18px 36px rgba(15,23,42,.06)}.landing-demo-card strong{color:#0f172a}.landing-proof{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.1rem}.landing-proof span{border-radius:999px;background:#e0f2fe;color:#075985;padding:.55rem .75rem;font-size:.88rem;font-weight:950}.landing-hero-art{position:relative}.landing-hero-art:before{content:"";position:absolute;inset:7% -4% -2% 8%;border-radius:4rem;background:linear-gradient(135deg,rgba(109,77,242,.22),rgba(56,189,248,.20));filter:blur(24px);z-index:-1}.landing-hero-art img{display:block;width:100%;height:auto;border-radius:2.6rem;box-shadow:0 34px 90px rgba(15,23,42,.24)}
.landing-section{width:min(1180px,calc(100% - 2rem));margin:0 auto 2rem}.landing-section-heading{text-align:center;max-width:760px;margin:0 auto 2rem}.landing-section-heading p{margin:0 0 .55rem;color:#6d4df2;font-weight:1000;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}.landing-section-heading h2,.landing-split h2,.landing-seo-strip h2,.landing-final-cta h2{margin:0;color:#0f172a;font-weight:1000;letter-spacing:-.055em;line-height:.98;font-size:clamp(2.25rem,4vw,4.2rem)}.landing-feature-band{border:1px solid rgba(255,255,255,.7);border-radius:2.4rem;background:rgba(255,255,255,.72);box-shadow:0 28px 70px rgba(15,23,42,.08);padding:3rem 2rem}.landing-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.landing-feature-grid article{border:1px solid #e2e8f0;border-radius:1.65rem;background:#fff;padding:1.25rem;box-shadow:0 16px 30px rgba(15,23,42,.055)}.landing-feature-grid article span{display:grid;place-items:center;width:3.25rem;height:3.25rem;border-radius:1.15rem;background:#f1f5ff;font-size:1.55rem}.landing-feature-grid h3{margin:1rem 0 .4rem;color:#0f172a;font-size:1.22rem;font-weight:1000;letter-spacing:-.03em}.landing-feature-grid p,.landing-split p,.landing-seo-strip p,.landing-final-cta p,.landing-faq details p{color:#64748b;font-weight:700;line-height:1.55}.landing-split{display:grid;grid-template-columns:1fr .8fr;gap:2rem;align-items:center;border-radius:2.4rem;background:#0b1737;color:white;padding:3rem;overflow:hidden;box-shadow:0 30px 80px rgba(15,23,42,.18)}.landing-split h2{color:white;margin:1rem 0}.landing-split p{color:#cbd5e1;font-size:1.1rem}.landing-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1.4rem}.landing-mini-grid div{border:1px solid rgba(255,255,255,.10);border-radius:1.35rem;background:rgba(255,255,255,.07);padding:1rem}.landing-mini-grid strong,.landing-mini-grid span{display:block}.landing-mini-grid strong{color:#fff;font-weight:1000}.landing-mini-grid span{margin-top:.25rem;color:#bfdbfe;font-weight:750}.landing-phone-stack{display:grid;gap:1rem;transform:rotate(2deg)}.landing-phone-card{border:1px solid rgba(255,255,255,.18);border-radius:1.8rem;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(239,246,255,.86));padding:1.3rem;box-shadow:0 24px 55px rgba(0,0,0,.20)}.landing-phone-card b,.landing-phone-card span,.landing-phone-card small{display:block}.landing-phone-card b{color:#6d4df2;font-size:.85rem;text-transform:uppercase;letter-spacing:.12em}.landing-phone-card span{margin:.4rem 0;color:#0f172a;font-size:1.55rem;font-weight:1000}.landing-phone-card small{color:#64748b;font-size:1rem;font-weight:850}.landing-seo-strip{text-align:center;border-radius:2.4rem;background:linear-gradient(135deg,#7c3aed,#0ea5e9);padding:3rem 2rem;color:white;box-shadow:0 24px 70px rgba(14,165,233,.18)}.landing-seo-strip h2{color:white}.landing-seo-strip p{max-width:760px;margin:1rem auto 0;color:rgba(255,255,255,.86);font-size:1.18rem}.landing-faq{padding:2rem 0}.landing-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.landing-faq details{border:1px solid #e2e8f0;border-radius:1.35rem;background:white;padding:1.1rem 1.2rem;box-shadow:0 16px 32px rgba(15,23,42,.05)}.landing-faq summary{cursor:pointer;color:#0f172a;font-weight:1000;font-size:1.05rem}.landing-final-cta{text-align:center;width:min(980px,calc(100% - 2rem));margin:1rem auto 2rem;border:1px solid rgba(255,255,255,.76);border-radius:2.5rem;background:rgba(255,255,255,.78);padding:3rem 2rem;box-shadow:0 26px 70px rgba(15,23,42,.08)}.landing-final-cta img{width:76px;height:76px;object-fit:contain;margin:0 auto 1rem}.landing-final-cta p{max-width:640px;margin:1rem auto 1.5rem;font-size:1.15rem}.landing-footer{display:flex;justify-content:space-between;gap:1rem;width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 3rem;color:#64748b;font-weight:850}
@media(max-width:1000px){.landing-nav{position:relative;flex-wrap:wrap}.landing-nav-links{order:3;width:100%;justify-content:center;overflow:auto}.landing-hero,.landing-split{grid-template-columns:1fr}.landing-hero{margin-top:1.4rem}.landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-phone-stack{transform:none}.landing-footer{flex-direction:column;text-align:center}.landing-logo{height:42px}}
@media(max-width:700px){.landing-nav-actions{width:100%;justify-content:space-between}.landing-nav-links{justify-content:flex-start}.landing-hero{padding-top:.5rem}.landing-hero h1{font-size:3.4rem}.landing-feature-band,.landing-split,.landing-seo-strip,.landing-final-cta{padding:2rem 1rem;border-radius:1.7rem}.landing-feature-grid,.landing-mini-grid,.landing-faq-grid{grid-template-columns:1fr}.landing-actions a{width:100%}.landing-demo-card{width:100%}.landing-hero-art img{border-radius:1.7rem}.landing-proof span{font-size:.8rem}}

/* Landing page scroll + updated horizontal logo pass */
body.enest-landing-page{
  min-height:100vh!important;
  height:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
body.enest-landing-page .landing-logo{
  height:58px;
  max-width:min(430px,58vw);
  object-fit:contain;
}
body.enest-landing-page .landing-nav{
  align-items:center;
}
@media(max-width:1000px){
  body.enest-landing-page .landing-logo{height:50px;max-width:min(360px,82vw)}
}
@media(max-width:700px){
  body.enest-landing-page .landing-logo{height:42px;max-width:100%}
}

/* v2.0.2 - hard landing scroll fix */
html,
body.enest-landing-page{
  min-height:100% !important;
  height:auto !important;
  max-height:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  position:static !important;
}
body.enest-landing-page main{
  display:block !important;
  min-height:auto !important;
  height:auto !important;
  overflow:visible !important;
  padding-bottom:1px;
}
body.enest-landing-page .landing-nav{
  flex-shrink:0;
}

/* =========================================================
   Landing page revision 2: cleaner hero typography + softer
   screenshot showcase (replaces heavy device mock styling)
   ========================================================= */
body.enest-fun-landing {
  background:
    radial-gradient(circle at 10% 14%, rgba(255, 118, 163, .16), transparent 18rem),
    radial-gradient(circle at 88% 12%, rgba(139, 92, 246, .12), transparent 20rem),
    radial-gradient(circle at 82% 52%, rgba(56, 189, 248, .12), transparent 22rem),
    linear-gradient(180deg, #fbfdff 0%, #f5f7ff 48%, #fdfefe 100%) !important;
}

.fun-hero.fun-hero-rev2 {
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr) !important;
  gap: 72px !important;
  min-height: 700px !important;
  margin-top: 56px !important;
}

.fun-hero-copy-rev2 {
  position: relative;
  z-index: 5;
  padding-right: 12px;
}

.fun-hero-copy-rev2 h1,
.fun-hero h1 {
  max-width: 680px !important;
  font-size: clamp(3.45rem, 6vw, 5.35rem) !important;
  line-height: .96 !important;
  letter-spacing: -0.05em !important;
  font-weight: 1000 !important;
  text-wrap: balance;
}

.fun-hero-copy-rev2 .fun-lede,
.fun-lede {
  max-width: 620px;
  font-size: 1.28rem !important;
  line-height: 1.52 !important;
  color: #415066 !important;
}

.fun-hero h1::after {
  width: 200px !important;
  height: 12px !important;
  margin-top: 10px !important;
  margin-left: 0 !important;
  background: linear-gradient(90deg, #fbbf24, #fb7185, #8b5cf6) !important;
  transform: none !important;
}

.fun-showcase-wrap {
  position: relative;
  min-height: 620px;
  padding-left: 56px;
}

.fun-showcase-bg {
  position: absolute;
  inset: 46px 0 30px 92px;
  border-radius: 42px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(242, 246, 255, .88)),
    linear-gradient(135deg, rgba(255,255,255,.92), rgba(242, 246, 255, .88));
  border: 1px solid rgba(148, 163, 184, .18);
  box-shadow: 0 30px 70px rgba(15, 23, 42, .12);
}

.fun-shot-card {
  position: absolute;
  margin: 0;
  padding: 16px;
  border-radius: 30px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(148, 163, 184, .16);
  box-shadow: 0 28px 58px rgba(15, 23, 42, .16);
  overflow: hidden;
}

.fun-shot-card figcaption {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin-bottom: 12px;
  padding: 0 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #eef2ff, #f5f3ff);
  color: #6d4df2;
  font-size: .92rem;
  font-weight: 900;
}

.fun-shot-card img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
  border: 1px solid rgba(226, 232, 240, .95);
  background: #fff;
}

.fun-shot-card-tablet {
  top: 82px;
  right: 0;
  width: min(700px, 50vw);
  transform: rotate(-1deg);
}

.fun-shot-card-mobile {
  left: 104px;
  bottom: 34px;
  width: min(250px, 20vw);
  transform: rotate(1.2deg);
  z-index: 3;
}

.fun-mini-stat {
  position: absolute;
  z-index: 4;
  padding: 14px 18px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, .16);
  box-shadow: 0 16px 32px rgba(15,23,42,.10);
}

.fun-mini-stat strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
  font-size: .98rem;
  font-weight: 950;
}

.fun-mini-stat span {
  color: #64748b;
  font-size: .87rem;
  font-weight: 800;
}

.fun-mini-stat-a {
  top: 8px;
  right: 64px;
}

.fun-feature-bubbles {
  position: absolute;
  left: 300px;
  bottom: 12px;
  z-index: 4;
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 10px;
}

.fun-feature-bubbles span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(148,163,184,.14);
  color: #334155;
  font-size: .9rem;
  font-weight: 900;
  box-shadow: 0 12px 26px rgba(15,23,42,.08);
}

.rev2-device-grid {
  grid-template-columns: .7fr 1.3fr !important;
  gap: 20px !important;
  align-items: stretch !important;
}

.fun-screen-panel {
  min-height: 440px;
  padding: 18px;
  border-radius: 28px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(148,163,184,.16);
  box-shadow: 0 20px 42px rgba(15,23,42,.10);
  overflow: hidden;
}

.fun-screen-panel span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin-bottom: 14px;
  padding: 0 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #ede9fe, #ecfeff);
  color: #6d4df2;
  font-weight: 950;
}

.fun-screen-panel img {
  display: block;
  width: 100%;
  border-radius: 22px;
  border: 1px solid rgba(226,232,240,.95);
  box-shadow: 0 14px 32px rgba(15,23,42,.08);
}

.fun-screen-panel-mobile img {
  max-width: 280px;
  margin: 0 auto;
}

.fun-screen-panel-tablet img {
  width: 100%;
}

@media (max-width: 1080px) {
  .fun-hero.fun-hero-rev2 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    min-height: 0 !important;
  }

  .fun-showcase-wrap {
    min-height: 560px;
    max-width: 920px;
    margin: 0 auto;
    padding-left: 20px;
  }

  .fun-showcase-bg {
    inset: 52px 12px 20px 36px;
  }

  .fun-shot-card-tablet {
    top: 88px;
    right: 18px;
    width: min(700px, 78vw);
  }

  .fun-shot-card-mobile {
    left: 56px;
    width: min(230px, 24vw);
  }

  .fun-mini-stat-a {
    right: 38px;
  }

  .fun-feature-bubbles {
    left: 240px;
  }
}

@media (max-width: 760px) {
  .fun-hero-copy-rev2 h1,
  .fun-hero h1 {
    font-size: clamp(2.8rem, 11vw, 4rem) !important;
    letter-spacing: -0.04em !important;
  }

  .fun-showcase-wrap {
    min-height: 500px;
  }

  .fun-showcase-bg {
    inset: 46px 0 22px 0;
    border-radius: 28px;
  }

  .fun-shot-card-tablet {
    top: 86px;
    right: 0;
    width: 100%;
    transform: none;
  }

  .fun-shot-card-mobile {
    left: 10px;
    bottom: 8px;
    width: 42%;
    min-width: 160px;
    max-width: 220px;
  }

  .fun-mini-stat-a {
    top: 8px;
    right: 8px;
    padding: 10px 12px;
  }

  .fun-mini-stat span {
    font-size: .78rem;
  }

  .fun-feature-bubbles {
    display: none;
  }

  .rev2-device-grid {
    grid-template-columns: 1fr !important;
  }

  .fun-screen-panel {
    min-height: auto;
  }
}

/* Announcement app-style delete gestures */
#announcementList .announcement-swipe-row {
  touch-action: pan-y;
}
#announcementList .announcement-swipe-card {
  will-change: transform;
  touch-action: pan-y;
  cursor: grab;
}
#announcementList .announcement-swipe-card:active {
  cursor: grabbing;
}
#announcementList .announcement-delete-reveal {
  box-shadow: inset 10px 0 20px rgba(127, 29, 29, 0.12);
}


/* v1.4.8: Make + Add menu scroll correctly on mobile browser chrome */
#universalAddModal{
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
}
#universalAddModal.flex{
  align-items:flex-start!important;
}
#universalAddModal .universal-add-panel{
  margin-top:1rem!important;
  margin-bottom:8rem!important;
}
@media(max-width:767px){
  #universalAddModal{
    padding-top:.9rem!important;
    padding-bottom:9rem!important;
  }
  #universalAddModal .universal-add-panel{
    max-height:none!important;
    overflow:visible!important;
  }
}

/* v1.4.10: Leaderboard cards and family member list are read-only. */
.enest-leader-card--readonly{cursor:default!important}
.enest-leader-card--readonly:hover,.enest-leader-card--readonly:focus-visible{transform:none!important;background:rgba(255,255,255,.72)!important;box-shadow:0 14px 30px rgba(15,23,42,.08),inset 0 0 0 1px rgba(255,255,255,.8)!important;outline:none!important}
.enest-leader-card--readonly.is-winner:hover,.enest-leader-card--readonly.is-winner:focus-visible{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(254,243,199,.78))!important;box-shadow:0 22px 48px rgba(234,179,8,.18),inset 0 0 0 2px rgba(250,204,21,.34)!important}
#memberList > div{cursor:default!important}


/* v1.4.12: Simplify Parent Settings and visually separate remaining sections */
.enest-settings-section {
  display: grid;
  gap: .9rem;
  border: 1px solid #e2e8f0;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-radius: 1.25rem;
  padding: 1rem;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .06);
}
.enest-settings-section-head {
  display: grid;
  gap: .15rem;
}
.enest-settings-section-head h3 {
  margin: 0;
  color: #020617;
  font-size: 1.08rem;
  font-weight: 950;
  letter-spacing: -.02em;
}
.enest-settings-section-head p {
  margin: 0;
  color: #64748b;
  font-size: .86rem;
  font-weight: 800;
}
@media (max-width: 700px) {
  .enest-settings-section {
    padding: .9rem;
    border-radius: 1.1rem;
  }
}


/* v1.5.0: AI Brain widget */
.enest-ai-brain-widget{
  background:
    radial-gradient(circle at top left, rgba(124,58,237,.16), transparent 38%),
    radial-gradient(circle at bottom right, rgba(14,165,233,.13), transparent 42%),
    #fff;
}
.enest-ai-brain-chip{
  border-radius:999px;
  background:rgba(124,58,237,.12);
  color:#6d28d9;
  padding:.45rem .7rem;
  font-size:.82rem;
  font-weight:950;
  white-space:nowrap;
}
.enest-ai-brain-messages{
  display:grid;
  gap:.65rem;
  max-height:18rem;
  overflow-y:auto;
  border-radius:1.35rem;
  background:linear-gradient(180deg,#f8fafc,#eef2ff);
  padding:.85rem;
  -webkit-overflow-scrolling:touch;
}
.enest-ai-message{
  max-width:92%;
  border-radius:1.15rem;
  padding:.85rem 1rem;
  font-size:.98rem;
  line-height:1.32;
  font-weight:800;
  white-space:pre-wrap;
}
.enest-ai-message-ai{
  justify-self:start;
  background:#fff;
  color:#0f172a;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
}
.enest-ai-message-user{
  justify-self:end;
  background:#7c3aed;
  color:#fff;
  box-shadow:0 12px 24px rgba(124,58,237,.18);
}
.enest-ai-brain-form{
  display:grid;
  gap:.75rem;
  margin-top:.85rem;
}
.enest-ai-brain-form textarea{
  width:100%;
  min-height:4.6rem;
  resize:vertical;
  border:1px solid #e2e8f0;
  border-radius:1.2rem;
  background:#f8fafc;
  color:#020617;
  padding:.9rem 1rem;
  font-weight:850;
  outline:none;
}
.enest-ai-brain-form textarea:focus{
  border-color:rgba(124,58,237,.45);
  box-shadow:0 0 0 4px rgba(124,58,237,.12);
}
.enest-ai-brain-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
}
.enest-ai-brain-actions button{
  min-height:3.2rem;
  border:0;
  border-radius:1.1rem;
  font-weight:950;
  color:#fff;
  background:linear-gradient(135deg,#06b6d4,#7c3aed);
  box-shadow:0 14px 26px rgba(124,58,237,.18);
}
.enest-ai-brain-actions button:first-child{
  background:linear-gradient(135deg,#0f172a,#334155);
}
.enest-ai-brain-actions button:disabled{
  opacity:.55;
}
.enest-ai-brain-status{
  min-height:1.1rem;
  margin:.55rem 0 0;
  color:#64748b;
  font-size:.82rem;
  font-weight:900;
}
.enest-ai-brain-status.is-error{
  color:#dc2626;
}
@media(max-width:767px){
  #aiBrainSection{order:2!important}
  .enest-ai-brain-messages{max-height:16rem}
  .enest-ai-message{max-width:96%}
}


/* v1.5.1: AI Brain token meter and checkout button */
.enest-ai-token-panel{
  display:grid;
  gap:.55rem;
  border:1px solid rgba(124,58,237,.14);
  border-radius:1.25rem;
  background:rgba(255,255,255,.72);
  padding:.8rem;
  margin-bottom:.85rem;
  box-shadow:0 10px 22px rgba(15,23,42,.05);
}
.enest-ai-token-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  color:#64748b;
  font-size:.88rem;
  font-weight:950;
}
.enest-ai-token-row strong{
  color:#5b21b6;
  white-space:nowrap;
}
.enest-ai-token-meter{
  height:.55rem;
  overflow:hidden;
  border-radius:999px;
  background:rgba(148,163,184,.22);
}
.enest-ai-token-meter i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#7c3aed,#06b6d4);
  transition:width .25s ease;
}
.enest-ai-token-buy{
  width:100%;
  min-height:2.65rem;
  border:0;
  border-radius:1rem;
  background:linear-gradient(135deg,#111827,#7c3aed);
  color:#fff;
  font-weight:950;
  box-shadow:0 12px 24px rgba(91,33,182,.16);
}
.enest-ai-token-buy[hidden]{
  display:none !important;
}


/* v1.5.2: Landing pricing plans */
.mock-pricing{
  padding:5rem clamp(1rem,4vw,4rem);
  background:
    radial-gradient(circle at 12% 18%,rgba(124,58,237,.14),transparent 28%),
    radial-gradient(circle at 88% 20%,rgba(14,165,233,.14),transparent 30%),
    linear-gradient(180deg,#fff,#f8fbff);
}
.mock-pricing-head{
  max-width:54rem;
  margin:0 auto 2.25rem;
  text-align:center;
}
.mock-pricing-head h2{
  margin:.8rem 0 .65rem;
  font-size:clamp(2.3rem,5vw,4.6rem);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:1000;
  color:#07111f;
}
.mock-pricing-head p{
  margin:0;
  color:#64748b;
  font-size:1.15rem;
  font-weight:800;
}
.mock-pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.15rem;
  max-width:78rem;
  margin:0 auto;
}
.mock-price-card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1rem;
  border:1px solid rgba(226,232,240,.92);
  border-radius:2rem;
  background:rgba(255,255,255,.88);
  padding:1.35rem;
  box-shadow:0 24px 55px rgba(15,23,42,.09);
}
.mock-price-trial{
  background:linear-gradient(180deg,#fff,#f0fdf4);
}
.mock-price-featured{
  border-color:rgba(124,58,237,.32);
  background:
    radial-gradient(circle at top right,rgba(250,204,21,.22),transparent 32%),
    linear-gradient(180deg,#fff,#f5f3ff);
  box-shadow:0 30px 70px rgba(91,33,182,.16);
  transform:translateY(-.45rem);
}
.mock-price-badge{
  position:absolute;
  top:1rem;
  right:1rem;
  border-radius:999px;
  background:#7c3aed;
  color:#fff;
  padding:.45rem .7rem;
  font-size:.78rem;
  font-weight:1000;
}
.mock-price-top{
  display:flex;
  align-items:flex-start;
  gap:.9rem;
  padding-right:4.5rem;
}
.mock-price-icon{
  display:grid;
  place-items:center;
  width:3.15rem;
  height:3.15rem;
  flex:0 0 auto;
  border-radius:1.15rem;
  background:#eef2ff;
  font-size:1.65rem;
}
.mock-price-top h3{
  margin:0;
  color:#07111f;
  font-size:1.45rem;
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:1000;
}
.mock-price-top p{
  margin:.35rem 0 0;
  color:#64748b;
  font-size:.95rem;
  line-height:1.35;
  font-weight:800;
}
.mock-price-amount{
  display:flex;
  align-items:flex-end;
  gap:.45rem;
  color:#0f172a;
}
.mock-price-amount strong{
  font-size:3.1rem;
  line-height:.9;
  letter-spacing:-.07em;
  font-weight:1000;
}
.mock-price-amount span{
  color:#64748b;
  font-weight:900;
  padding-bottom:.28rem;
}
.mock-price-yearly{
  margin-top:-.4rem;
  border-radius:1rem;
  background:#f8fafc;
  color:#475569;
  padding:.7rem .85rem;
  font-weight:900;
}
.mock-price-yearly b{
  color:#6d28d9;
}
.mock-price-card ul{
  display:grid;
  gap:.65rem;
  margin:.15rem 0 0;
  padding:0;
  list-style:none;
  color:#334155;
  font-weight:850;
}
.mock-price-card li{
  display:flex;
  gap:.55rem;
  align-items:flex-start;
}
.mock-price-card li:before{
  content:"✓";
  display:grid;
  place-items:center;
  width:1.25rem;
  height:1.25rem;
  flex:0 0 auto;
  border-radius:999px;
  background:#dcfce7;
  color:#15803d;
  font-size:.78rem;
  font-weight:1000;
  margin-top:.05rem;
}
.mock-price-btn{
  margin-top:auto;
  justify-content:center;
  text-align:center;
}
.mock-pricing-note{
  max-width:78rem;
  margin:1.25rem auto 0;
  text-align:center;
  color:#64748b;
  font-size:.98rem;
  font-weight:900;
}
@media(max-width:980px){
  .mock-pricing-grid{
    grid-template-columns:1fr;
    max-width:34rem;
  }
  .mock-price-featured{
    transform:none;
  }
}
@media(max-width:640px){
  .mock-pricing{
    padding:3.75rem 1rem;
  }
  .mock-price-card{
    border-radius:1.55rem;
    padding:1rem;
  }
  .mock-price-top{
    padding-right:0;
  }
  .mock-price-badge{
    position:static;
    width:max-content;
  }
}


/* v1.5.3: Dashboard logo removed */
.tablet-bottom-header {
  grid-template-columns: minmax(0, 1fr) auto !important;
}
.tablet-bottom-header .tablet-nav {
  justify-content: flex-start !important;
}
@media (max-width:767px){
  .tablet-bottom-header.tablet-topbar,
  body.enest-kiosk-layout .tablet-bottom-header.tablet-topbar{
    grid-template-columns: minmax(0,1fr) auto !important;
  }
  .tablet-bottom-header .tablet-actions,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions{
    grid-column: 2 !important;
  }
}


/* v1.5.4: Text-only eNest logo */
.enest-wordmark{
  display:inline-flex;
  align-items:center;
  gap:0;
  text-decoration:none;
  line-height:1;
  letter-spacing:-.055em;
  font-weight:1000;
}
.enest-wordmark-e{
  color:#8b5cf6;
}
.enest-wordmark-nest{
  color:#020617;
}
.enest-page-logo .enest-wordmark{
  font-size:clamp(3.6rem, 7vw, 5.3rem);
}
.mock-brand .enest-wordmark{
  font-size:clamp(2.25rem, 4.3vw, 3.6rem);
}
.mock-footer .enest-wordmark{
  font-size:clamp(2rem, 3.2vw, 2.9rem);
}
.enest-page-logo,
.mock-brand{
  text-decoration:none;
}
.mock-brand{
  display:inline-flex;
  align-items:center;
}
@media (max-width:720px){
  .enest-page-logo .enest-wordmark{
    font-size:clamp(3rem, 12vw, 4.25rem);
  }
  .mock-brand .enest-wordmark{
    font-size:clamp(1.95rem, 8.2vw, 2.7rem);
  }
  .mock-footer .enest-wordmark{
    font-size:2.2rem;
  }
}

.mock-footer > div .enest-wordmark{display:inline-flex;margin-bottom:.75rem}


/* v1.5.5: AI Brain confirm-to-add action cards */
.enest-ai-action-card{
  justify-self:stretch;
  border:1px solid rgba(124,58,237,.18);
  border-radius:1.25rem;
  background:linear-gradient(180deg,#fff,#f8f7ff);
  padding:1rem;
  box-shadow:0 18px 36px rgba(15,23,42,.08);
}
.enest-ai-action-kicker{
  width:max-content;
  border-radius:999px;
  background:rgba(124,58,237,.12);
  color:#6d28d9;
  padding:.35rem .6rem;
  font-size:.74rem;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.enest-ai-action-card h3{
  margin:.7rem 0 .25rem;
  color:#020617;
  font-size:1.25rem;
  font-weight:1000;
  letter-spacing:-.03em;
}
.enest-ai-action-card p{
  margin:0;
  color:#0f172a;
  font-weight:900;
  line-height:1.32;
}
.enest-ai-action-card small{
  display:block;
  margin-top:.35rem;
  color:#64748b;
  font-weight:850;
}
.enest-ai-action-buttons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.65rem;
  margin-top:.9rem;
}
.enest-ai-action-buttons button{
  min-height:2.8rem;
  border:0;
  border-radius:1rem;
  font-weight:1000;
}
.enest-ai-action-confirm{
  background:#7c3aed;
  color:#fff;
  box-shadow:0 12px 24px rgba(124,58,237,.18);
}
.enest-ai-action-confirm:disabled{
  opacity:.6;
}
.enest-ai-action-cancel{
  background:#eef2ff;
  color:#475569;
}
@media(max-width:640px){
  .enest-ai-action-buttons{
    grid-template-columns:1fr;
  }
}


/* v1.5.6: Fix Notes and Birthdays swipe-delete desktop layout */
#notesSection #noteZone{
  overflow:hidden;
}
#notesSection .note-swipe-row,
#birthdaysSection .birthday-swipe-row{
  position:relative;
  isolation:isolate;
  background:#ef4444;
}
#notesSection .note-delete-reveal,
#birthdaysSection .birthday-delete-reveal{
  z-index:0!important;
  right:0!important;
  width:7rem!important;
}
#notesSection .note-swipe-card{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:7.5rem!important;
  padding:1.2rem 1.4rem!important;
  border-radius:1.65rem!important;
  box-shadow:0 14px 28px rgba(15,23,42,.08)!important;
  transform:translateX(0);
}
#notesSection .note-swipe-card.sticky{
  width:100%!important;
  min-height:7.5rem!important;
  transform:translateX(0);
}
#notesSection .note-swipe-card.sticky:nth-child(even){
  transform:translateX(0);
}
#birthdaysSection .birthday-swipe-card{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  min-height:5.35rem;
  box-shadow:0 10px 22px rgba(15,23,42,.06);
  transform:translateX(0);
}
#notesSection .note-swipe-card[data-open="1"],
#birthdaysSection .birthday-swipe-card[data-open="1"]{
  transform:translateX(-112px)!important;
}
@media (min-width:768px){
  #birthdaysSection #birthdayList{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:700px){
  #notesSection .note-swipe-card,
  #notesSection .note-swipe-card.sticky{
    min-height:6.5rem!important;
  }
  #birthdaysSection #birthdayList{
    grid-template-columns:1fr!important;
  }
}


/* v1.5.7: Week Calendar moved to bottom of right column above Home Links */
.dashboard-widget-column-right #calendarSection{
  width:100%;
}

/* v1.5.8: Landing mobile header logo + buttons top row */
@media (max-width: 720px) {
  body.enest-mock-landing .mock-nav {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    grid-template-areas:
      "brand actions"
      "nav nav" !important;
    align-items: center !important;
    gap: 14px 12px !important;
    width: calc(100% - 24px) !important;
    padding: 14px !important;
    border-radius: 22px !important;
  }

  body.enest-mock-landing .mock-brand {
    grid-area: brand !important;
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    min-width: 0 !important;
  }

  body.enest-mock-landing .mock-brand .enest-wordmark {
    font-size: 2.55rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  body.enest-mock-landing .mock-nav-actions {
    grid-area: actions !important;
    justify-self: end !important;
    width: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  body.enest-mock-landing .mock-nav-actions .mock-login,
  body.enest-mock-landing .mock-nav-actions .mock-btn-small {
    min-height: 40px !important;
    padding: 0 12px !important;
    border-radius: 14px !important;
    font-size: .84rem !important;
    white-space: nowrap !important;
  }

  body.enest-mock-landing .mock-nav nav {
    grid-area: nav !important;
    order: initial !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    font-size: .9rem !important;
  }
}

@media (max-width: 390px) {
  body.enest-mock-landing .mock-brand .enest-wordmark {
    font-size: 2.2rem !important;
  }

  body.enest-mock-landing .mock-nav-actions {
    gap: 7px !important;
  }

  body.enest-mock-landing .mock-nav-actions .mock-login,
  body.enest-mock-landing .mock-nav-actions .mock-btn-small {
    min-height: 36px !important;
    padding: 0 9px !important;
    border-radius: 12px !important;
    font-size: .78rem !important;
  }

  body.enest-mock-landing .mock-nav nav {
    font-size: .8rem !important;
    gap: 6px !important;
  }
}


/* v1.5.1: AI Brain spoken replies */
.enest-ai-brain-actions{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.enest-ai-brain-actions #aiBrainSpeakButton{
  background:linear-gradient(135deg,#64748b,#0ea5e9);
}
.enest-ai-brain-actions #aiBrainSpeakButton.is-active{
  background:linear-gradient(135deg,#16a34a,#06b6d4);
}
.enest-ai-play-reply{
  display:block;
  margin-top:.65rem;
  border:0;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  padding:.45rem .7rem;
  font-size:.78rem;
  font-weight:950;
  cursor:pointer;
}
.enest-ai-play-reply:disabled{
  cursor:wait;
  opacity:.72;
}
@media (max-width:700px){
  .enest-ai-brain-actions{
    grid-template-columns:1fr;
  }
}

/* Family Wheel widget */
.enest-family-wheel-widget{position:relative;overflow:hidden;background:radial-gradient(circle at 12% 8%,rgba(124,58,237,.12),transparent 12rem),radial-gradient(circle at 86% 18%,rgba(14,165,233,.13),transparent 12rem),#fff!important}
.enest-wheel-card{display:grid;grid-template-columns:minmax(15rem,18rem) minmax(0,1fr);gap:1.1rem;align-items:center}
.enest-wheel-wrap{position:relative;width:min(18rem,100%);aspect-ratio:1;margin-inline:auto;display:grid;place-items:center}
.enest-family-wheel{position:absolute;inset:0;border-radius:999px;border:.7rem solid #fff;box-shadow:0 22px 48px rgba(15,23,42,.16),inset 0 0 0 1px rgba(15,23,42,.08);overflow:hidden;transition:transform 3.1s cubic-bezier(.12,.72,.12,1);will-change:transform}
.enest-family-wheel:after{content:"";position:absolute;inset:1.25rem;border-radius:999px;border:1px solid rgba(255,255,255,.65);box-shadow:inset 0 0 42px rgba(255,255,255,.48);pointer-events:none}
.enest-wheel-label{position:absolute;inset:0;display:grid;place-items:start center;pointer-events:none}
.enest-wheel-label span{margin-top:.9rem;width:5.4rem;display:grid;justify-items:center;gap:.08rem;transform:rotate(var(--label-rotate));text-align:center;font-weight:1000;text-shadow:0 1px 0 rgba(255,255,255,.65)}
.enest-wheel-label b{display:grid;place-items:center;width:2.05rem;height:2.05rem;border-radius:999px;background:rgba(255,255,255,.78);font-size:1.28rem;box-shadow:0 7px 14px rgba(15,23,42,.08)}
.enest-wheel-label em{max-width:5.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-size:.82rem;line-height:1.05;color:#0f172a}
.enest-wheel-pointer{position:absolute;top:-.45rem;left:50%;z-index:4;transform:translateX(-50%);display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:999px;background:#7c3aed;color:#fff;font-size:1.25rem;line-height:1;box-shadow:0 12px 24px rgba(124,58,237,.34)}
.enest-wheel-spin-center{position:relative;z-index:3;width:5.25rem;height:5.25rem;border:0;border-radius:999px;background:linear-gradient(135deg,#7c3aed,#06b6d4);color:#fff;font-size:1.05rem;font-weight:1000;box-shadow:0 18px 32px rgba(79,70,229,.3),inset 0 0 0 .35rem rgba(255,255,255,.24)}
.enest-wheel-spin-center:disabled{opacity:.55;filter:grayscale(.35)}
.enest-wheel-empty{position:absolute;inset:0;display:grid;place-items:center;border-radius:999px;text-align:center;padding:2rem;color:#64748b;font-weight:1000;background:linear-gradient(135deg,#f8fafc,#ede9fe)}
.enest-wheel-controls{display:grid;gap:.75rem;align-content:center}
.enest-wheel-prompt{min-height:3.25rem;width:100%;border:1px solid rgb(226 232 240);border-radius:1rem;background:#f8fafc;padding:0 1rem;color:#0f172a;font-weight:900;outline:none}
.enest-wheel-prompt:focus{border-color:rgba(124,58,237,.55);box-shadow:0 0 0 4px rgba(124,58,237,.11)}
.enest-wheel-toggle{display:flex;align-items:center;gap:.6rem;min-height:2.9rem;border:1px solid rgb(226 232 240);border-radius:1rem;background:#fff;padding:.55rem .85rem;color:#334155;font-size:.92rem;font-weight:900}
.enest-wheel-toggle input{width:1.25rem;height:1.25rem;accent-color:#7c3aed}
.enest-wheel-reset{min-height:3rem;border:0;border-radius:1rem;background:#ede9fe;color:#6d28d9;font-weight:1000}
.enest-wheel-result{margin-top:1rem;min-height:4.2rem;display:grid;place-items:center;border-radius:1.25rem;background:linear-gradient(135deg,#f5f3ff,#ecfeff);color:#334155;text-align:center;font-weight:1000;padding:.9rem 1rem}
.enest-wheel-result small{display:block;margin-bottom:.15rem;color:#64748b;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;font-weight:1000}.enest-wheel-result strong{display:block;color:#4c1d95;font-size:1.55rem;line-height:1.15}.enest-wheel-thinking{color:#6d28d9}
.enest-wheel-history{margin-top:.8rem}.enest-wheel-history-title{margin-bottom:.45rem;color:#64748b;font-size:.76rem;font-weight:1000;text-transform:uppercase;letter-spacing:.07em}.enest-wheel-history-pills{display:flex;flex-wrap:wrap;gap:.45rem}.enest-wheel-history-pills span{display:inline-flex;align-items:center;min-height:2rem;border-radius:999px;background:#fff;border:1px solid rgb(226 232 240);padding:.25rem .7rem;color:#334155;font-size:.82rem;font-weight:950;box-shadow:0 8px 18px rgba(15,23,42,.06)}
@media(max-width:900px){.enest-wheel-card{grid-template-columns:1fr}.enest-wheel-wrap{width:min(17rem,100%)}}
@media(max-width:560px){.enest-wheel-wrap{width:min(15.5rem,100%)}.enest-wheel-label span{width:4.8rem}.enest-wheel-label em{font-size:.72rem}.enest-wheel-spin-center{width:4.7rem;height:4.7rem}}

/* v1.5.10: Parent Settings footer button alignment */
.enest-settings-footer {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-wrap: nowrap;
}
.enest-settings-footer-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: .75rem;
  flex-wrap: nowrap;
}
.enest-settings-footer-actions > button,
.enest-settings-footer > .enest-settings-logout-btn {
  white-space: nowrap;
  flex: 0 0 auto;
}
@media (max-width: 560px) {
  .enest-settings-footer {
    gap: .65rem;
  }

  .enest-settings-footer > .enest-settings-logout-btn {
    padding-left: 1.05rem !important;
    padding-right: 1.05rem !important;
  }

  .enest-settings-footer-actions {
    gap: .65rem;
  }

  .enest-settings-footer-actions > button:first-child {
    min-width: 7.25rem;
  }

  .enest-settings-footer-actions > button:last-child {
    min-width: 11.5rem;
  }
}

/* v1.5.1: Account logout button inside dashboard Parent Settings modal */
.enest-settings-logout-btn {
  box-shadow: 0 10px 22px rgba(225, 29, 72, .10);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.enest-settings-logout-btn:hover,
.enest-settings-logout-btn:focus-visible {
  background: #ffe4e6 !important;
  box-shadow: 0 14px 28px rgba(225, 29, 72, .16);
  transform: translateY(-1px);
}

/* v1.5.9: Mobile greeting wrap + Pick Someone placement */
@media (max-width: 767px) {
  body.enest-kiosk-layout .enest-greeting-block {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.enest-kiosk-layout #dashboardGreetingTitle {
    max-width: 100% !important;
    font-size: clamp(1.25rem, 5.4vw, 1.78rem) !important;
    line-height: 1.08 !important;
    letter-spacing: -.045em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body.enest-kiosk-layout #dashboardGreetingSubtitle {
    max-width: 100% !important;
    font-size: .92rem !important;
    line-height: 1.25 !important;
  }

  #announcementsSection { order: 1 !important; }
  #todaySection { order: 2 !important; }
  #aiBrainSection { order: 3 !important; }
  #familyWheelSection { order: 4 !important; }
  #leaderboardSection { order: 5 !important; }
  #notesSection { order: 6 !important; }
  #calendarSection { order: 7 !important; }
  #choresSection { order: 8 !important; }
  #routinesSection { order: 9 !important; }
  #schoolSection { order: 10 !important; }
  #homeLinksSection { order: 11 !important; }
  #tasksSection { order: 12 !important; }
  #mealsSection { order: 13 !important; }
  #groceriesSection { order: 14 !important; }
  #allowanceSection { order: 15 !important; }
  #moodsSection { order: 16 !important; }
  #birthdaysSection { order: 17 !important; }
}

/* v1.5.2: Calendar-style Add buttons match weekly Add event sizing. */
.enest-widget-add-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 3.65rem !important;
  margin-top: 1rem !important;
  border: 1px dashed #cbd5e1 !important;
  border-radius: 1rem !important;
  background: rgb(248 250 252) !important;
  color: #64748b !important;
  font-size: clamp(.95rem, 3.4vw, 1.15rem) !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
  text-align: center !important;
  box-shadow: none !important;
}
.enest-widget-add-button:active,
.enest-widget-add-button:focus-visible {
  border-color: rgba(124, 58, 237, .55) !important;
  background: #f5f3ff !important;
  color: #6d28d9 !important;
  outline: none !important;
}
@media (max-width: 767px) {
  .enest-widget-add-button {
    min-height: 3.65rem !important;
    font-size: clamp(1rem, 3.6vw, 1.2rem) !important;
  }
}


/* v1.4.9 — tablet family modal scroll + compact bottom nav */
#familyModal {
  overflow: hidden !important;
}
#familyModal .enest-family-modal-panel {
  max-height: calc(100dvh - 2rem) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
#familyModal .enest-family-modal-list {
  min-height: 0 !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
  padding-right: .25rem !important;
}

@media (min-width: 768px) and (max-width: 1400px) {
  .tablet-bottom-header,
  body.enest-kiosk-layout .tablet-bottom-header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: .45rem !important;
    padding: .5rem calc(.65rem + env(safe-area-inset-right, 0px)) calc(.5rem + env(safe-area-inset-bottom, 0px)) calc(.65rem + env(safe-area-inset-left, 0px)) !important;
  }

  .tablet-bottom-header .tablet-nav,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-nav {
    width: 100% !important;
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(11, minmax(0, 1fr)) !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: .28rem !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .tablet-bottom-header .tablet-nav-item,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-nav-item {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 2.55rem !important;
    padding: .3rem .2rem !important;
    border-radius: .85rem !important;
    flex: none !important;
    flex-direction: column !important;
    gap: .1rem !important;
    font-size: .92rem !important;
    line-height: 1 !important;
  }

  .tablet-bottom-header .tablet-nav-item span,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-nav-item span {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: .62rem !important;
    line-height: 1 !important;
    letter-spacing: -.01em !important;
  }

  .tablet-bottom-header .tablet-actions,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    gap: .3rem !important;
  }

  .tablet-bottom-header .tablet-add-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-add-btn {
    min-height: 2.65rem !important;
    padding: .45rem .7rem !important;
    border-radius: .9rem !important;
    font-size: .9rem !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 768px) and (max-width: 1050px) {
  .tablet-bottom-header .tablet-nav-item span,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-nav-item span {
    font-size: .56rem !important;
  }
  .tablet-bottom-header .tablet-add-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-add-btn {
    padding-left: .55rem !important;
    padding-right: .55rem !important;
  }
}


/* v1.5.11: Compact mobile/tablet bottom nav with Menu, Family, Settings, Add */
@media (max-width: 1400px) {
  .tablet-bottom-header,
  body.enest-kiosk-layout .tablet-bottom-header {
    grid-template-columns: 1fr !important;
    gap: .5rem !important;
  }

  .tablet-bottom-header .tablet-nav,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-nav {
    display: none !important;
  }

  .tablet-bottom-header .tablet-actions,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions,
  .tablet-bottom-header .tablet-actions--compact-nav,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions--compact-nav {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .55rem !important;
    flex-wrap: nowrap !important;
  }

  .tablet-utility-btn,
  body.enest-kiosk-layout .tablet-utility-btn {
    min-height: 3rem;
    border: 0;
    border-radius: 1.05rem;
    padding: .65rem .9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    color: #fff;
    font-weight: 950;
    white-space: nowrap;
    flex: 0 0 auto;
    box-shadow: 0 12px 24px rgba(15,23,42,.16);
  }

  .tablet-utility-btn strong,
  body.enest-kiosk-layout .tablet-utility-btn strong {
    font-size: 1.15rem;
    line-height: 1;
    font-weight: 950;
  }

  .tablet-utility-btn span,
  body.enest-kiosk-layout .tablet-utility-btn span {
    display: inline-block;
    line-height: 1;
  }

  .tablet-menu-btn,
  body.enest-kiosk-layout .tablet-menu-btn {
    background: linear-gradient(135deg,#06b6d4 0%,#6d4df2 100%);
  }

  .tablet-family-btn,
  body.enest-kiosk-layout .tablet-family-btn {
    background: rgba(15, 23, 42, .84);
  }

  .tablet-settings-btn,
  body.enest-kiosk-layout .tablet-settings-btn {
    background: rgba(51, 65, 85, .94);
  }

  .tablet-bottom-header .tablet-add-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-add-btn {
    order: 4;
    min-height: 3rem !important;
    padding: .7rem 1.05rem !important;
    white-space: nowrap !important;
    flex: 0 0 auto !important;
  }
}

@media (max-width: 767px) {
  .tablet-bottom-header.tablet-topbar,
  body.enest-kiosk-layout .tablet-bottom-header.tablet-topbar {
    grid-template-columns: 1fr !important;
    padding-left: calc(.7rem + env(safe-area-inset-left, 0px)) !important;
    padding-right: calc(.7rem + env(safe-area-inset-right, 0px)) !important;
  }

  .tablet-bottom-header .tablet-actions,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions,
  .tablet-bottom-header .tablet-actions--compact-nav,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions--compact-nav {
    gap: .45rem !important;
  }

  .tablet-utility-btn,
  body.enest-kiosk-layout .tablet-utility-btn {
    min-width: 3.15rem;
    padding: .7rem !important;
    border-radius: .95rem !important;
  }

  .tablet-utility-btn span,
  body.enest-kiosk-layout .tablet-utility-btn span {
    display: none !important;
  }

  .tablet-bottom-header .tablet-add-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-add-btn {
    min-width: 6.5rem !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}


/* v1.5.12: Tablet bottom nav logo left + compact buttons right */
.enest-nav-logo-mark {
  display: none;
}

@media (min-width: 768px) and (max-width: 1400px) {
  .tablet-bottom-header,
  body.enest-kiosk-layout .tablet-bottom-header {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    align-items: center !important;
  }

  .tablet-bottom-header .enest-nav-logo-mark,
  body.enest-kiosk-layout .tablet-bottom-header .enest-nav-logo-mark {
    grid-column: 1 !important;
    display: inline-flex !important;
    align-items: baseline !important;
    justify-self: start !important;
    text-decoration: none !important;
    line-height: 1 !important;
    font-size: clamp(1.9rem, 3.2vw, 2.75rem) !important;
    font-weight: 1000 !important;
    letter-spacing: -.07em !important;
    padding: .15rem .25rem !important;
    white-space: nowrap !important;
  }

  .tablet-bottom-header .enest-nav-logo-e,
  body.enest-kiosk-layout .tablet-bottom-header .enest-nav-logo-e {
    color: #a78bfa !important;
  }

  .tablet-bottom-header .enest-nav-logo-nest,
  body.enest-kiosk-layout .tablet-bottom-header .enest-nav-logo-nest {
    color: #fff !important;
  }

  .tablet-bottom-header .tablet-actions,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions,
  .tablet-bottom-header .tablet-actions--compact-nav,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions--compact-nav {
    grid-column: 3 !important;
    justify-self: end !important;
    width: auto !important;
    margin-left: auto !important;
  }
}

@media (max-width: 767px) {
  .tablet-bottom-header .enest-nav-logo-mark,
  body.enest-kiosk-layout .tablet-bottom-header .enest-nav-logo-mark {
    display: none !important;
  }

  .tablet-bottom-header .tablet-actions,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions,
  .tablet-bottom-header .tablet-actions--compact-nav,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions--compact-nav {
    justify-self: end !important;
    margin-left: auto !important;
    width: auto !important;
  }
}


/* v1.5.13: Unified purple nav buttons + mobile logo */
@media (max-width: 1400px) {
  .tablet-bottom-header .tablet-utility-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-utility-btn,
  .tablet-bottom-header .tablet-add-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-add-btn {
    background: #7c3aed !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 14px 28px rgba(124,58,237,.28) !important;
  }

  .tablet-bottom-header .tablet-utility-btn:hover,
  .tablet-bottom-header .tablet-utility-btn:focus-visible,
  .tablet-bottom-header .tablet-add-btn:hover,
  .tablet-bottom-header .tablet-add-btn:focus-visible,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-utility-btn:hover,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-utility-btn:focus-visible,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-add-btn:hover,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-add-btn:focus-visible {
    background: #8b5cf6 !important;
    transform: translateY(-1px);
  }
}

@media (max-width: 767px) {
  .tablet-bottom-header.tablet-topbar,
  body.enest-kiosk-layout .tablet-bottom-header.tablet-topbar {
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .45rem !important;
  }

  .tablet-bottom-header .enest-nav-logo-mark,
  body.enest-kiosk-layout .tablet-bottom-header .enest-nav-logo-mark {
    grid-column: 1 !important;
    display: inline-flex !important;
    align-items: baseline !important;
    justify-self: start !important;
    text-decoration: none !important;
    line-height: 1 !important;
    font-size: clamp(1.55rem, 7vw, 2rem) !important;
    font-weight: 1000 !important;
    letter-spacing: -.07em !important;
    padding: .1rem .05rem !important;
    white-space: nowrap !important;
  }

  .tablet-bottom-header .enest-nav-logo-e,
  body.enest-kiosk-layout .tablet-bottom-header .enest-nav-logo-e {
    color: #a78bfa !important;
  }

  .tablet-bottom-header .enest-nav-logo-nest,
  body.enest-kiosk-layout .tablet-bottom-header .enest-nav-logo-nest {
    color: #fff !important;
  }

  .tablet-bottom-header .tablet-actions,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions,
  .tablet-bottom-header .tablet-actions--compact-nav,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions--compact-nav {
    grid-column: 2 !important;
    justify-self: end !important;
    width: auto !important;
    min-width: 0 !important;
    gap: .36rem !important;
    margin-left: 0 !important;
  }

  .tablet-bottom-header .tablet-utility-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-utility-btn {
    width: 2.82rem !important;
    min-width: 2.82rem !important;
    min-height: 2.82rem !important;
    padding: .58rem !important;
    border-radius: .9rem !important;
  }

  .tablet-bottom-header .tablet-utility-btn strong,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-utility-btn strong {
    font-size: 1.08rem !important;
  }

  .tablet-bottom-header .tablet-add-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-add-btn {
    min-width: 4.95rem !important;
    min-height: 2.82rem !important;
    padding: .58rem .78rem !important;
    border-radius: .9rem !important;
    font-size: .98rem !important;
  }
}

@media (max-width: 380px) {
  .tablet-bottom-header .enest-nav-logo-mark,
  body.enest-kiosk-layout .tablet-bottom-header .enest-nav-logo-mark {
    font-size: 1.42rem !important;
  }

  .tablet-bottom-header .tablet-actions,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions,
  .tablet-bottom-header .tablet-actions--compact-nav,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-actions--compact-nav {
    gap: .28rem !important;
  }

  .tablet-bottom-header .tablet-utility-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-utility-btn {
    width: 2.62rem !important;
    min-width: 2.62rem !important;
    min-height: 2.62rem !important;
  }

  .tablet-bottom-header .tablet-add-btn,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-add-btn {
    min-width: 4.55rem !important;
    min-height: 2.62rem !important;
    font-size: .9rem !important;
  }
}


/* v1.5.14: crisp white SVG nav icons */
.tablet-bottom-header .tablet-utility-btn strong,
body.enest-kiosk-layout .tablet-bottom-header .tablet-utility-btn strong {
  display: inline-grid !important;
  place-items: center !important;
  width: 1.35rem !important;
  height: 1.35rem !important;
  flex: 0 0 auto !important;
}

.tablet-bottom-header .enest-nav-svg,
body.enest-kiosk-layout .tablet-bottom-header .enest-nav-svg {
  display: block !important;
  width: 1.35rem !important;
  height: 1.35rem !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2.35 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  color: #fff !important;
}

.tablet-bottom-header .tablet-settings-btn .enest-nav-svg,
body.enest-kiosk-layout .tablet-bottom-header .tablet-settings-btn .enest-nav-svg {
  width: 1.42rem !important;
  height: 1.42rem !important;
}

@media (max-width: 767px) {
  .tablet-bottom-header .tablet-utility-btn strong,
  body.enest-kiosk-layout .tablet-bottom-header .tablet-utility-btn strong {
    width: 1.2rem !important;
    height: 1.2rem !important;
  }

  .tablet-bottom-header .enest-nav-svg,
  body.enest-kiosk-layout .tablet-bottom-header .enest-nav-svg {
    width: 1.2rem !important;
    height: 1.2rem !important;
  }
}

/* Match dashboard subtitle and Today date to primary purple buttons */
.dashboard-greeting-subtitle,
.enest-today-date-label{
  color:#7c3aed!important;
}

/* v1.5.5: CTA logo icon uses the same logo e in white */
.enest-cta-logo-icon{
  position:relative;
  display:grid;
  place-items:center;
  width:112px;
  height:112px;
  border-radius:32px;
  margin:0;
  isolation:isolate;
  background:linear-gradient(135deg,rgba(139,92,246,.95),rgba(56,189,248,.96));
  border:2px solid rgba(255,255,255,.24);
  box-shadow:0 18px 42px rgba(15,23,42,.18), inset 0 0 0 1px rgba(255,255,255,.16);
}
.enest-cta-logo-e{
  position:relative;
  z-index:2;
  color:#fff;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:4.95rem;
  line-height:.78;
  letter-spacing:-.08em;
  font-weight:1000;
  text-shadow:0 6px 14px rgba(15,23,42,.24);
}
.enest-cta-logo-icon::before{
  content:"";
  position:absolute;
  top:14px;
  right:16px;
  width:18px;
  height:18px;
  border-radius:999px;
  background:#fde047;
  box-shadow:0 4px 10px rgba(15,23,42,.16);
}
.enest-cta-logo-icon::after{
  content:"";
  position:absolute;
  left:29px;
  right:29px;
  bottom:24px;
  height:22px;
  border-bottom:4px solid rgba(255,255,255,.44);
  border-radius:0 0 999px 999px;
}
@media(max-width:720px){
  .enest-cta-logo-icon{margin:0 auto;width:104px;height:104px;border-radius:30px;}
  .enest-cta-logo-e{font-size:4.65rem;}
}

/* v1.5.2a: Keep Parent Settings footer buttons contained on narrow phones */
#enestSettingsModal,
#enestSettingsModal * {
  box-sizing: border-box;
}

@media (max-width: 560px) {
  #enestSettingsModal .enest-settings-form {
    width: 100% !important;
    max-width: calc(100vw - 1.7rem) !important;
  }

  #enestSettingsModal .enest-settings-footer {
    display: grid !important;
    grid-template-columns: minmax(0, .9fr) minmax(0, .9fr) minmax(0, 1.1fr) !important;
    align-items: stretch !important;
    gap: .5rem !important;
    width: 100% !important;
  }

  #enestSettingsModal .enest-settings-footer-actions {
    display: contents !important;
    margin-left: 0 !important;
  }

  #enestSettingsModal .enest-settings-footer > .enest-settings-logout-btn,
  #enestSettingsModal .enest-settings-footer-actions > button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    flex: 1 1 0 !important;
    padding-left: .45rem !important;
    padding-right: .45rem !important;
    font-size: .92rem !important;
    line-height: 1.05 !important;
    text-align: center !important;
  }
}

@media (max-width: 380px) {
  #enestSettingsModal .enest-settings-footer {
    gap: .4rem !important;
  }

  #enestSettingsModal .enest-settings-footer > .enest-settings-logout-btn,
  #enestSettingsModal .enest-settings-footer-actions > button {
    font-size: .84rem !important;
    border-radius: 1rem !important;
  }
}
