/* Compatibility layer between the live PWA controls and the audited tenant packs. */
body.route-apps .apps-main{width:min(1240px,100%);max-width:none;margin:auto;padding:clamp(28px,5vw,70px) 24px;overflow:visible}
body.route-apps .app-product-shell{display:grid;gap:clamp(44px,7vw,92px)}
body.route-apps .breadcrumbs{max-width:1240px;margin:0 auto 2rem;padding:0;color:var(--text-secondary)}
body.route-apps .apps-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);gap:clamp(28px,6vw,78px);align-items:center;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
body.route-apps .apps-hero-copy{padding:0}
body.route-apps .apps-hero-copy h1{font-size:clamp(2.7rem,5.4vw,5.6rem);line-height:.94;letter-spacing:-.055em;margin:.65rem 0 1.2rem;color:var(--text-primary)}
body.route-apps .apps-hero-copy>p{color:var(--text-secondary);font-size:1.05rem}
body.route-apps .apps-hero-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:1.5rem 0}
body.route-apps .apps-hero-actions .apps-primary,body.route-apps .apps-hero-actions a{min-height:48px;display:inline-grid;place-items:center;padding:.7rem 1rem;border-radius:var(--radius);font-weight:900}
body.route-apps .apps-hero-actions .apps-primary{background:var(--brand-primary);color:#fff}
body.route-apps .apps-hero-actions a{background:var(--surface);color:var(--text-primary);border:1px solid var(--border)}
body.route-apps .apps-device-preview{min-height:470px;border:0;border-radius:calc(var(--radius)*1.7);overflow:hidden;background:linear-gradient(145deg,var(--brand-secondary),var(--brand-primary) 62%,var(--brand-accent));box-shadow:var(--shadow)}
body.route-apps .apps-device-bar,body.route-apps .apps-device-content{background:var(--surface);color:var(--text-primary);border-color:var(--border)}
body.route-apps .apps-device-content span{color:var(--text-secondary)}
body.route-apps .apps-platforms{margin:0;padding:0}
body.route-apps .apps-section-heading{max-width:760px;margin-bottom:1.7rem}
body.route-apps .apps-section-heading h2,body.route-apps .apps-benefits h2,body.route-apps .apps-faq h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1;letter-spacing:-.04em;color:var(--text-primary)}
body.route-apps .apps-section-heading p,body.route-apps .apps-platform-card p,body.route-apps .apps-benefits p,body.route-apps .apps-faq p{color:var(--text-secondary)}
body.route-apps .apps-platform-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body.route-apps .apps-platform-card{min-height:250px;padding:24px;align-content:start;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary)}
body.route-apps .apps-platform-icon{background:linear-gradient(135deg,var(--brand-secondary),var(--brand-primary));color:#fff}
body.route-apps .apps-platform-card button{margin-top:auto;background:var(--brand-primary);color:#fff;border:0;border-radius:var(--radius);font-weight:900}
body.route-apps .apps-benefits,body.route-apps .apps-faq,body.route-apps .apps-links{margin:0;background:var(--surface);border-color:var(--border);color:var(--text-primary)}
body.route-apps .apps-benefits ol li,body.route-apps .apps-faq details{background:var(--surface-muted);border-color:var(--border);color:var(--text-primary)}
body.route-apps .apps-links a{color:var(--brand-primary)}
body.route-apps .install-dialog{background:var(--surface);color:var(--text-primary);border-color:var(--border)}
body.route-apps .install-dialog p,body.route-apps .install-dialog li{color:var(--text-secondary)}
/* Complete product-page primitives live here as a safety net. Some supplied
   tenant packs intentionally contain only the homepage/source-directory skin. */
body.route-apps .app-hero-visual{position:relative;width:100%;margin:0;align-self:center;overflow:hidden;border-radius:calc(var(--radius)*1.7);box-shadow:var(--shadow)}
body.route-apps .app-hero-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
body.route-apps .scene-orbit{position:absolute;width:360px;height:360px;right:-100px;top:-80px;border:1px solid #fff5;border-radius:50%}
body.route-apps .scene-laptop,body.route-apps .scene-phone{position:absolute;display:grid;align-content:center;gap:.65rem;padding:1.2rem;background:#fff;color:var(--text-primary);box-shadow:0 25px 60px #0005}
body.route-apps .scene-laptop{left:8%;right:18%;top:19%;height:225px;border-radius:16px 16px 7px 7px;border-bottom:18px solid #dce4f7}
body.route-apps .scene-phone{right:7%;bottom:8%;width:150px;height:265px;border:7px solid #0b1129;border-radius:27px}
body.route-apps .scene-laptop span,body.route-apps .scene-phone span{font-size:.62rem;font-weight:900;letter-spacing:.12em;color:var(--brand-primary)}
body.route-apps .scene-laptop i,body.route-apps .scene-phone i{height:9px;border-radius:999px;background:var(--surface-muted)}
body.route-apps .scene-laptop i:last-child{width:62%;background:var(--brand-accent)}
body.route-apps .app-hero-scene em{position:absolute;left:9%;bottom:8%;padding:.5rem .7rem;border-radius:999px;background:#fff2;color:#fff;font-size:.72rem;font-style:normal}
body.route-apps .app-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border:1px solid var(--border);background:var(--border)}
body.route-apps .app-benefits article{min-width:0;padding:clamp(20px,3vw,34px);background:var(--surface)}
body.route-apps .app-benefits b,body.route-apps .device-section>header>span,body.route-apps .install-guide header>span,body.route-apps .app-handoff>div>span{color:var(--brand-primary);font-size:.7rem;font-weight:900;letter-spacing:.12em}
body.route-apps .app-benefits h2{font-size:1.15rem;letter-spacing:-.02em;margin:.65rem 0}
body.route-apps .device-section>header,body.route-apps .install-guide>header,body.route-apps .app-faq>div:first-child{max-width:760px;margin-bottom:1.7rem}
body.route-apps .device-section h2,body.route-apps .install-guide h2,body.route-apps .app-handoff h2,body.route-apps .app-faq h2{font-size:clamp(2rem,4vw,3.7rem);line-height:1;letter-spacing:-.04em;margin:.55rem 0;color:inherit}
body.route-apps .app-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
body.route-apps .device-card{min-height:330px;display:grid;grid-template-rows:128px 1fr;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
body.route-apps .device-visual{position:relative;min-height:128px;margin:0;padding:24px;background:linear-gradient(135deg,var(--brand-secondary),var(--brand-primary));overflow:hidden}
body.route-apps .device-icon{position:relative;z-index:2;display:grid;place-items:center;width:78px;height:78px;padding:15px;border-radius:22px;background:#fff;color:var(--brand-primary);box-shadow:0 18px 36px #0003;font-size:2rem}
body.route-apps .device-icon svg{display:block;width:38px;height:38px;fill:currentColor}
body.route-apps .device-signal{position:absolute;right:25px;bottom:22px;display:flex;align-items:end;gap:6px}
body.route-apps .device-signal i{display:block;width:10px;height:28px;border-radius:999px;background:#fff5}
body.route-apps .device-signal i:nth-child(2){height:52px}
body.route-apps .device-signal i:nth-child(3){height:82px;background:var(--brand-accent)}
body.route-apps .device-copy{display:grid;align-content:start;min-height:200px;padding:24px}
body.route-apps .device-copy>span{color:var(--brand-primary);font-size:.7rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
body.route-apps .device-copy h3{font-size:1.25rem;margin:.45rem 0;color:var(--text-primary)}
body.route-apps .device-copy p{margin:0 0 1rem;color:var(--text-secondary)}
body.route-apps .device-copy a{margin-top:auto;color:var(--brand-primary);font-weight:900}
body.route-apps .install-guide{padding:clamp(24px,5vw,58px);border-radius:calc(var(--radius)*1.2);background:var(--brand-secondary);color:#fff}
body.route-apps .install-guide header>span{color:var(--brand-accent)}
body.route-apps .install-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
body.route-apps .install-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:.8rem;padding:1.2rem;background:#fff1;border:1px solid #fff2;border-radius:var(--radius)}
body.route-apps .install-step>b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--brand-accent);color:var(--brand-secondary)}
body.route-apps .install-step h3{margin:.2rem 0;color:#fff}
body.route-apps .install-step p,body.route-apps .install-note p{color:#ffffffc7}
body.route-apps .install-note{display:grid;grid-template-columns:180px minmax(0,1fr);gap:1rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid #fff3}
body.route-apps .install-note p{margin:0}
body.route-apps .app-handoff{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}
body.route-apps .app-handoff p{color:var(--text-secondary)}
body.route-apps .app-handoff a{color:var(--brand-primary);font-weight:900}
body.route-apps .handoff-map{display:grid;grid-template-columns:1fr 60px 1fr 60px 1fr;align-items:center}
body.route-apps .handoff-map i{height:2px;background:var(--brand-primary)}
body.route-apps .handoff-node{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:var(--surface);border:1px solid var(--border);font-weight:900}
body.route-apps .qr-node{background:var(--brand-secondary);color:#fff}
body.route-apps .app-faq{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:3rem;background:transparent;border:0}
body.route-apps .app-faq details{padding:1rem 0;background:transparent;border:0;border-bottom:1px solid var(--border)}
body.route-apps .app-faq summary{color:var(--text-primary);font-weight:900}
body.route-apps .app-faq details p{color:var(--text-secondary)}
@media(max-width:900px){body.route-apps .apps-hero{grid-template-columns:1fr}body.route-apps .apps-device-preview{min-height:360px}body.route-apps .apps-platform-grid{grid-template-columns:1fr}}
@media(max-width:1050px){body.route-apps .app-hero{grid-template-columns:1fr}body.route-apps .app-hero-scene{min-height:390px}}
@media(max-width:760px){body.route-apps .app-benefits,body.route-apps .app-device-grid,body.route-apps .install-steps,body.route-apps .app-handoff,body.route-apps .app-faq{grid-template-columns:minmax(0,1fr)}body.route-apps .install-note{grid-template-columns:1fr}body.route-apps .handoff-map{grid-template-columns:1fr 36px 1fr 36px 1fr}body.route-apps .app-hero-scene{min-height:340px}body.route-apps .scene-laptop{left:5%;right:12%;height:190px}body.route-apps .scene-phone{width:120px;height:220px}}
@media(max-width:560px){body.route-apps .apps-main{padding-inline:16px}body.route-apps .apps-hero-copy h1{font-size:clamp(2.35rem,13vw,4rem)}body.route-apps .apps-device-preview{min-height:300px}}
@media(max-width:480px){body.route-apps .app-hero h1{font-size:clamp(2.35rem,12vw,3.4rem)}body.route-apps .app-hero-scene{min-height:300px}body.route-apps .scene-laptop{height:170px;padding:.8rem}body.route-apps .scene-phone{width:102px;height:188px;border-width:5px}}
