:root{--green:#075d4c;--green2:#0f8a6c;--blue:#315fa8;--ink:#17302a;--muted:#60756f;--line:#d8e7e1;--paper:#fff;--wash:#f3f8f6;--amber:#efad35;--purple:#7949a0;--shadow:0 18px 50px rgba(17,65,53,.12);--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 10% 0,#dff4ec,transparent 32%),linear-gradient(180deg,#f7fbf9,#edf5f2);color:var(--ink);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;min-height:100vh}a{color:inherit}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px max(24px,calc((100vw - 1220px)/2));background:rgba(255,255,255,.88);border-bottom:1px solid rgba(205,224,217,.8);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green),var(--green2));color:#fff;font-weight:900;box-shadow:0 9px 22px rgba(7,93,76,.2)}.brand b,.brand small{display:block}.brand b{font-size:15px}.brand small{margin-top:3px;color:var(--muted);font-size:10px}.desktop-nav{display:flex;align-items:center;gap:25px}.desktop-nav a{font-size:12px;font-weight:800;text-decoration:none;color:var(--muted)}.desktop-nav a:hover{color:var(--green)}.install-button{display:flex;align-items:center;gap:7px;border:0;border-radius:13px;padding:10px 13px;background:#fff0cf;color:#754500;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.install-button span{font-size:18px}.hero-section,.section{max-width:1220px;margin:0 auto;padding:82px 24px}.hero-section{min-height:690px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:70px}.eyebrow{display:block;margin-bottom:10px;color:var(--green2);font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.eyebrow.blue{color:var(--blue)}.eyebrow.purple{color:var(--purple)}h1{max-width:730px;margin:0 0 20px;font-size:clamp(39px,5vw,68px);line-height:1.02;letter-spacing:-.055em}h2{margin:0 0 11px;font-size:clamp(29px,3vw,43px);letter-spacing:-.04em}h3{margin:0 0 10px;font-size:25px;letter-spacing:-.03em}.hero-copy>p,.section-heading>p{max-width:700px;color:var(--muted);font-size:17px;line-height:1.65}.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 19px;border:0;border-radius:14px;text-decoration:none;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.button.primary{background:linear-gradient(135deg,var(--green),var(--green2));color:#fff;box-shadow:0 10px 24px rgba(7,93,76,.2)}.button.blue{background:linear-gradient(135deg,#294f91,#467fc7);color:#fff;box-shadow:0 10px 24px rgba(49,95,168,.2)}.button.soft{background:#e7f1ed;color:var(--green)}.button.full{width:100%}.trust-row{display:flex;gap:15px;flex-wrap:wrap;margin-top:25px;color:#4e6d64;font-size:10px;font-weight:800}.hero-visual{position:relative;display:grid;place-items:center;min-height:510px}.hero-visual:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:linear-gradient(145deg,#bce8d7,#c8d9f1);filter:blur(1px)}.phone{position:relative;z-index:2;width:280px;min-height:495px;padding:20px;border:9px solid #17302a;border-radius:42px;background:#f4f8f6;box-shadow:0 30px 65px rgba(16,56,47,.26);transform:rotate(3deg)}.phone-bar{width:85px;height:8px;margin:-8px auto 17px;border-radius:99px;background:#17302a}.mini-brand{display:flex;align-items:center;gap:9px;margin-bottom:24px;font-size:11px;font-weight:900}.mini-brand i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--green);color:#fff;font-style:normal}.mini-card{padding:17px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 25px rgba(17,65,53,.1)}.mini-card small,.mini-card b,.mini-card span{display:block}.mini-card small{font-size:8px;letter-spacing:.08em}.mini-card b{margin:10px 0;font-size:18px}.mini-card span{color:#e5fff5;font-size:10px}.mini-card.accent{background:linear-gradient(135deg,#075d4c,#14876b);color:#fff}.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0}.mini-grid i{height:58px;border-radius:13px;background:#fff;border:1px solid var(--line)}.mini-button{padding:12px;border-radius:12px;background:#e2f1ec;color:var(--green);font-size:10px;font-weight:900;text-align:center}.float-card{position:absolute;z-index:3;right:0;bottom:75px;display:flex;align-items:center;gap:12px;padding:15px 17px;border-radius:17px;background:#fff;box-shadow:var(--shadow)}.float-card b{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#fff1d7;color:#8b5500}.float-card span{max-width:125px;font-size:10px;font-weight:800}.section{padding-top:60px;padding-bottom:70px}.section-heading{text-align:center;margin:0 auto 34px}.section-heading>p{margin:0 auto}.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.role-card{position:relative;padding:30px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.95);box-shadow:var(--shadow);overflow:hidden}.role-card:after{content:"";position:absolute;right:-55px;top:-55px;width:170px;height:170px;border-radius:50%;background:#dff3eb}.role-card.staff:after{background:#e4ebf8}.role-icon{position:relative;z-index:2;width:58px;height:58px;border-radius:18px;display:grid;place-items:center;margin-bottom:17px;background:linear-gradient(145deg,var(--green),var(--green2));color:#fff;font-size:26px}.role-card.staff .role-icon{background:linear-gradient(145deg,#315fa8,#6d91c8)}.role-tag{display:inline-flex;margin-bottom:8px;padding:6px 9px;border-radius:99px;background:#e4f4ee;color:var(--green);font-size:9px;font-weight:900;text-transform:uppercase}.role-card.staff .role-tag{background:#eaf0fb;color:var(--blue)}.role-card>p{color:var(--muted);line-height:1.55}.role-card ul{padding-left:19px;color:#476159;font-size:12px;line-height:1.8}.card-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:24px}.text-link{color:var(--green);font-size:11px;font-weight:900;text-decoration:none}.blue-text{color:var(--blue)}.guide-section{padding-bottom:100px}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.guide-card{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:20px;padding:14px;border:1px solid var(--line);border-radius:24px;background:#fff;text-decoration:none;box-shadow:0 12px 34px rgba(17,65,53,.08);transition:.2s}.guide-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.guide-card img{width:150px;height:100px;object-fit:cover;border-radius:15px;border:1px solid var(--line)}.guide-card b,.guide-card small{display:block}.guide-card small{margin-top:7px;color:var(--muted);font-size:10px;line-height:1.45}.guide-card>i{font-style:normal;font-size:25px;color:var(--green)}footer{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:30px;padding:28px max(24px,calc((100vw - 1220px)/2));background:#173b33;color:#fff}.brand.compact .brand-mark{width:40px;height:40px;background:#ffffff19;box-shadow:none}.brand.compact small,footer p{color:#b9d4cb}.brand.compact b{color:#fff}footer p{margin:0;font-size:10px;line-height:1.55}footer>a{color:#d7eee6;font-size:10px;font-weight:900}.mobile-nav{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(9,36,29,.58);backdrop-filter:blur(8px)}.hidden{display:none!important}.modal-card{position:relative;width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:31px;border-radius:28px;background:linear-gradient(145deg,#fff,#f1f7f5);box-shadow:0 30px 90px rgba(6,32,26,.35)}.modal-close{position:absolute;right:15px;top:15px;width:38px;height:38px;border:0;border-radius:12px;background:#e7efec;color:var(--ink);font-size:25px;cursor:pointer}.modal-icon{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;margin-bottom:18px;background:linear-gradient(145deg,#efad35,#ffd479);color:#754500;font-size:28px;font-weight:900}.modal-card>p{color:var(--muted);line-height:1.55}.platform-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0;padding:5px;border-radius:14px;background:#e9f0ed}.platform-tabs button{border:0;border-radius:10px;padding:9px;background:transparent;color:var(--muted);font:inherit;font-size:10px;font-weight:900;cursor:pointer}.platform-tabs button.active{background:#fff;color:var(--green);box-shadow:0 5px 14px rgba(17,65,53,.1)}.install-steps{min-height:132px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.install-steps ol{margin:0;padding-left:20px;color:var(--muted);font-size:12px;line-height:1.75}.install-steps b{color:var(--ink)}.toast{position:fixed;z-index:120;left:50%;bottom:25px;transform:translateX(-50%);padding:13px 15px;border-radius:13px;background:#17302a;color:#fff;font-size:11px;box-shadow:var(--shadow)}.toast button{border:0;background:transparent;color:#8fe2c4;font-weight:900;cursor:pointer}
.tutorial-hero{padding:68px 24px 34px;text-align:center}.tutorial-hero p{max-width:720px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.6}.tutorial-main{max-width:1120px;margin:0 auto;padding:10px 24px 100px}.tutorial-step{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:48px;margin:50px 0;padding:29px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.tutorial-step:nth-child(even){grid-template-columns:1.15fr 1fr}.tutorial-step:nth-child(even) .step-image{order:-1}.step-number{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#e2f2ec;color:var(--green);font-weight:900}.tutorial-step h2{margin-top:14px;font-size:30px}.tutorial-step p{color:var(--muted);font-size:13px;line-height:1.65}.tutorial-step ul{padding-left:18px;color:#476159;font-size:12px;line-height:1.75}.step-image img{display:block;width:100%;border:1px solid var(--line);border-radius:20px;background:#f5f8f7;box-shadow:0 12px 30px rgba(17,65,53,.1)}.tutorial-cta{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:55px}.mode-switch{display:flex;justify-content:center;gap:7px;margin:28px auto 0;padding:5px;width:max-content;border-radius:14px;background:#e8efec}.mode-switch button{border:0;border-radius:10px;padding:10px 15px;background:transparent;color:var(--muted);font:inherit;font-size:11px;font-weight:900;cursor:pointer}.mode-switch button.active{background:#fff;color:var(--blue);box-shadow:0 5px 14px rgba(17,65,53,.1)}.mode-panel.hidden{display:none}.privacy-card{max-width:850px;margin:60px auto 100px;padding:35px;border:1px solid var(--line);border-radius:28px;background:#fff;box-shadow:var(--shadow)}.privacy-card h1{font-size:42px}.privacy-card h2{margin-top:30px;font-size:24px}.privacy-card p,.privacy-card li{color:var(--muted);font-size:13px;line-height:1.7}
@media(max-width:900px){.desktop-nav{display:none}.hero-section{grid-template-columns:1fr;gap:25px;padding-top:58px}.hero-copy{text-align:center}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions,.trust-row{justify-content:center}.hero-visual{min-height:480px}.role-grid,.guide-grid{grid-template-columns:1fr}.tutorial-step,.tutorial-step:nth-child(even){grid-template-columns:1fr;gap:22px}.tutorial-step:nth-child(even) .step-image{order:0}}
@media(max-width:640px){body{padding-bottom:72px}.site-header{padding:11px 13px}.site-header .brand small{display:none}.site-header .install-button{display:none}.brand-mark{width:40px;height:40px;border-radius:13px}.hero-section,.section{padding-left:15px;padding-right:15px}.hero-section{padding-top:45px;min-height:auto}.hero-copy{text-align:left}.hero-copy>p{font-size:14px}.hero-actions,.trust-row{justify-content:flex-start}.hero-actions .button{width:100%}.hero-visual{min-height:445px}.hero-visual:before{width:330px;height:330px}.phone{width:245px;min-height:430px}.float-card{right:2px;bottom:50px}.section{padding-top:55px;padding-bottom:55px}.section-heading{text-align:left}.section-heading>p{font-size:14px}.role-card{padding:23px;border-radius:23px}.card-actions{align-items:stretch;flex-direction:column}.card-actions .button{width:100%}.guide-card{grid-template-columns:105px 1fr auto;gap:12px}.guide-card img{width:105px;height:82px}.guide-card>i{font-size:19px}footer{grid-template-columns:1fr;text-align:center;padding:30px 20px}.brand.compact{justify-content:center}footer>a{margin-bottom:10px}.mobile-nav{position:fixed;z-index:70;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);padding:7px 5px calc(7px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:linear-gradient(100deg,#064c40,#0b6c57 58%,#315fa8);box-shadow:0 -10px 30px rgba(17,65,53,.22)}.mobile-nav a,.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;color:#d8f2e9;text-decoration:none;font:inherit;font-size:8px;font-weight:800}.mobile-nav span{font-size:17px}.modal{align-items:end;padding:10px}.modal-card{width:100%;padding:25px 20px;border-radius:25px 25px 18px 18px}.platform-tabs button{font-size:9px;padding:9px 3px}.tutorial-hero{padding:45px 15px 25px;text-align:left}.tutorial-hero p{font-size:14px}.tutorial-main{padding:5px 12px 90px}.tutorial-step{margin:22px 0;padding:18px;border-radius:22px}.tutorial-step h2{font-size:25px}.mode-switch{width:100%}.mode-switch button{flex:1;padding:9px 6px}.privacy-card{margin:25px 12px 90px;padding:23px}.privacy-card h1{font-size:34px}}
@media(display-mode:standalone){.site-header{padding-top:calc(14px + env(safe-area-inset-top))}.mobile-nav{padding-bottom:calc(7px + env(safe-area-inset-bottom))}}
.tour-open{overflow:hidden}.onboarding{position:fixed;inset:0;z-index:140;display:grid;place-items:center;padding:20px;background:rgba(5,30,25,.72);backdrop-filter:blur(12px)}.onboarding-card{display:flex;flex-direction:column;width:min(920px,100%);max-height:calc(100dvh - 40px);overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:30px;background:linear-gradient(150deg,#fff 0,#f4faf7 58%,#edf4fb 100%);box-shadow:0 34px 100px rgba(3,24,19,.42);animation:tour-in .3s ease-out}@keyframes tour-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.onboarding-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.82)}.onboarding-brand{display:flex;align-items:center;gap:11px}.onboarding-brand img{width:48px;height:48px;border-radius:14px;box-shadow:0 8px 20px rgba(7,93,76,.2)}.onboarding-brand b,.onboarding-brand small{display:block}.onboarding-brand b{font-size:14px}.onboarding-brand small{margin-top:3px;color:var(--muted);font-size:10px}.tour-skip{border:0;border-radius:11px;padding:9px 14px;background:#e7efec;color:var(--green);font:inherit;font-size:11px;font-weight:900;cursor:pointer}.tour-role{padding:36px 40px 28px;text-align:center;overflow:auto}.tour-role>p{max-width:590px;margin:0 auto 25px;color:var(--muted);font-size:14px;line-height:1.6}.tour-role h2,.tour-copy h2{font-size:clamp(27px,3vw,39px)}.tour-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;max-width:680px;margin:0 auto}.tour-role-grid button{display:grid;grid-template-columns:55px 1fr;grid-template-rows:auto auto;gap:2px 14px;align-items:center;padding:20px;border:1px solid var(--line);border-radius:20px;background:#fff;color:var(--ink);text-align:left;font:inherit;cursor:pointer;box-shadow:0 10px 28px rgba(17,65,53,.08);transition:.2s}.tour-role-grid button:hover{transform:translateY(-3px);border-color:#81b7a5;box-shadow:var(--shadow)}.tour-role-grid button>span{grid-row:1/3;width:55px;height:55px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(145deg,var(--green),var(--green2));color:#fff;font-size:24px}.tour-role-grid button:last-child>span{background:linear-gradient(145deg,#315fa8,#6d91c8)}.tour-role-grid b{font-size:15px}.tour-role-grid small{color:var(--muted);font-size:10px;line-height:1.45}.tour-slide{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(270px,.82fr);grid-template-rows:auto 1fr;gap:0 28px;min-height:0;padding:18px 25px;overflow:auto}.tour-progress{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;color:var(--muted);font-size:10px;font-weight:900}.tour-progress>div{display:flex;gap:5px}.tour-progress i{display:block;width:19px;height:5px;border-radius:99px;background:#d5e2dd}.tour-progress i.active{width:32px;background:linear-gradient(90deg,var(--green),var(--blue))}.tour-media{display:grid;place-items:center;min-height:0;padding:10px;border:1px solid var(--line);border-radius:21px;background:#fff;box-shadow:0 12px 32px rgba(17,65,53,.1)}.tour-media img{display:block;width:100%;max-height:330px;object-fit:contain;border-radius:14px}.tour-copy{align-self:center;padding:14px 4px}.tour-copy h2{margin-bottom:13px;line-height:1.08}.tour-copy p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.onboarding-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 20px;border-top:1px solid var(--line);background:rgba(255,255,255,.85)}.tour-dismiss{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:10px;line-height:1.4;cursor:pointer}.tour-dismiss input{width:17px;height:17px;margin:0;accent-color:var(--green);flex:0 0 auto}.tour-actions{display:flex;justify-content:flex-end;gap:8px}.tour-actions .button{min-width:105px;min-height:42px;padding:10px 15px}
@media(max-width:640px){.onboarding{align-items:end;padding:8px}.onboarding-card{max-height:calc(100dvh - 8px);border-radius:25px 25px 15px 15px}.onboarding-header{padding:11px 13px}.onboarding-brand img{width:42px;height:42px;border-radius:12px}.tour-role{padding:25px 15px 20px;text-align:left}.tour-role-grid{grid-template-columns:1fr}.tour-slide{display:block;padding:12px 13px;overflow:auto}.tour-progress{margin-bottom:9px}.tour-media{padding:7px;border-radius:17px}.tour-media img{max-height:230px}.tour-copy{padding:15px 2px 4px}.tour-copy h2{font-size:25px}.tour-copy p{font-size:12px}.onboarding-footer{align-items:stretch;flex-direction:column;padding:11px 13px calc(11px + env(safe-area-inset-bottom))}.tour-actions{display:grid;grid-template-columns:1fr 1fr}.tour-actions .button{width:100%;min-width:0}}
.role-session-bar{position:sticky;top:75px;z-index:45;display:flex;align-items:center;justify-content:center;gap:14px;padding:8px 16px;background:linear-gradient(90deg,#fff4d8,#eef7ff);border-bottom:1px solid #e6d8b4;color:#5d531f;font-size:10px}.role-session-bar button{border:0;border-radius:9px;padding:7px 10px;background:#fff;color:var(--blue);font:inherit;font-size:9px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(49,95,168,.12)}body[data-app-role="family"] .role-card.staff,body[data-app-role="family"] .guide-card[data-start-tour="staff"],body[data-app-role="staff"] .role-card.family,body[data-app-role="staff"] .guide-card[data-start-tour="family"]{display:none}body[data-app-role] .role-grid,body[data-app-role] .guide-grid{grid-template-columns:minmax(0,760px);justify-content:center}.onboarding{background:#edf6f2;backdrop-filter:none}.onboarding-card{isolation:isolate;background:#fff;border-color:#d6e6df}.tour-slide{background:linear-gradient(145deg,#f8fcfa,#f2f7fb)}button.tour-media{position:relative;width:100%;appearance:none;color:inherit;font:inherit;cursor:zoom-in;opacity:1}.tour-media img{opacity:1;filter:none}.tour-media>span{position:absolute;right:17px;bottom:17px;padding:7px 10px;border-radius:10px;background:rgba(23,48,42,.88);color:#fff;font-size:9px;font-weight:900;box-shadow:0 6px 18px rgba(0,0,0,.15)}.onboarding.tour-image-full .tour-media{position:fixed;inset:14px;z-index:12;width:auto;border-radius:24px;cursor:zoom-out;background:#fff}.onboarding.tour-image-full .tour-media img{width:100%;height:100%;max-height:none;object-fit:contain}.onboarding.tour-image-full .tour-media>span{right:20px;bottom:20px}.update-overlay{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:18px;background:rgba(5,30,25,.78);backdrop-filter:blur(10px)}.update-card{width:min(520px,100%);padding:30px;border-radius:27px;background:linear-gradient(145deg,#fff,#f2f8f5);box-shadow:0 30px 90px rgba(3,24,19,.45)}.update-icon{width:60px;height:60px;display:grid;place-items:center;margin-bottom:18px;border-radius:19px;background:linear-gradient(145deg,var(--green),var(--blue));color:#fff;font-size:30px;font-weight:900}.update-card h2{font-size:30px}.update-card>p{color:var(--muted);font-size:13px;line-height:1.55}.update-progress{height:13px;margin:22px 0 9px;overflow:hidden;border-radius:99px;background:#dfeae6;box-shadow:inset 0 1px 3px rgba(17,65,53,.12)}.update-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),var(--green2),var(--blue));transition:width .28s ease}.update-progress-label{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px}.update-progress-label b{color:var(--green);font-size:12px}.update-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px}.update-actions .button:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:640px){.role-session-bar{top:62px}.onboarding{padding:0;background:#f4faf7}.onboarding-card{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.tour-slide{display:flex;flex:1;flex-direction:column;min-height:0;padding:11px 12px;overflow-y:auto}.tour-progress{flex:0 0 auto}.tour-media{flex:0 0 auto;min-height:190px;max-height:38dvh;background:#fff}.tour-media img{height:auto;max-height:34dvh;object-fit:contain}.tour-copy{flex:0 0 auto}.onboarding-footer{flex:0 0 auto}.onboarding.tour-image-full .tour-media{inset:8px;border-radius:18px;max-height:none}.update-overlay{align-items:end;padding:8px}.update-card{padding:25px 20px calc(20px + env(safe-area-inset-bottom));border-radius:25px 25px 15px 15px}.update-actions{display:grid;grid-template-columns:1fr 1fr}.update-actions .button{width:100%}}
body[data-app-role] .hero-section,body[data-app-role] .guide-section{display:none}body[data-app-role] main{min-height:calc(100vh - 235px);display:grid;align-items:center}body[data-app-role] #accessi{width:100%;padding-top:64px;padding-bottom:76px}body[data-app-role] #accessi .section-heading{margin-bottom:24px}body[data-app-role] #accessi .role-card{border-width:2px}body[data-app-role] .desktop-nav{display:none}
@media(max-width:640px){body[data-app-role] main{min-height:calc(100vh - 245px)}body[data-app-role] #accessi{padding-top:38px;padding-bottom:45px}body[data-app-role] .mobile-nav a[href="/"],body[data-app-role] .mobile-nav a[href="#guide"]{display:none}body[data-app-role] .mobile-nav{grid-template-columns:repeat(2,1fr)}}
.header-actions{display:flex;align-items:center;gap:8px}.update-check-button{display:flex;align-items:center;gap:6px;border:0;border-radius:13px;padding:10px 12px;background:#e9f0fb;color:var(--blue);font:inherit;font-size:10px;font-weight:900;cursor:pointer}.update-check-button span{font-size:16px}.update-check-button.checking span{animation:update-spin .8s linear infinite}@keyframes update-spin{to{transform:rotate(360deg)}}
@media(max-width:640px){.header-actions{gap:4px}.update-check-button{width:42px;height:42px;justify-content:center;padding:0}.update-check-button span{font-size:20px}.update-check-button{font-size:0}}

/* Tour mobile più ampio e leggibile. */
@media(max-width:640px){.onboarding-header{min-height:62px;padding:8px 12px}.onboarding-brand img{width:40px;height:40px}.onboarding-brand small{display:none}.tour-slide{display:flex;flex:1;flex-direction:column;min-height:0;padding:9px 12px;overflow-y:auto}.tour-progress{margin-bottom:8px}.tour-media{flex:0 0 min(50dvh,430px);width:100%;min-height:280px;max-height:50dvh;padding:7px;background:#fff}.tour-media img{width:100%;height:100%;max-height:none;object-fit:contain}.tour-copy{padding:12px 2px 5px}.tour-copy h2{margin-bottom:8px;font-size:23px}.tour-copy p{font-size:12px;line-height:1.55}.onboarding-footer{gap:9px;padding:9px 12px calc(9px + env(safe-area-inset-bottom))}.tour-dismiss{font-size:10px}.tour-actions .button{min-height:43px;padding:10px 15px}}
@media(max-width:640px) and (max-height:680px){.tour-media{flex-basis:44dvh;min-height:220px;max-height:44dvh}.tour-copy h2{font-size:21px}.tour-copy p{line-height:1.45}}
@media(max-width:900px) and (orientation:landscape){.onboarding-card{height:100dvh;max-height:none;border-radius:0}.tour-slide{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);grid-template-rows:auto 1fr;gap:0 18px}.tour-media{min-height:0;max-height:none;height:100%}.tour-media img{height:100%;max-height:calc(100dvh - 175px)}.tour-copy{align-self:center}.onboarding-footer{flex-direction:row;align-items:center}}

/* Passaggio riconoscibile dalla PWA all'area autenticata Google Workspace. */
.protected-transition{position:fixed;inset:0;z-index:220;display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,#eaf7f2,#edf3fb);color:var(--ink)}.protected-transition-card{width:min(520px,100%);padding:32px;border:1px solid var(--line);border-radius:30px;background:#fff;text-align:center;box-shadow:0 28px 80px rgba(6,43,34,.2)}.protected-transition-brand{display:flex;align-items:center;justify-content:center;gap:11px;margin-bottom:27px;text-align:left}.protected-transition-brand img{width:50px;height:50px;border-radius:15px;box-shadow:0 9px 22px rgba(7,93,76,.18)}.protected-transition-brand b,.protected-transition-brand small{display:block}.protected-transition-brand b{font-size:14px}.protected-transition-brand small{margin-top:3px;color:var(--muted);font-size:10px}.protected-transition-shield{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 18px;border-radius:22px;background:linear-gradient(145deg,var(--green),var(--green2));color:#fff;font-size:32px;font-weight:900;box-shadow:0 14px 30px rgba(7,93,76,.2)}.protected-transition-card h2{font-size:30px}.protected-transition-card>p{margin:0 auto;color:var(--muted);font-size:13px;line-height:1.6}.protected-transition-progress{height:8px;margin:24px 0 16px;overflow:hidden;border-radius:99px;background:#e3eee9}.protected-transition-progress i{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--green),#2aa986,#4b78bd);transform-origin:left;animation:protected-progress 1.2s ease-out both}.protected-transition-origin{display:block;color:#678078;font-size:10px;line-height:1.5}body.protected-transition-open{overflow:hidden}@keyframes protected-progress{from{transform:scaleX(.04)}to{transform:scaleX(1)}}
@media(max-width:640px){.protected-transition{padding:13px}.protected-transition-card{padding:25px 19px;border-radius:25px}.protected-transition-card h2{font-size:26px}.protected-transition-origin{font-size:9px}}

/* Cornice unica della PWA per Area famiglie e Cruscotto scuola. */
.embedded-app-shell{position:fixed;inset:0;z-index:190;display:grid;grid-template-rows:auto minmax(0,1fr);background:#eef6f3}.embedded-app-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px;padding:8px max(14px,env(safe-area-inset-left)) 8px max(14px,env(safe-area-inset-right));border-bottom:1px solid #cfe0da;background:linear-gradient(100deg,#064c40,#0b6c57 58%,#315fa8);color:#fff;box-shadow:0 7px 22px rgba(17,65,53,.16)}.embedded-app-brand{display:flex;align-items:center;gap:10px;min-width:0}.embedded-app-brand img{width:43px;height:43px;border-radius:13px;box-shadow:0 7px 18px rgba(0,0,0,.18)}.embedded-app-brand b{display:block;font-size:13px}.embedded-app-actions{display:flex;align-items:center;gap:7px}.embedded-app-actions button{min-height:39px;padding:10px 12px;border:1px solid #ffffff32;border-radius:11px;background:#ffffff12;color:#fff;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.embedded-frame-wrap{position:relative;min-height:0;background:#f3f8f6}.embedded-frame-fallback{position:absolute;inset:0;z-index:1;display:grid;place-content:center;justify-items:center;padding:24px;text-align:center;background:linear-gradient(145deg,#eef8f4,#edf3fb)}.embedded-frame-fallback>span{display:grid;place-items:center;width:58px;height:58px;margin-bottom:15px;border-radius:18px;background:#fff;color:#315fa8;font-size:22px;font-weight:900;box-shadow:0 10px 28px rgba(49,95,168,.15)}.embedded-frame-fallback b{font-size:19px}.embedded-frame-fallback p{max-width:460px;margin:9px 0 17px;color:var(--muted);font-size:12px;line-height:1.55}.embedded-app-frame{position:relative;z-index:2;display:block;width:100%;height:100%;border:0;background:#f3f8f6;opacity:0;transition:opacity .18s ease}.embedded-app-frame.ready{opacity:1}body.embedded-app-open{overflow:hidden}
@media(max-width:640px){.embedded-app-bar{min-height:56px;padding-top:calc(7px + env(safe-area-inset-top));gap:6px}.embedded-app-brand img{width:36px;height:36px}.embedded-app-brand b{font-size:10px}.embedded-app-brand small{font-size:7px}.embedded-app-actions{gap:4px}.embedded-app-actions button,.embedded-app-actions a{min-height:34px;padding:7px 8px;font-size:7px}.embedded-frame-fallback{padding:18px}}
