/* InsuranceMarketplace shell (#693 casca) */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, sans-serif; background: var(--bg-app); color: var(--fg-default); }

.mkt-shell { display: flex; flex-direction: column; min-height: 100vh; }

.mkt-header {
    display: flex; align-items: center; gap: 12px;
    background: var(--seg-blue);
    padding: 16px 24px;
}
.mkt-header-title { font-size: 14px; font-weight: 700; color: var(--white); letter-spacing: .02em; }

.mkt-content { flex: 1; padding: 40px; }

.mkt-section h1 { font-size: 22px; font-weight: 700; color: var(--seg-blue); margin: 0 0 8px; }
.mkt-section p.mkt-desc { font-size: 14px; color: var(--fg-secondary); margin: 0; }

/* ───── Auth shell (Login) — dogfood 2026-07-12, mesmo padrao usado por
   GamefiedDataCollection/Insights/Portal (classes sn-auth-* duplicadas por app,
   convencao ja existente no repo) ───── */
.sn-auth-shell { display:flex; min-height:100vh; background:var(--bg-app); }
.sn-auth-hero { flex:1.2; background:var(--brand-bg-logo, var(--seg-blue)); position:relative; display:flex; align-items:center; justify-content:center; padding:48px; overflow:hidden; }
.sn-auth-hero-grad { position:absolute; inset:0; background:radial-gradient(ellipse at 30% 20%,rgba(186,212,85,.15),transparent 60%); pointer-events:none; }
.sn-auth-hero-content { position:relative; z-index:1; max-width:360px; color:var(--fg-strong); display:flex; flex-direction:column; gap:16px; }
.sn-auth-hero-title { font-size:28px; font-weight:700; margin:0; color:var(--fg-strong); }
.sn-auth-hero-sub { font-size:14px; color:var(--fg-secondary); margin:0; line-height:1.5; }
.sn-auth-body { flex:1; display:flex; align-items:center; justify-content:center; padding:32px; position:relative; }
.sn-auth-card { width:100%; max-width:420px; background:var(--bg-surface); border-radius:14px; box-shadow:0 8px 32px rgba(19,31,82,.10); padding:40px; }
.sn-auth-card-header { margin-bottom:24px; }
.sn-auth-card-title { font-size:24px; font-weight:700; color:var(--fg-strong); margin:0 0 6px; }
.sn-auth-card-sub { font-size:13px; color:var(--fg-secondary); margin:0; }
.sn-auth-card-footer { margin-top:20px; text-align:center; }

@media (max-width:768px) {
  .sn-auth-shell { flex-direction:column; }
  .sn-auth-hero { flex:none; min-height:200px; padding:24px; }
  .sn-auth-body { padding:16px; }
  .sn-auth-card { padding:24px; box-shadow:none; max-width:100%; }
}
