/* Mission Control downloads: scoped to the portal page. */
.inlife-portal .pt-overview-intro{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(330px,1fr);gap:clamp(32px,4vw,72px);align-items:center;margin-bottom:48px}
.inlife-portal .pt-overview-intro>.pt-section-heading{max-width:none;margin:0}
.inlife-portal .pt-app-card{display:flex;flex-direction:column;align-items:flex-start;gap:17px;padding:30px;border:1px solid #dbe7e0;border-radius:22px;background:linear-gradient(135deg,#f5faf7,#eaf4ee);box-shadow:0 12px 30px #14213008}
.inlife-portal .pt-app-brand{display:flex;flex-direction:row;align-items:center;gap:16px}
.inlife-portal .pt-app-icon{width:64px;height:64px;flex:0 0 64px;border-radius:15px;object-fit:contain}
.inlife-portal .pt-app-card .pt-app-kicker{font-size:10px;font-weight:750;letter-spacing:.13em;line-height:1.5;color:#177552;margin:0 0 5px}
.inlife-portal .pt-app-card .pt-app-title{font-size:25px;line-height:1.15;font-weight:750;letter-spacing:-.03em;color:#17212b;margin:0}
.inlife-portal .pt-app-card .pt-app-copy{font-size:16px;line-height:1.55;color:#566773;margin:0}
.inlife-portal .pt-app-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:12px;width:100%;margin:0}
.inlife-portal .pt-app-links .pt-app-link{display:inline-flex;justify-content:center;align-items:center;flex:1 1 140px;width:auto;min-height:48px;padding:12px 16px;border:1px solid #17212b;border-radius:8px;background:#17212b;color:#fff;font-size:14px;font-weight:650;line-height:1.3;text-align:center;text-decoration:none;transition:background .2s,transform .2s}
.inlife-portal .pt-app-links .pt-app-link:hover{background:#2b4438;border-color:#2b4438;color:#fff;transform:translateY(-2px)}
.inlife-portal .pt-app-links .pt-app-link:focus-visible,.pt-app-banner a:focus-visible,.pt-app-banner button:focus-visible{outline:3px solid #177552;outline-offset:4px}
.pt-app-banner{display:none}
@media(max-width:1050px){.inlife-portal .pt-overview-intro{grid-template-columns:1fr;gap:28px}.inlife-portal .pt-app-card{max-width:600px;width:100%}}
@media(max-width:767px){
 .inlife-portal .pt-overview-intro{margin-bottom:35px}
 .inlife-portal .pt-app-card{padding:23px;gap:16px}
 .inlife-portal .pt-app-card .pt-app-title{font-size:23px}
 .pt-app-banner:not([hidden]){display:grid;grid-template-columns:46px minmax(0,1fr) 36px;gap:10px 12px;position:fixed;z-index:990;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));box-sizing:border-box;padding:16px;border:1px solid #d7e4dc;border-radius:18px;background:#fff;color:#17212b;box-shadow:0 8px 45px #14213030;animation:pt-app-slide .38s cubic-bezier(.2,.7,.2,1) both;font-family:inherit}
 .pt-app-banner img{width:46px;height:46px;border-radius:11px}
 .pt-app-banner-copy{align-self:center;min-width:0}
 .pt-app-banner-title{display:block;font-size:16px;font-weight:750;line-height:1.25;margin:0 0 4px;color:#17212b}
 .pt-app-banner-copy p{font-size:12px;line-height:1.4;color:#566773;margin:0}
 .pt-app-banner-close{display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:#f0f5f2;color:#17212b;cursor:pointer}
 .pt-app-banner-close svg{width:16px;height:16px;display:block}
 .pt-app-banner-links{grid-column:1/-1;display:flex;gap:10px}
 .pt-app-banner-links a{display:flex;align-items:center;justify-content:center;flex:1;min-height:44px;padding:11px 12px;border-radius:8px;background:#177552;color:#fff;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none}
 .pt-app-banner-links a:hover{background:#105a3e;color:#fff}
}
@keyframes pt-app-slide{from{transform:translateY(calc(100% + 40px));opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.pt-app-banner:not([hidden]){animation:none}.inlife-portal .pt-app-links .pt-app-link{transition:none}.inlife-portal .pt-app-links .pt-app-link:hover{transform:none}}
.inlife-portal .pt-app-links .pt-app-coming{display:flex;flex:1 1 140px;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border:1px solid #c9d9ce;border-radius:8px;color:#52645a;background:#e7eee9;font-size:13px;font-weight:650;line-height:1.3;text-align:center}
/* Leave the existing chat and consent launchers accessible below the prompt. */
@media(max-width:767px){.pt-app-banner:not([hidden]){bottom:calc(80px + env(safe-area-inset-bottom))}}
.inlife-portal .pt-app-brand{flex-wrap:nowrap}
.inlife-portal .pt-app-brand-copy{flex:1;min-width:0;width:auto}
.inlife-portal .pt-app-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.inlife-portal .pt-app-links>*{height:100%;min-width:0}
@media(max-width:767px){.inlife-portal .pt-app-links .pt-app-link,.inlife-portal .pt-app-links .pt-app-coming{padding:12px 9px;font-size:13px}}
