:root{--navy:#061a38;--navy2:#0a2e60;--blue:#145294;--gold:#e9b755;--gold2:#ffe3a1;--white:#fff;--ink:#10274c;--muted:#5b6e8b;--line:#dfe7f2;--panel:#f1f5fb;--shadow:0 9px 20px rgba(20,41,78,.13);color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at 26% 5%,#235a97 0%,#071d3d 37%,#021128 95%);color:var(--ink)}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #f0bc56;outline-offset:2px}svg{display:block}button:disabled{cursor:not-allowed;opacity:.6}h1,h2,h3,p{margin-top:0}.stage{min-height:100vh;display:grid;grid-template-columns:minmax(320px,475px) minmax(280px,430px);gap:clamp(22px,5vw,92px);justify-content:center;align-items:start;padding:36px 24px 72px}.app{min-height:860px;max-width:475px;width:100%;margin:0 auto;display:flex;flex-direction:column;border:5px solid #879ab0;outline:3px solid #152e4b;border-radius:44px;overflow:hidden;background:#edf3fa;box-shadow:0 28px 75px rgba(0,0,0,.4)}.header{position:relative;overflow:hidden;color:white;background:radial-gradient(circle at 96% 120%,#165ca5,#082c5a 49%,#03142f);padding:21px 22px 47px;flex:none}.header:before{content:"";position:absolute;right:-100px;bottom:-80px;width:410px;height:220px;transform:rotate(-17deg);border-top:1px solid #4d8cc2;background:linear-gradient(170deg,transparent,#0b376e 50%,#124887 72%,transparent 73%);opacity:.5}.header-top{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:1}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand img{height:53px;width:53px;object-fit:contain;border-radius:12px}.brand .name{font-size:27px;font-weight:850;letter-spacing:-.8px;white-space:nowrap}.brand .name span{color:#f5c96e}.icon-button{border:0;background:rgba(255,255,255,.08);color:#f7f9fd;min-width:46px;height:46px;border-radius:14px;display:grid;place-items:center}.menu-icon svg,.icon-button svg{width:23px;height:23px}.status-top{color:#dfb768;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:9px}.intro{position:relative;z-index:1;margin-top:27px}.intro .hello{font-size:18px;color:#e8eef9}.intro h1{font-size:28px;line-height:1.12;letter-spacing:-.75px;margin:8px 0 14px;max-width:370px}.underline{height:4px;width:88px;background:linear-gradient(90deg,#ffe8aa,#ca8e2a);border-radius:8px}.rolebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px}.rolebar label{font-size:12px;letter-spacing:.15px;color:#e3ecf9}.rolebar select{width:min(60%,210px);min-height:41px;background:#fff;color:#10274b;border:1px solid #d2dceb;border-radius:12px;padding:0 8px;font-weight:750}.main{position:relative;z-index:1;flex:1;background:linear-gradient(#f7f9fd,#edf3fb);margin-top:-22px;border-radius:28px 28px 0 0;padding:21px 18px 29px;min-height:450px}.hint{display:flex;align-items:center;gap:8px;border:1px solid #d4e4f4;background:#ebf5ff;border-radius:12px;color:#355578;padding:9px 12px;font-size:12px;line-height:1.35;margin-bottom:16px}.hint b{color:#18467e}.section-title{font-size:20px;margin:0 0 5px;letter-spacing:-.4px}.section-sub{color:#61738d;font-size:13px;margin-bottom:16px;line-height:1.45}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{display:flex;flex-direction:column;justify-content:space-between;text-align:left;gap:14px;min-height:169px;padding:14px;border:1px solid white;border-radius:20px;box-shadow:var(--shadow);background:linear-gradient(157deg,#fff,#f0f4fb);color:var(--ink);transition:transform .14s,box-shadow .14s}.tile:hover{transform:translateY(-2px);box-shadow:0 12px 22px #16335a34}.tile-head{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.tile-ico{height:56px;width:56px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(145deg,#0d407b,#05172e);color:#f1c46b;box-shadow:0 4px 9px #06214a33}.tile-ico svg{width:31px;height:31px}.tile-head .chev{color:#7384a0;width:18px;height:18px;margin-top:16px}.tile strong{font-size:16px;line-height:1.18;display:block;letter-spacing:-.28px}.tile small{font-size:12.5px;color:#4d6280;line-height:1.34;display:block;margin-top:5px}.headline{display:flex;align-items:center;gap:11px}.back{border:0;border-radius:12px;background:#e6ecf5;color:#0b2f5b;height:43px;min-width:43px;display:grid;place-items:center}.headline h2{font-size:22px;letter-spacing:-.5px;margin:0}.surface{border:1px solid #e4eaf5;background:white;border-radius:19px;padding:17px;margin-bottom:12px;box-shadow:0 5px 12px #1639620c}.surface h3{font-size:16px;margin-bottom:12px}.pill{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#e7f2ff;border-radius:20px;color:#235381;font-size:11px;font-weight:800}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}.stat{padding:13px;border:1px solid #dbe6f4;border-radius:16px;background:white}.stat strong{display:block;font-size:26px;color:#0e376d}.stat small{font-size:12px;color:#677c97}.list-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #e9edf5;padding:14px 0}.list-row:first-child{border-top:0;padding-top:2px}.list-row b{display:block;font-size:14px;line-height:1.3}.list-row span{color:#667a94;font-size:12px;line-height:1.45}.btn{border:0;background:#123f78;border-radius:13px;color:white;min-height:47px;padding:11px 17px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.light{background:#e8eff8;color:#133e72}.btn.gold{background:linear-gradient(140deg,#f4d38c,#d3a148);color:#102744}.btn.outline{background:white;border:1px solid #aec0d7;color:#143f70}.btn.danger{background:#b72235;color:white}.btn:focus-visible{outline-color:#f6bc4b}.btn.full{width:100%}.btn.small{min-height:36px;font-size:12px;padding:8px 12px}.actions{display:flex;gap:9px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-weight:720;font-size:13px}.field input,.field select,.field textarea{width:100%;font-weight:450;background:#fbfcff;min-height:47px;border:1px solid #cdd9ea;border-radius:12px;padding:12px;color:#17365f}.field textarea{min-height:86px;resize:vertical}.badgeline{color:#637997;font-size:12px;line-height:1.55}.good{color:#137754}.warning{color:#ad6b17}.critical{color:#ab1f33}.big-sos{height:148px;width:148px;border-radius:100%;border:9px solid #fbd3d7;background:radial-gradient(circle at 25% 15%,#e75566,#aa1b30);color:white;font-weight:850;font-size:34px;box-shadow:0 10px 22px #b3143050;display:grid;place-items:center;margin:15px auto}.big-sos span{font-size:12px;display:block;margin-top:-40px;letter-spacing:.5px}.quiet{border:1px solid #e7cdd1;border-radius:13px;background:#fff5f5;color:#8d3340;padding:13px;font-size:12px;line-height:1.5}.steps{display:flex;gap:7px;flex-wrap:wrap}.step{border:1px solid #cfdbeb;background:#f4f8ff;color:#28547d;border-radius:20px;padding:5px 9px;font-size:11px}.track{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid #edf1f8}.track input{height:22px;width:22px;flex:none;accent-color:#123e79}.track .label{font-size:14px;font-weight:730}.track .desc{font-size:12px;color:#708099}.timeline{border-left:2px solid #c2d2e9;padding-left:16px;margin-left:7px}.timeline-item{position:relative;margin-bottom:18px;color:#17375e}.timeline-item:before{content:"";position:absolute;left:-22px;top:4px;background:#deae58;border:3px solid #f3f6fc;border-radius:50%;width:10px;height:10px}.timeline-item b{font-size:13px}.timeline-item p{font-size:12px;color:#667890;margin:4px 0}.mini-contact{display:flex;gap:9px;align-items:center;padding:10px 0}.avatar{height:42px;width:42px;display:grid;place-items:center;border-radius:50%;background:#e9eff9;color:#164173;font-weight:850}.mini-contact p{margin:0;line-height:1.4}.mini-contact small{display:block;color:#5c718d}.nav{position:sticky;bottom:0;z-index:8;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:9px 7px max(11px,env(safe-area-inset-bottom));gap:4px;border-top:1px solid #dce5f1;background:linear-gradient(#fff,#f7faff);box-shadow:0 -3px 17px #102b4c19}.navbutton{border:0;border-radius:12px;padding:7px 1px 5px;background:transparent;color:#244261;display:flex;align-items:center;flex-direction:column;gap:5px;min-height:58px;font-size:11px}.navbutton svg{height:23px;width:23px}.navbutton.active{background:#0c2c57;color:#f7cc6f;font-weight:850}.footer{max-width:480px;text-align:center;font-size:11px;color:#526c8d;margin:8px auto 3px}.side{color:white;margin-top:88px;padding:15px}.side .large-logo{display:flex;align-items:center;gap:14px;margin-bottom:32px}.side img{width:104px;height:104px;border-radius:28px;box-shadow:0 12px 24px #0005}.side h2{font-size:50px;letter-spacing:-2px;line-height:1}.side h2 span{color:#f4c76a}.side h3{font-size:27px;line-height:1.2;margin-bottom:18px}.side p{color:#cbd9ea;font-size:16px;line-height:1.55}.side .feature{color:#eac782;display:flex;gap:10px;align-items:center;border-top:1px solid #ffffff2c;padding:13px 2px;font-size:14px}.side .feature svg{width:22px;height:22px;flex:none}.preview-pill{background:#f0c16e;color:#112846;border-radius:16px;padding:8px 12px;display:inline-flex;font-weight:800;font-size:12px;margin-bottom:20px}.dialogshade{position:fixed;inset:0;z-index:30;background:#041124ae;display:grid;place-items:center;padding:22px}.dialog{max-width:420px;width:100%;background:white;color:var(--ink);border-radius:24px;padding:24px;box-shadow:0 24px 80px #0007}.dialog h2{font-size:21px}.dialog p{font-size:14px;color:#58708c;line-height:1.55}.dialog .btn{min-width:110px}.toast{position:fixed;left:50%;bottom:25px;z-index:50;transform:translateX(-50%);background:#10345f;color:#fff;border:1px solid #dbb66b;border-radius:14px;padding:14px 17px;font-size:13px;box-shadow:0 10px 35px #0004;max-width:calc(100vw - 30px)}.hidden{display:none!important}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.info-grid .surface{margin:0}.muted{color:#5d738d;font-size:12px}.color-tag{height:7px;width:76px;background:#eab95b;border-radius:10px;margin:6px 0 15px}.toggle-bar{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:12px}.chip{border:1px solid #c9d8ed;background:#fff;border-radius:22px;padding:8px 12px;font-size:12px;color:#123d6e;white-space:nowrap;min-height:38px}.chip.selected{background:#123e75;color:white}.empty{border:1px dashed #c6d6e9;color:#627997;padding:18px;text-align:center;border-radius:13px;font-size:13px}.photo-preview{height:110px;max-width:100%;object-fit:contain;border-radius:10px;margin:8px auto;display:block}.section-space{margin-top:16px}.copy{font-weight:600}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:870px){body{background:#edf3fa}.stage{display:block;padding:0}.side{display:none}.app{margin:0;width:100%;max-width:none;min-height:100dvh;border:0;outline:none;border-radius:0;box-shadow:none}.header{padding-top:max(19px,env(safe-area-inset-top))}.main{padding-bottom:18px}.footer{max-width:100%;margin-top:12px}}
@media(max-width:375px){.brand .name{font-size:23px}.brand img{height:44px;width:44px}.intro h1{font-size:25px}.cards{gap:9px}.tile{padding:12px;min-height:154px}.tile strong{font-size:14px}.tile small{font-size:11.5px}.tile-ico{width:49px;height:49px}.rolebar label{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}

/* Elderly mode: fewer choices, high contrast, plain language and generous tap targets. */
.app.role-idoso .menu-icon,.app.role-idoso .rolebar,.app.role-idoso #header-alerts{display:none}
.app.role-idoso .header{padding:20px 22px 39px}
.app.role-idoso .header-top{justify-content:center}
.app.role-idoso .intro{margin-top:23px}
.app.role-idoso .intro .hello{font-size:23px;font-weight:650;color:#fff}
.app.role-idoso .intro h1{font-size:30px;line-height:1.17;letter-spacing:-.4px;max-width:none}
.app.role-idoso .main{padding:20px 16px 30px}
.app.role-idoso .nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.app.role-idoso .navbutton{min-height:64px;font-size:16px;gap:5px}
.app.role-idoso .navbutton svg{width:29px;height:29px}
.app.role-idoso .navbutton.active{background:#e3edf9;color:#0b376e}
.app.role-idoso .headline h2{font-size:25px}
.app.role-idoso .section-sub{font-size:17px;line-height:1.5}
.app.role-idoso .back{min-height:58px;min-width:58px}
.elder-stack{display:flex;flex-direction:column;gap:12px}
.elder-sos,.elder-tile{width:100%;display:flex;align-items:center;gap:15px;text-align:left;border-radius:21px;border:1px solid #dce5f0;box-shadow:0 7px 18px #213d641d;padding:15px 17px;min-height:103px;color:#0c284b;background:#fff;transition:box-shadow .15s,transform .15s}
.elder-sos{background:linear-gradient(135deg,#c63343 0%,#972033 100%);border:2px solid #a5263a;color:#fff;min-height:112px}
.elder-sos:hover,.elder-tile:hover{box-shadow:0 11px 18px #0d2e552e}
.elder-tile-ico{width:65px;height:65px;flex:0 0 65px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(150deg,#124b86,#071d43);color:#f2c365}
.elder-sos .elder-tile-ico{background:#fff3;border:1px solid #fff7;color:#fff}
.elder-tile-ico svg{width:36px;height:36px}
.elder-tile-copy{flex:1;min-width:0}
.elder-tile-copy strong{display:block;font-size:22px;line-height:1.15;letter-spacing:-.4px}
.elder-tile-copy small{font-size:16px;line-height:1.4;display:block;margin-top:7px;color:#526881}
.elder-sos .elder-tile-copy strong{font-size:26px;color:#fff}
.elder-sos .elder-tile-copy small{color:#fff;font-size:16px}
.elder-arrow{flex:0 0 22px;color:#8392a7}
.elder-sos .elder-arrow{color:white}
.elder-note{font-size:14px;line-height:1.5;color:#405f81;padding:13px 14px;border:1px solid #d7e4f3;border-radius:14px;background:#eff6ff;margin:0 0 16px}
.elder-section-label{font-size:19px;font-weight:800;margin:0 0 13px}
.elder-sos-tag{display:inline-flex;align-items:center;gap:5px;font-weight:750;letter-spacing:.1px}
.elder-med-row{background:#fff;border:1px solid #dde7f3;border-radius:18px;padding:18px;margin-bottom:12px}
.elder-med-row h3{font-size:21px;margin:0 0 10px}
.elder-med-row p{font-size:17px;line-height:1.45;color:#435b79;margin:0 0 16px}
.elder-med-row .btn{font-size:17px;min-height:58px;width:100%}
.elder-care-row{display:flex;align-items:center;gap:13px;min-height:80px;border-bottom:1px solid #d9e4f2;padding:12px 0}
.elder-care-row input{width:32px;height:32px;accent-color:#11477b;flex:none}
.elder-care-row span{font-size:19px;font-weight:750;line-height:1.35}
.elder-contact{border:1px solid #dbe6f4;border-radius:17px;padding:17px;background:#fff;margin-bottom:12px}
.elder-contact h3{font-size:22px;margin:0 0 8px}
.elder-contact p{font-size:16px;color:#4b617e;line-height:1.5;margin:0 0 14px}
.elder-contact button{min-height:58px;width:100%;font-size:17px}
.elder-simple-link{font-size:18px;min-height:72px;width:100%;justify-content:flex-start;margin-bottom:12px;display:flex;align-items:center;gap:12px}
.elder-simple-link svg{width:29px;height:29px}
.elder-demo-choices{margin-top:25px;padding:14px;border-top:1px solid #d1deec;color:#365474}
.elder-demo-choices summary{cursor:pointer;font-size:14px;font-weight:700;padding:9px 0}
.elder-demo-choices .actions{padding-top:10px}
.elder-demo-choices .btn{min-height:48px}
.app.role-idoso .big-sos{height:172px;width:172px}
.app.role-idoso .surface h3{font-size:20px}
.app.role-idoso .quiet{font-size:15px}
@media(max-width:375px){.app.role-idoso .header{padding-left:16px;padding-right:16px}.app.role-idoso .intro h1{font-size:27px}.app.role-idoso .main{padding:16px 12px 20px}.elder-tile,.elder-sos{padding:12px;gap:10px}.elder-tile-copy strong{font-size:20px}.elder-sos .elder-tile-copy strong{font-size:23px}.elder-tile-ico{height:55px;width:55px;flex-basis:55px}.elder-tile-ico svg{height:29px;width:29px}.elder-tile-copy small{font-size:15px}}

/* Keep the four main choices on screen on common phone heights without reducing readability. */
.app.role-idoso .header{padding-top:14px;padding-bottom:25px}
.app.role-idoso .brand img{height:44px;width:44px}
.app.role-idoso .brand .name{font-size:25px}
.app.role-idoso .intro{margin-top:13px}
.app.role-idoso .intro h1{font-size:28px;margin:6px 0 10px}
.app.role-idoso .main{padding-top:15px;padding-bottom:16px}
.app.role-idoso .nav{padding-top:5px;padding-bottom:6px}
.app.role-idoso .navbutton{min-height:58px}
.elder-note{padding:10px 13px;margin-bottom:13px}
.elder-section-label{margin-bottom:11px}
.elder-stack{gap:10px}
.elder-sos,.elder-tile{padding:11px 14px;min-height:91px;gap:13px}
.elder-sos{min-height:96px}
.elder-tile-ico{height:58px;width:58px;flex-basis:58px}
.elder-tile-ico svg{height:32px;width:32px}
@media(max-width:375px){.app.role-idoso .header{padding-top:12px;padding-bottom:22px}.elder-sos,.elder-tile{min-height:93px}.app.role-idoso .intro h1{font-size:26px}}
