
/* Installable BPDG Builder App additions */
:root{--app-bottom:76px}
body.app-mode{padding-bottom:var(--app-bottom)}
.app-shell{min-height:100vh;background:radial-gradient(circle at 85% 0%,rgba(23,183,255,.10),transparent 32%),var(--bg)}
.app-top{position:sticky;top:0;z-index:60;background:rgba(5,16,29,.93);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.app-top .inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.app-brand img{width:220px;display:block}
.app-status{display:flex;align-items:center;gap:8px;color:#cfe7f7;font-size:.78rem;font-weight:800}
.app-status i{width:9px;height:9px;border-radius:50%;background:#52e092;box-shadow:0 0 0 5px rgba(82,224,146,.08)}
.app-status.offline i{background:#ffb85c;box-shadow:0 0 0 5px rgba(255,184,92,.08)}
.app-hero{padding:56px 0 28px}
.app-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:stretch}
.app-welcome,.app-offer{border:1px solid var(--line);background:linear-gradient(160deg,rgba(15,42,73,.92),rgba(7,22,41,.96));border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.app-welcome h1{font-size:clamp(2.6rem,6vw,5.2rem);line-height:.94;letter-spacing:-.05em;margin:12px 0 18px}
.app-welcome p{color:var(--muted);max-width:760px;font-size:1.02rem}
.app-install{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.app-install .btn{min-width:155px}
.app-offer{display:flex;flex-direction:column;justify-content:space-between;border-color:rgba(62,190,255,.28)}
.app-offer .offer-number{font-size:3.2rem;font-weight:950;letter-spacing:-.05em;color:#79dcff;margin:10px 0}
.app-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0 0}
.app-action{display:flex;min-height:170px;flex-direction:column;justify-content:space-between;padding:22px;border:1px solid var(--line);border-radius:20px;background:#09192c;transition:.18s ease;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.app-action:hover{transform:translateY(-3px);border-color:rgba(79,199,255,.32);background:#0b1f37}
.app-action .glyph{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:rgba(23,183,255,.11);border:1px solid rgba(94,201,255,.2);color:#83e2ff;font-weight:950}
.app-action h3{margin:18px 0 6px;font-size:1.15rem;color:#f1f8fd}.app-action p{margin:0;color:var(--muted);font-size:.9rem}.app-action .arrow{margin-top:16px;color:#71d7ff;font-weight:900}
.app-section{padding:28px 0 64px}.app-section h2{font-size:2.2rem;margin:0 0 14px}.app-section p.lead{color:var(--muted);max-width:760px}
.app-process{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:22px}.app-process div{padding:18px;border:1px solid var(--line);border-radius:16px;background:#08182a}.app-process b{color:#79dcff}.app-process h3{margin:8px 0 4px;font-size:1rem}.app-process p{margin:0;color:var(--muted);font-size:.84rem}
.draft-card{display:none;margin-top:18px;padding:17px 18px;border:1px solid rgba(85,204,255,.28);border-radius:14px;background:rgba(23,183,255,.06);align-items:center;justify-content:space-between;gap:16px}.draft-card.show{display:flex}.draft-card p{margin:3px 0 0;color:var(--muted);font-size:.88rem}
.app-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:80;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(4,14,26,.96);backdrop-filter:blur(18px);border-top:1px solid var(--line);padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.app-bottom-nav a{display:grid;place-items:center;gap:3px;padding:8px 4px;border-radius:12px;color:#9eb7c9;font-size:.72rem;font-weight:800}.app-bottom-nav a.active,.app-bottom-nav a:hover{background:rgba(23,183,255,.08);color:#dff7ff}.app-bottom-nav strong{font-size:1rem;line-height:1}
.install-help{display:none;margin-top:12px;color:#9db8c9;font-size:.82rem}.install-help.show{display:block}
@media(max-width:980px){.app-hero-grid{grid-template-columns:1fr}.app-grid{grid-template-columns:1fr 1fr}.app-process{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:640px){.app-top .inner{height:66px}.app-brand img{width:188px}.app-hero{padding:34px 0 18px}.app-welcome,.app-offer{padding:22px;border-radius:20px}.app-grid{grid-template-columns:1fr 1fr;gap:11px}.app-action{min-height:154px;padding:17px}.app-process{grid-template-columns:1fr}.app-status span{display:none}.draft-card{align-items:flex-start;flex-direction:column}}

/* BPDG Builder App V2 */
.count-pill{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:5px;border-radius:999px;background:rgba(255,255,255,.12);font-size:.72rem}
.app-action-button{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;border:1px solid var(--line)}
.app-bottom-nav.app-bottom-five{grid-template-columns:repeat(5,1fr)}
.app-local-note{margin-top:24px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);color:#a9c0d1;font-size:.84rem}
.app-update{position:fixed;z-index:120;left:50%;bottom:calc(var(--app-bottom) + 14px);transform:translate(-50%,30px);opacity:0;pointer-events:none;width:min(92vw,560px);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(94,201,255,.32);border-radius:15px;background:#0a2039;box-shadow:0 20px 55px rgba(0,0,0,.38);transition:.2s}.app-update.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}.app-update div{display:grid;gap:2px}.app-update span{color:var(--muted);font-size:.8rem}.app-update button{border:0;border-radius:10px;padding:10px 14px;background:var(--blue);color:#fff;font-weight:900;cursor:pointer}
.app-projects-hero{padding-bottom:34px}.project-manager{display:grid;gap:54px}.project-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#0d223d,#08182a);box-shadow:0 16px 40px rgba(0,0,0,.15)}.project-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.project-card-top small{color:var(--muted)}.status-chip{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(255,184,92,.10);border:1px solid rgba(255,184,92,.2);color:#ffc77b;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.status-chip.submitted{background:rgba(82,224,146,.09);border-color:rgba(82,224,146,.2);color:#76e8a5}.project-card h3{margin:14px 0 5px;font-size:1.25rem}.project-card p{margin:0;color:var(--muted)}.project-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.project-meta span{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:.76rem;color:#bfd3e2}.project-card-actions{display:flex;gap:8px;margin-top:18px}.project-card-actions .btn{padding:10px 14px}.device-only{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:.76rem;color:#819db1}.empty-projects{grid-column:1/-1;display:grid;gap:4px;padding:28px;border:1px dashed rgba(255,255,255,.14);border-radius:16px;text-align:center;color:#afc5d5}.empty-projects span{font-size:.85rem;color:var(--muted)}
.upload-limit{display:grid;gap:4px;margin:20px 0;padding:14px;border:1px solid rgba(85,204,255,.22);border-radius:12px;background:rgba(23,183,255,.055)}.upload-limit span{font-size:.82rem;color:var(--muted)}
.short-textarea{min-height:88px!important}.file-note{padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid var(--line)}.file-note.file-over{color:#ffc6c6;border-color:rgba(255,97,97,.28);background:rgba(255,60,60,.05)}
.netlify-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.intake-checklist{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:0 0 26px}.intake-checklist div{display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid var(--line);border-radius:10px;color:#7894a9;font-size:.75rem;font-weight:800}.intake-checklist i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.05);font-style:normal;font-size:.67rem;color:transparent}.intake-checklist div.done{color:#d8f5e4;border-color:rgba(82,224,146,.2);background:rgba(82,224,146,.045)}.intake-checklist div.done i{background:rgba(82,224,146,.16);color:#79e6a7}.submit-status.info{color:#79dcff}.submit-status.success{color:#79e6a7}.submit-status.error{color:#ffc1c1}.confirmation-hero{min-height:72vh;display:grid;align-items:center}.confirmation-card{max-width:840px;text-align:center}.confirm-mark{width:70px;height:70px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:rgba(82,224,146,.1);border:1px solid rgba(82,224,146,.24);color:#7de7a9;font-size:2rem;font-weight:950}.confirmation-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}.confirmation-card .app-local-note{text-align:left;max-width:670px;margin:28px auto 0}
@media(max-width:800px){.project-list{grid-template-columns:1fr}.intake-checklist{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.app-bottom-nav.app-bottom-five a{font-size:.66rem}.app-bottom-nav.app-bottom-five strong{font-size:.95rem}.intake-checklist{grid-template-columns:repeat(2,1fr)}.project-card-actions{flex-direction:column}.project-card-actions .btn{width:100%}.confirmation-actions .btn{width:100%}}


/* BPDG Builder App V3 — OneSignal push notifications */
.btn-notify{border:1px solid rgba(82,224,146,.28);background:rgba(82,224,146,.08);color:#c9f8dc;font-weight:900}.btn-notify:hover{background:rgba(82,224,146,.14)}.btn-notify:disabled{opacity:.58;cursor:not-allowed}
.push-card{margin-top:16px;padding:16px;border:1px solid rgba(255,184,92,.22);border-radius:15px;background:rgba(255,184,92,.045);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.push-card[data-state="on"]{border-color:rgba(82,224,146,.25);background:rgba(82,224,146,.05)}.push-card[data-state="setup"]{border-color:rgba(121,220,255,.25);background:rgba(23,183,255,.05)}.push-card p{margin:3px 0 0!important;font-size:.84rem!important}.push-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(23,183,255,.10);font-size:1.15rem}.push-icon.large{width:70px;height:70px;border-radius:20px;font-size:1.8rem;margin-bottom:18px}.notification-settings-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}.notification-panel h2{font-size:2rem;margin:8px 0}.notification-panel>p{color:var(--muted)}.notification-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.subscription-box{margin-top:24px;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);display:grid;gap:5px}.subscription-box span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:900}.subscription-box code{word-break:break-all;color:#b9e8fb;font-size:.78rem}.push-deeplink-banner{margin-bottom:26px;padding:20px;border:1px solid rgba(82,224,146,.25);border-radius:17px;background:linear-gradient(135deg,rgba(82,224,146,.07),rgba(23,183,255,.05));display:flex;align-items:center;justify-content:space-between;gap:18px}.push-deeplink-banner[hidden]{display:none}.push-deeplink-banner h3{margin:8px 0 5px}.push-deeplink-banner p{margin:0;color:#d8edf8}.push-deeplink-banner small{display:block;color:var(--muted);margin-top:7px}.project-card.push-highlight{outline:2px solid rgba(82,224,146,.55);box-shadow:0 0 0 6px rgba(82,224,146,.08),0 20px 48px rgba(0,0,0,.28)}.push-thankyou{margin:24px auto 0;max-width:670px;padding:14px 16px;border:1px solid rgba(82,224,146,.22);border-radius:13px;background:rgba(82,224,146,.045);display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.push-thankyou span{font-size:.82rem;color:var(--muted)}
@media(max-width:800px){.notification-settings-grid{grid-template-columns:1fr}.push-card{grid-template-columns:auto 1fr}.push-card .text-link{grid-column:1/-1}.push-deeplink-banner{align-items:flex-start;flex-direction:column}}

/* V3 branded launch + icon polish — exact BPDG logo asset / website palette */
.brand-launch{position:fixed;inset:0;z-index:500;display:grid;place-items:center;background:radial-gradient(circle at 50% 34%,rgba(23,183,255,.14),transparent 32%),linear-gradient(180deg,#06111f 0%,#07162a 52%,#06111f 100%);opacity:1;visibility:visible;transition:opacity .34s ease,visibility .34s ease}
.brand-launch.hide{opacity:0;visibility:hidden;pointer-events:none}
.brand-launch-inner{width:min(82vw,720px);text-align:center;padding:28px}
.brand-launch-logo{width:min(100%,620px);height:auto;display:block;margin:0 auto 28px}
.brand-launch-kicker{display:inline-flex;align-items:center;gap:12px;color:#79dcff;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.24em}
.brand-launch-kicker:before,.brand-launch-kicker:after{content:"";width:34px;height:1px;background:linear-gradient(90deg,transparent,#17b7ff)}
.brand-launch-kicker:after{transform:scaleX(-1)}
.brand-launch-sub{margin:12px 0 0;color:#a8bfd3;font-size:.92rem;letter-spacing:.02em}
@media(max-width:640px){.brand-launch-inner{width:min(90vw,520px);padding:20px}.brand-launch-logo{margin-bottom:22px}.brand-launch-kicker{font-size:.68rem;letter-spacing:.19em}.brand-launch-sub{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){.brand-launch{transition:none}}

/* V3.2 project-specific push updates */
.status-chip.push-status-chip{background:rgba(23,183,255,.10);border-color:rgba(23,183,255,.28);color:#79dcff;max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-id-chip{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.last-push-update{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);font-size:.78rem;color:#b9e8fb}.push-note{margin-top:10px;padding:10px 12px;border-left:3px solid rgba(121,220,255,.7);background:rgba(121,220,255,.06);border-radius:8px;color:#e7f7ff}.push-banner-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.push-link-tool{max-width:980px;margin:0 auto}.push-link-tool .tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.push-link-tool .tool-output{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.025)}.push-link-tool textarea{min-height:92px}.push-link-tool .copy-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.push-link-tool code{display:block;word-break:break-all;color:#b9e8fb}.push-link-tool .template-preview{display:grid;gap:10px}.push-link-tool .template-preview strong{font-size:1.05rem}.push-link-tool .template-preview p{margin:0;color:var(--muted)}
@media(max-width:760px){.push-link-tool .tool-grid{grid-template-columns:1fr}.push-banner-actions{justify-content:flex-start}}
