/* Instalação guiada compartilhada entre as marcas. Sem dependências externas. */
.pwa-install-box[hidden], [data-pwa-install][hidden], .pwa-guide[hidden], .pwa-guide [hidden] { display:none !important; }
.pwa-install-offer[hidden] { display:none !important; }
.pwa-install-offer { position:sticky; top:0; z-index:1100; display:flex; align-items:center; justify-content:center; gap:14px; padding:12px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left)); background:var(--card,#fff); border-bottom:1px solid var(--line,#d4dfe6); box-shadow:0 5px 22px #06283d12; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.pwa-offer-copy strong,.pwa-offer-copy span { display:block; }
.pwa-offer-copy strong { font-size:14px; color:var(--text,#102033); }
.pwa-offer-copy span { font-size:12px; line-height:1.4; color:var(--muted,#64748b); margin-top:3px; }
.pwa-install-offer .pwa-primary { min-height:40px; padding:10px 13px; font-size:12px; white-space:nowrap; }
.pwa-offer-dismiss { border:0; background:transparent; color:var(--muted,#64748b); padding:10px 4px; font-size:12px; text-decoration:underline; cursor:pointer; white-space:nowrap; }
.pwa-has-offer .login-page { min-height:calc(100vh - var(--pwa-offer-height,90px)); }
.pwa-safari-layouts { margin:0 0 16px; }
.pwa-safari-layouts > p { font-size:13px; font-weight:700; margin:0 0 10px; }
.pwa-safari-layouts > small { display:block; margin-top:8px; font-size:11px; color:var(--muted,#64748b); }
.pwa-safari-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.pwa-safari-choice { min-width:0; display:grid; grid-template-columns:52px minmax(0,1fr); align-items:center; gap:2px 7px; text-align:left; padding:10px 4px; background:var(--card,#fff); color:var(--text,#102033); border:1px solid var(--line,#d4dfe6); border-radius:12px; cursor:pointer; }
.pwa-safari-choice[aria-pressed="true"] { border:2px solid var(--primary,#06283d); padding:9px 3px; background:var(--bg,#f3f7fa); }
.pwa-safari-choice strong { font-size:11px; align-self:end; margin:0; line-height:1.3; }
.pwa-safari-choice small { display:block; font-size:9px; align-self:start; line-height:1.3; margin-top:3px; color:var(--muted,#64748b); }
.pwa-safari-choice:focus-visible { outline:3px solid var(--secondary,#00b8a9); outline-offset:2px; }
.pwa-safari-reference { margin-top:10px; font-size:11px; color:var(--muted,#64748b); line-height:1.6; }
.pwa-safari-reference summary { cursor:pointer; text-decoration:underline; padding:4px 0; }
.pwa-safari-reference img { display:block; max-width:260px; width:100%; height:auto; margin:12px auto; }
.pwa-safari-reference a { color:var(--primary,#06283d); }
.pwa-safari-phone { display:flex; flex-direction:column; position:relative; grid-row:1 / 3; width:100%; max-width:52px; height:85px; border:2px solid #304b5b; border-radius:10px; background:#f1f5f8; overflow:hidden; color:#183a50; padding:13px 3px 5px; box-sizing:border-box; }
.pwa-safari-island { position:absolute; top:4px; width:22px; height:4px; border-radius:5px; background:#304b5b; left:50%; transform:translateX(-50%); }
.pwa-safari-page { flex:1; min-height:0; overflow:hidden; display:flex; flex-direction:column; gap:3px; padding:4px 3px; }
.pwa-safari-page > span { height:4px; border-radius:3px; background:#cbd9e1; }
.pwa-safari-page > span:first-child { height:13px; background:#dce8ee; }
.pwa-safari-address { flex-shrink:0; background:#e2e9ed; border-radius:6px; padding:4px 1px; font-size:6px; line-height:1; text-align:center; }
.pwa-safari-tools { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; font-size:7px; padding-top:4px; }
.pwa-safari-target { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; width:17px; height:21px; border:2px solid #ee9f20; border-radius:6px; background:#fff; color:#145890; box-sizing:border-box; }
.pwa-safari-target svg { width:12px; height:17px; }
.pwa-safari-compactbar { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:2px; font-size:9px; }
.pwa-safari-compactbar .pwa-safari-address { flex:1; }
.pwa-safari-compactbar .pwa-safari-target { width:20px; height:22px; font-size:9px; letter-spacing:-1px; }
.pwa-access-note { font-size:12px; line-height:1.6; color:var(--muted,#64748b); margin:16px 0 0; }
.pwa-top-install { display:inline-flex; align-items:center; gap:6px; white-space:normal; border:1px solid var(--line,#d4dfe6); border-radius:9px; background:var(--card,#fff); color:var(--text,#102033); padding:8px 12px; cursor:pointer; }
.pwa-top-install > span:first-child { font-size:20px; line-height:1; }
.pwa-guide { position:fixed; inset:0; z-index:100001; display:flex; align-items:center; justify-content:center; padding:16px; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.pwa-guide-backdrop { position:absolute; inset:0; background:rgba(4,21,34,.65); backdrop-filter:blur(5px); }
.pwa-guide-card { position:relative; width:100%; max-width:480px; max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; padding:30px; border-radius:24px; background:var(--card,#fff); color:var(--text,#102033); box-shadow:0 24px 90px #0005; }
.pwa-guide-close { position:absolute; top:12px; right:12px; width:40px; height:40px; border:0; border-radius:50%; background:var(--bg,#eef4f7); color:inherit; font-size:25px; cursor:pointer; }
.pwa-guide-kicker,.pwa-kicker { display:block; color:var(--secondary,#008d83); font-size:11px; font-weight:800; letter-spacing:.13em; }
.pwa-guide h2 { font-size:25px; line-height:1.2; margin:12px 30px 12px 0; font-weight:800; }
.pwa-guide-intro { font-size:14px; line-height:1.6; color:var(--muted,#64748b); margin:0 0 18px; }
.pwa-guide-steps { list-style:none; padding:0; margin:0 0 20px; counter-reset:pwa-step; }
.pwa-guide-steps li { position:relative; counter-increment:pwa-step; padding:14px 12px 14px 48px; margin:8px 0; border:1px solid var(--line,#e2e8f0); border-radius:14px; font-size:14px; line-height:1.5; }
.pwa-guide-steps li:before { content:counter(pwa-step); position:absolute; left:12px; top:14px; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:var(--primary,#06283d); color:#fff; font-size:12px; font-weight:800; }
.pwa-share-symbol { display:inline-block; width:21px; height:24px; vertical-align:middle; margin:0 4px; color:var(--primary,#06283d); }
.pwa-guide-tip { padding:12px; border-radius:12px; background:var(--bg,#f3f7fa); font-size:12px; line-height:1.6; color:var(--muted,#64748b); }
.pwa-guide-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.pwa-primary,.pwa-secondary { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:48px; padding:13px 20px; border-radius:12px; font:600 14px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-decoration:none; cursor:pointer; text-align:center; }
.pwa-primary { background:var(--primary,#06283d); color:#fff; border:1px solid var(--primary,#06283d); }
.pwa-primary:hover,.pwa-primary:focus { color:#fff; background:var(--primary-dark,#041c2f); text-decoration:none; }
.pwa-secondary { border:1px solid var(--line,#d4dfe6); background:var(--card,#fff); color:var(--text,#102033); }
.pwa-secondary:hover { background:var(--bg,#f3f7fa); }
.pwa-primary:focus-visible,.pwa-secondary:focus-visible,.pwa-guide-close:focus-visible { outline:3px solid var(--secondary,#00b8a9); outline-offset:3px; }
.pwa-copy-status { width:100%; margin:0; font-size:12px; color:var(--muted,#64748b); }
.pwa-copy-input { width:100%; box-sizing:border-box; padding:12px; font-size:16px; border:1px solid var(--line,#d4dfe6); border-radius:8px; color:var(--text,#102033); background:var(--card,#fff); }
body.pwa-guide-open { overflow:hidden; }
.pwa-landing { margin:0; background:#f3f7f9; color:#102b3a; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
.pwa-landing * { box-sizing:border-box; }
.pwa-welcome { max-width:1140px; min-height:100vh; padding:40px 44px 24px; margin:auto; }
.pwa-welcome-brand { display:inline-flex; align-items:center; min-height:64px; }
.pwa-welcome-brand img { max-width:220px; max-height:80px; object-fit:contain; }
.pwa-welcome-grid { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:50px; padding:55px 0 65px; }
.pwa-welcome h1 { font-size:clamp(36px,4.8vw,58px); letter-spacing:-.045em; line-height:1.06; margin:20px 0 24px; font-weight:800; }
.pwa-lead { font-size:18px; line-height:1.7; max-width:440px; color:#536976; }
.pwa-welcome-actions { display:flex; align-items:stretch; flex-wrap:wrap; gap:12px; margin-top:28px; }
.pwa-caption { font-size:12px; color:#637d8b; line-height:1.6; min-height:20px; }
.pwa-welcome-copy .pwa-access-note { max-width:410px; border-top:1px solid #dce5e9; padding-top:18px; margin-top:25px; }
.pwa-preview { position:relative; display:flex; align-items:center; flex-direction:column; padding:25px 20px 0; border-radius:40px; background:linear-gradient(145deg,#deefec,#e3edf5); }
.pwa-phone { width:218px; height:382px; border:7px solid #102b3a; border-radius:32px; padding:28px 14px 14px; background:#f8fbfc; box-shadow:0 22px 35px #163c4926; transform:rotate(4deg); position:relative; }
.pwa-phone-island { position:absolute; top:8px; left:50%; transform:translateX(-50%); width:56px; height:12px; border-radius:20px; background:#102b3a; }
.pwa-phone-header span { display:block; color:#708a97; font-size:10px; }
.pwa-phone-header strong { display:block; font-size:23px; margin:5px 0 17px; }
.pwa-phone-card { display:flex; align-items:center; flex-direction:column; border-radius:14px; background:#fff; padding:12px 6px; border:1px solid #e2ecef; }
.pwa-boat-mark { color:var(--secondary,#008d83); font-size:36px; line-height:1; }
.pwa-phone-card strong { font-size:12px; margin:8px 0 5px; }
.pwa-phone-card small { font-size:9px; color:#6d8591; }
.pwa-phone-row { display:flex; justify-content:space-between; padding:11px; margin-top:7px; border-radius:8px; background:#fff; font-size:11px; }
.pwa-phone-row span:last-child { color:var(--secondary,#008d83); }
.pwa-phone-bottom { position:absolute; bottom:12px; left:14px; right:14px; text-align:center; color:#7e949f; font-size:13px; letter-spacing:7px; }
.pwa-preview-note { width:calc(100% + 40px); background:#fff; margin-top:28px; padding:20px 25px; border-radius:0 0 35px 35px; border:1px solid #e1eaee; }
.pwa-preview-note strong,.pwa-preview-note span { display:block; }
.pwa-preview-note strong { font-size:15px; }
.pwa-preview-note span { font-size:12px; line-height:1.6; margin-top:6px; color:#637d8b; }
.pwa-welcome-footer { display:flex; justify-content:space-between; gap:14px; border-top:1px solid #dce5e9; padding-top:22px; font-size:11px; line-height:1.6; color:#6c818d; }
@media(max-width:767px) {
    .pwa-install-offer { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:10px; row-gap:1px; padding:10px 14px; }
    .pwa-offer-copy { grid-row:1 / 3; }
    .pwa-offer-copy strong { font-size:13px; }
    .pwa-offer-copy span { font-size:11px; max-width:200px; }
    .pwa-offer-dismiss { padding:5px 0 0; font-size:11px; }
    .pwa-top-install { max-width:135px; font-size:11px; padding:7px 9px; }
    .top-actions .pwa-top-install { grid-row:2; grid-column:1 / -1; justify-self:start; max-width:none; }
    .pwa-welcome { padding:25px 24px; }
    .pwa-welcome-brand img { max-height:65px; max-width:190px; }
    .pwa-welcome-grid { grid-template-columns:1fr; gap:30px; padding:24px 0 35px; }
    .pwa-welcome h1 { font-size:40px; margin:17px 0; }
    .pwa-lead { font-size:16px; margin-bottom:0; }
    .pwa-welcome-actions { flex-direction:column; margin-top:23px; }
    .pwa-welcome-actions > * { width:100%; }
    .pwa-preview { padding-top:20px; }
    .pwa-phone { width:190px; height:350px; }
    .pwa-phone-header strong { font-size:21px; }
    .pwa-phone-row { padding:9px; }
    .pwa-welcome-footer { flex-direction:column; gap:4px; }
    .pwa-guide-card { padding:26px 20px; }
    .pwa-guide h2 { font-size:23px; }
    .pwa-guide-actions > button { flex:1; }
}
@media(prefers-reduced-motion:reduce) { .pwa-guide * { animation:none !important; } }
