:root {
    --navy: #111c3a;
    --navy-2: #1a2850;
    --ink: #172033;
    --muted: #66738a;
    --muted-2: #8792a6;
    --surface: #ffffff;
    --surface-2: #f6f8fc;
    --surface-3: #eef2f8;
    --line: #e2e7f0;
    --primary: #5b5cf0;
    --primary-dark: #4949d6;
    --primary-soft: #efefff;
    --success: #198754;
    --success-soft: #e9f7ef;
    --warning: #ad6800;
    --warning-soft: #fff5df;
    --danger: #c7354c;
    --danger-soft: #fff0f2;
    --info: #1d6fb8;
    --info-soft: #edf6ff;
    --shadow-sm: 0 8px 24px rgba(25, 38, 72, .07);
    --shadow-lg: 0 26px 70px rgba(25, 38, 72, .14);
    --radius: 14px;
    --radius-lg: 22px;
    --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--surface-2);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}
button, input, select, textarea { font: inherit; }
a { color: var(--primary); text-decoration: none; }
a:hover { color: var(--primary-dark); }
img, svg { max-width: 100%; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

.brand { display: inline-flex; align-items: center; gap: 9px; color: var(--navy); font-weight: 800; letter-spacing: -.03em; }
.brand:hover { color: var(--navy); }
.brand-mark { width: 34px; height: 34px; display: inline-flex; color: var(--primary); }
.brand-mark svg { width: 100%; height: 100%; }
.brand-word { font-size: 21px; }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 18px;
    border: 1px solid transparent;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 700;
    line-height: 1.2;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--primary); box-shadow: 0 8px 18px rgba(91,92,240,.24); }
.btn-primary:hover { color: #fff; background: var(--primary-dark); }
.btn-secondary { color: var(--ink); background: #fff; border-color: var(--line); }
.btn-secondary:hover { color: var(--ink); border-color: #c9d0df; background: #fbfcfe; }
.btn-danger { color: #fff; background: var(--danger); }
.btn-danger:hover { color: #fff; background: #a8283c; }
.btn-ghost { color: var(--primary); background: transparent; }
.btn-ghost:hover { background: var(--primary-soft); }
.btn-sm { min-height: 38px; padding: 8px 14px; font-size: 14px; }
.btn-block { width: 100%; }
.btn[disabled] { opacity: .55; pointer-events: none; }

.alert-wrap { padding-top: 16px; }
.alert { margin-bottom: 18px; padding: 13px 16px; border: 1px solid transparent; border-radius: 11px; font-weight: 600; }
.alert-success { color: #146c43; background: var(--success-soft); border-color: #ccebd8; }
.alert-warning { color: #875100; background: var(--warning-soft); border-color: #f1dcae; }
.alert-danger, .alert-error { color: #9e2639; background: var(--danger-soft); border-color: #f3ccd3; }
.alert-info { color: #175a94; background: var(--info-soft); border-color: #cce5fb; }

.public-page { background: #fff; }
.public-header { position: sticky; z-index: 30; top: 0; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(226,231,240,.8); backdrop-filter: blur(14px); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; }
.public-nav { display: flex; align-items: center; gap: 26px; }
.public-nav > a:not(.btn) { color: #445169; font-weight: 650; }
.public-nav > a:not(.btn):hover { color: var(--primary); }
.nav-toggle { display: none; border: 1px solid var(--line); background: #fff; color: var(--ink); border-radius: 9px; padding: 8px 12px; font-weight: 700; }

.hero { position: relative; overflow: hidden; padding: 104px 0 90px; background: linear-gradient(180deg, #fff 0%, #f7f8ff 100%); }
.hero::before { content: ""; position: absolute; width: 520px; height: 520px; border-radius: 50%; right: -150px; top: -230px; background: radial-gradient(circle, rgba(91,92,240,.18), rgba(91,92,240,0) 70%); }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.03fr .97fr; gap: 76px; align-items: center; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; color: var(--primary); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 28px; height: 2px; background: currentColor; }
.hero h1 { margin: 0 0 22px; color: var(--navy); font-size: clamp(42px, 5.4vw, 68px); line-height: 1.04; letter-spacing: -.055em; }
.hero-copy { margin: 0 0 30px; max-width: 650px; color: #59667e; font-size: 19px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 23px; }
.hero-note { color: var(--muted); font-size: 13px; }
.hero-note strong { color: var(--ink); }

.product-preview { position: relative; padding: 18px; border-radius: 24px; background: linear-gradient(145deg, #19284f, #0d1732); box-shadow: var(--shadow-lg); transform: rotate(1.2deg); }
.product-preview::after { content: ""; position: absolute; inset: auto 12% -28px 12%; height: 55px; border-radius: 50%; background: rgba(28,39,76,.23); filter: blur(25px); z-index: -1; }
.preview-window { overflow: hidden; border-radius: 15px; background: #f5f7fb; }
.preview-bar { display: flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px; background: #fff; border-bottom: 1px solid var(--line); }
.preview-dot { width: 8px; height: 8px; border-radius: 50%; background: #d9dfeb; }
.preview-body { display: grid; grid-template-columns: 110px 1fr; min-height: 390px; }
.preview-side { padding: 18px 12px; background: var(--navy); }
.preview-logo { width: 68px; height: 12px; margin: 0 0 28px 4px; border-radius: 6px; background: rgba(255,255,255,.85); }
.preview-nav-line { height: 9px; margin: 0 4px 15px; border-radius: 6px; background: rgba(255,255,255,.15); }
.preview-nav-line.active { background: rgba(126,126,255,.8); }
.preview-content { padding: 25px; }
.preview-title { width: 42%; height: 18px; margin-bottom: 23px; border-radius: 7px; background: #263451; }
.preview-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.preview-stat { padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: #fff; }
.preview-stat b { display: block; font-size: 24px; color: var(--navy); }
.preview-stat span { color: var(--muted); font-size: 10px; }
.preview-chart { position: relative; height: 148px; margin-top: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fff; overflow: hidden; }
.preview-chart::before { content: ""; position: absolute; inset: 18px; background: linear-gradient(to bottom, transparent 24%, #eef1f6 25%, transparent 26%, transparent 49%, #eef1f6 50%, transparent 51%, transparent 74%, #eef1f6 75%, transparent 76%); }
.preview-chart svg { position: absolute; inset: 18px; width: calc(100% - 36px); height: calc(100% - 36px); }
.preview-list { display: grid; gap: 9px; margin-top: 15px; }
.preview-row { display: grid; grid-template-columns: 28px 1fr 56px; align-items: center; gap: 9px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.preview-avatar { width: 25px; height: 25px; border-radius: 50%; background: var(--primary-soft); }
.preview-text { height: 8px; border-radius: 5px; background: #dfe4ed; }
.preview-badge { height: 18px; border-radius: 7px; background: #e9f7ef; }

.logo-strip { padding: 24px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.logo-strip-inner { display: flex; justify-content: center; gap: 50px; flex-wrap: wrap; color: #8b96a8; font-weight: 800; letter-spacing: .02em; }

.section { padding: 96px 0; }
.section-soft { background: var(--surface-2); }
.section-heading { max-width: 720px; margin: 0 auto 52px; text-align: center; }
.section-heading.left { margin-left: 0; text-align: left; }
.section-heading h2 { margin: 0 0 15px; color: var(--navy); font-size: clamp(32px, 4vw, 46px); line-height: 1.12; letter-spacing: -.045em; }
.section-heading p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.feature-card { padding: 30px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.feature-icon { display: grid; place-items: center; width: 46px; height: 46px; margin-bottom: 20px; color: var(--primary); border-radius: 13px; background: var(--primary-soft); font-size: 22px; font-weight: 900; }
.feature-card h3 { margin: 0 0 10px; color: var(--navy); font-size: 20px; }
.feature-card p { margin: 0; color: var(--muted); line-height: 1.7; }

.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; counter-reset: steps; }
.step { position: relative; padding-top: 58px; counter-increment: steps; }
.step::before { content: counter(steps); position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 42px; height: 42px; color: #fff; border-radius: 12px; background: var(--primary); font-weight: 800; }
.step:not(:last-child)::after { content: ""; position: absolute; top: 21px; left: 58px; width: calc(100% - 68px); height: 1px; background: #d9deea; }
.step h3 { margin: 0 0 8px; color: var(--navy); font-size: 20px; }
.step p { margin: 0; color: var(--muted); }

.pricing-card { max-width: 760px; margin: 0 auto; display: grid; grid-template-columns: 1fr .82fr; overflow: hidden; border: 1px solid var(--line); border-radius: 26px; background: #fff; box-shadow: var(--shadow-lg); }
.pricing-main { padding: 42px; }
.pricing-main h3 { margin: 0 0 10px; color: var(--navy); font-size: 25px; }
.price { display: flex; align-items: baseline; gap: 6px; margin: 18px 0; color: var(--navy); }
.price strong { font-size: 54px; line-height: 1; letter-spacing: -.05em; }
.price span { color: var(--muted); }
.price-features { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.price-features li { display: flex; align-items: center; gap: 10px; color: #4f5d73; }
.price-features li::before { content: "✓"; display: grid; place-items: center; width: 21px; height: 21px; color: var(--success); border-radius: 50%; background: var(--success-soft); font-weight: 900; }
.pricing-side { display: flex; flex-direction: column; justify-content: center; padding: 42px; color: #fff; background: linear-gradient(150deg, var(--navy), #222f62); }
.pricing-side h3 { margin: 0 0 12px; font-size: 25px; }
.pricing-side p { margin: 0 0 22px; color: #c9d1e3; }
.pricing-side .btn-secondary { border: 0; }

.cta { padding: 82px 0; color: #fff; background: linear-gradient(135deg, #111c3a 0%, #27275e 100%); }
.cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.cta h2 { margin: 0 0 10px; font-size: 36px; letter-spacing: -.04em; }
.cta p { margin: 0; color: #c8d0e2; font-size: 17px; }

.public-footer { padding: 62px 0 24px; color: #aeb8ca; background: #0d1731; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 70px; }
.brand-footer { color: #fff; }
.brand-footer:hover { color: #fff; }
.footer-grid p { max-width: 430px; }
.footer-grid h2 { margin: 3px 0 14px; color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .08em; }
.footer-grid > div > a:not(.brand) { display: block; margin: 8px 0; color: #aeb8ca; }
.footer-grid > div > a:hover { color: #fff; }
.footer-bottom { margin-top: 48px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.11); font-size: 13px; }

.auth-page { min-height: 100vh; background: radial-gradient(circle at 85% 8%, rgba(91,92,240,.14), transparent 33%), var(--surface-2); }
.auth-page .public-header { position: relative; }
.auth-page .public-nav > a:not(.btn) { display: none; }
.auth-section { min-height: calc(100vh - 76px); display: grid; place-items: center; padding: 50px 20px 72px; }
.auth-card { width: min(100%, 520px); padding: 38px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-lg); }
.auth-card-sm { max-width: 460px; text-align: center; }
.auth-card h1 { margin: 0 0 8px; color: var(--navy); font-size: 30px; letter-spacing: -.035em; }
.auth-subtitle { margin: 0 0 28px; color: var(--muted); }
.auth-footer { margin: 22px 0 0; color: var(--muted); text-align: center; }
.auth-card .brand { margin-bottom: 25px; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.form-group { margin-bottom: 17px; }
.form-group label { display: block; margin-bottom: 7px; color: #354158; font-size: 14px; font-weight: 700; }
.form-control, .form-select, .form-textarea {
    width: 100%;
    border: 1px solid #ccd4e2;
    border-radius: 10px;
    background: #fff;
    color: var(--ink);
    outline: none;
    transition: border-color .15s, box-shadow .15s;
}
.form-control, .form-select { height: 46px; padding: 0 13px; }
.form-textarea { min-height: 120px; padding: 12px 13px; resize: vertical; }
.form-control:focus, .form-select:focus, .form-textarea:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(91,92,240,.13); }
.form-control.invalid, .form-select.invalid, .form-textarea.invalid { border-color: var(--danger); }
.form-help { margin-top: 6px; color: var(--muted); font-size: 12px; }
.form-error { margin-top: 6px; color: var(--danger); font-size: 12px; font-weight: 650; }
.form-check { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 18px; color: #4e5a70; }
.form-check input { margin-top: 4px; accent-color: var(--primary); }
.form-between { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.status-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 18px; border-radius: 18px; font-size: 26px; font-weight: 900; }
.status-error { color: var(--danger); background: var(--danger-soft); }
.status-success { color: var(--success); background: var(--success-soft); }

.app-page { min-height: 100vh; background: #f5f7fb; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 258px minmax(0, 1fr); }
.sidebar { position: sticky; z-index: 50; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 22px 16px 18px; color: #cad2e4; background: var(--navy); }
.sidebar-top { display: flex; align-items: center; justify-content: space-between; padding: 0 7px; }
.brand-sidebar { color: #fff; }
.brand-sidebar:hover { color: #fff; }
.brand-sidebar .brand-mark { color: #8889ff; }
.brand-sidebar .brand-word { font-size: 19px; }
.sidebar-close { display: none; border: 0; color: #fff; background: transparent; font-size: 26px; cursor: pointer; }
.tenant-card { margin: 27px 0 18px; padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.055); }
.tenant-card strong, .tenant-card span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tenant-card strong { color: #fff; font-size: 14px; }
.tenant-card span:last-child { margin-top: 2px; color: #9facbf; font-size: 12px; }
.tenant-label { margin-bottom: 5px; color: #8492aa !important; font-size: 10px !important; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.side-nav { display: grid; gap: 5px; }
.side-nav a { display: flex; align-items: center; gap: 12px; min-height: 45px; padding: 0 12px; color: #b8c2d6; border-radius: 10px; font-weight: 650; }
.side-nav a:hover { color: #fff; background: rgba(255,255,255,.07); }
.side-nav a.active { color: #fff; background: rgba(112,113,255,.22); }
.nav-icon { display: inline-flex; width: 19px; height: 19px; }
.nav-icon svg { width: 100%; height: 100%; fill: currentColor; }
.sidebar-bottom { display: grid; gap: 7px; margin-top: auto; padding: 15px 10px 0; border-top: 1px solid rgba(255,255,255,.1); }
.sidebar-bottom a { color: #9eabc1; font-size: 13px; }
.sidebar-bottom a:hover { color: #fff; }
.sidebar-backdrop { display: none; }
.app-main { min-width: 0; }
.app-topbar { min-height: 90px; display: flex; align-items: center; gap: 18px; padding: 18px 32px; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); backdrop-filter: blur(12px); }
.page-heading { min-width: 0; }
.page-heading h1 { margin: 0; color: var(--navy); font-size: 25px; letter-spacing: -.03em; }
.page-heading p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.sidebar-open { display: none; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 9px; background: #fff; color: var(--ink); cursor: pointer; }
.topbar-actions { display: flex; align-items: center; gap: 13px; margin-left: auto; }
.workspace-switch { max-width: 210px; color: #4c5870; font-weight: 650; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.avatar { display: grid; place-items: center; width: 40px; height: 40px; color: #fff; border-radius: 12px; background: linear-gradient(145deg, var(--primary), #7a5eea); font-weight: 800; }
.avatar:hover { color: #fff; }
.app-content { padding: 28px 32px 50px; }

.card { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: 0 3px 12px rgba(24,36,66,.03); }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.card-header h2, .card-header h3 { margin: 0; color: var(--navy); font-size: 17px; }
.card-header p { margin: 3px 0 0; color: var(--muted); font-size: 13px; }
.card-body { padding: 22px; }
.card-footer { padding: 16px 22px; border-top: 1px solid var(--line); background: #fbfcfe; border-radius: 0 0 var(--radius) var(--radius); }
.cards-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-bottom: 22px; }
.metric-card { padding: 21px; }
.metric-label { display: flex; align-items: center; justify-content: space-between; color: var(--muted); font-size: 13px; font-weight: 650; }
.metric-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--primary-soft); color: var(--primary); }
.metric-value { margin-top: 12px; color: var(--navy); font-size: 31px; line-height: 1; font-weight: 800; letter-spacing: -.04em; }
.metric-foot { margin-top: 9px; color: var(--muted-2); font-size: 12px; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 22px; }
.stack { display: grid; gap: 22px; }
.chart-empty { min-height: 220px; display: grid; place-items: center; padding: 30px; color: var(--muted); text-align: center; }
.chart-empty-icon { width: 64px; height: 64px; margin: 0 auto 12px; border-radius: 20px; background: var(--surface-3); }
.setup-list { display: grid; gap: 12px; }
.setup-item { display: flex; align-items: center; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; }
.setup-check { display: grid; place-items: center; flex: 0 0 auto; width: 27px; height: 27px; color: var(--muted); border-radius: 50%; background: var(--surface-3); font-size: 13px; font-weight: 900; }
.setup-item.done .setup-check { color: #fff; background: var(--success); }
.setup-item strong { display: block; color: #334057; font-size: 13px; }
.setup-item span { display: block; color: var(--muted); font-size: 12px; }
.usage-bar { height: 9px; margin: 13px 0 8px; border-radius: 8px; background: var(--surface-3); overflow: hidden; }
.usage-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--primary), #8586ff); }

.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.toolbar-group { display: flex; align-items: center; gap: 10px; }
.table-wrap { width: 100%; overflow-x: auto; }
.table { width: 100%; border-collapse: collapse; }
.table th { padding: 12px 16px; color: #69758b; background: #f8f9fc; border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 800; letter-spacing: .06em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.table td { padding: 15px 16px; border-bottom: 1px solid #edf0f5; color: #445066; vertical-align: middle; }
.table tr:last-child td { border-bottom: 0; }
.table-title { color: var(--ink); font-weight: 700; }
.table-subtitle { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
.badge { display: inline-flex; align-items: center; min-height: 24px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; text-transform: capitalize; }
.badge-active, .badge-success { color: #147245; background: var(--success-soft); }
.badge-trial, .badge-pending, .badge-warning { color: #915800; background: var(--warning-soft); }
.badge-inactive, .badge-disabled { color: #5e697d; background: var(--surface-3); }
.badge-danger, .badge-expired { color: #a6263a; background: var(--danger-soft); }
.actions { display: flex; align-items: center; gap: 8px; }
.action-link { font-size: 13px; font-weight: 700; }
.empty-state { padding: 52px 25px; text-align: center; }
.empty-state h3 { margin: 0 0 7px; color: var(--navy); font-size: 19px; }
.empty-state p { max-width: 500px; margin: 0 auto 20px; color: var(--muted); }
.empty-icon { display: grid; place-items: center; width: 60px; height: 60px; margin: 0 auto 16px; border-radius: 18px; color: var(--primary); background: var(--primary-soft); font-size: 24px; font-weight: 900; }

.form-card { max-width: 900px; }
.form-section { padding: 25px 0; border-bottom: 1px solid var(--line); }
.form-section:first-child { padding-top: 0; }
.form-section:last-child { border-bottom: 0; padding-bottom: 0; }
.form-section h3 { margin: 0 0 5px; color: var(--navy); font-size: 17px; }
.form-section > p { margin: 0 0 19px; color: var(--muted); font-size: 13px; }
.form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }
.color-input { display: flex; align-items: center; gap: 10px; }
.color-input input[type="color"] { width: 46px; height: 42px; padding: 3px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }

.onboarding-page .app-shell { grid-template-columns: 1fr; }
.onboarding-page .sidebar { display: none; }
.onboarding-page .app-topbar { justify-content: center; }
.onboarding-page .topbar-actions { position: absolute; right: 28px; }
.onboarding-wrap { max-width: 900px; margin: 10px auto; }
.progress-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; margin-bottom: 24px; }
.progress-step { height: 6px; border-radius: 6px; background: #dfe4ed; }
.progress-step.active, .progress-step.done { background: var(--primary); }
.onboarding-card { overflow: hidden; }
.onboarding-hero { padding: 30px; color: #fff; background: linear-gradient(145deg, var(--navy), #283368); }
.onboarding-hero .eyebrow { color: #aeb6ff; }
.onboarding-hero h2 { margin: 0 0 8px; font-size: 27px; }
.onboarding-hero p { margin: 0; color: #cbd2e4; }
.onboarding-body { padding: 30px; }
.review-link-row { display: grid; grid-template-columns: 170px 1fr; gap: 14px; align-items: end; margin-bottom: 15px; }
.token-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
.token { padding: 4px 8px; border-radius: 6px; background: var(--surface-3); color: #536079; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; }

.legal { max-width: 820px; padding: 75px 0; }
.legal h1 { color: var(--navy); font-size: 40px; letter-spacing: -.04em; }
.legal h2 { margin-top: 34px; color: var(--navy); }
.legal p, .legal li { color: #536079; line-height: 1.75; }
.draft-notice { padding: 14px 16px; border: 1px solid #eed79e; border-radius: 10px; color: #7a5100; background: #fff7df; }

@media (max-width: 1080px) {
    .feature-grid { grid-template-columns: repeat(2, 1fr); }
    .cards-grid { grid-template-columns: repeat(2, 1fr); }
    .dashboard-grid { grid-template-columns: 1fr; }
}

@media (max-width: 860px) {
    .hero { padding-top: 72px; }
    .hero-grid { grid-template-columns: 1fr; gap: 48px; }
    .product-preview { max-width: 650px; margin: 0 auto; }
    .pricing-card { grid-template-columns: 1fr; }
    .steps { grid-template-columns: 1fr; }
    .step:not(:last-child)::after { display: none; }
    .cta-inner { align-items: flex-start; flex-direction: column; }
    .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; gap: 35px; }
    .app-shell { display: block; }
    .sidebar { position: fixed; left: -280px; width: 258px; transition: left .2s ease; }
    body.sidebar-visible .sidebar { left: 0; }
    .sidebar-close, .sidebar-open { display: inline-grid; place-items: center; }
    .sidebar-backdrop { position: fixed; z-index: 40; inset: 0; background: rgba(7,14,33,.48); }
    body.sidebar-visible .sidebar-backdrop { display: block; }
    .app-topbar { padding-inline: 22px; }
    .app-content { padding-inline: 22px; }
}

@media (max-width: 680px) {
    .container { width: min(calc(100% - 28px), var(--container)); }
    .public-header { position: relative; }
    .header-inner { flex-wrap: wrap; min-height: 68px; }
    .nav-toggle { display: block; }
    .public-nav { display: none; width: 100%; padding: 14px 0 20px; align-items: stretch; flex-direction: column; gap: 12px; }
    .public-nav.open { display: flex; }
    .hero { padding: 65px 0 70px; }
    .hero h1 { font-size: 43px; }
    .hero-copy { font-size: 17px; }
    .hero-actions .btn { width: 100%; }
    .preview-body { grid-template-columns: 82px 1fr; min-height: 320px; }
    .preview-content { padding: 17px; }
    .preview-stats { grid-template-columns: 1fr 1fr; }
    .preview-stat:last-child { display: none; }
    .feature-grid { grid-template-columns: 1fr; }
    .section { padding: 72px 0; }
    .section-heading { margin-bottom: 35px; }
    .pricing-main, .pricing-side { padding: 30px; }
    .footer-grid { grid-template-columns: 1fr; }
    .auth-section { padding-inline: 14px; }
    .auth-card { padding: 27px 22px; }
    .form-row { grid-template-columns: 1fr; gap: 0; }
    .cards-grid { grid-template-columns: 1fr; }
    .app-topbar { min-height: 78px; padding: 14px; }
    .app-content { padding: 18px 14px 40px; }
    .page-heading h1 { font-size: 21px; }
    .page-heading p, .workspace-switch { display: none; }
    .toolbar { align-items: stretch; flex-direction: column; }
    .toolbar-group { flex-wrap: wrap; }
    .card-header { align-items: flex-start; flex-direction: column; }
    .form-actions { flex-direction: column-reverse; }
    .form-actions .btn { width: 100%; }
    .review-link-row { grid-template-columns: 1fr; }
    .progress-steps { gap: 5px; }
    .onboarding-body, .onboarding-hero { padding: 23px; }
}

/* eReviewPro pricing, benefits, signup plan selection, and sales contact expansion */
.hero-assurances { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 4px; color: #526079; font-size: 13px; font-weight: 700; }
.hero-assurances span { display: inline-flex; align-items: center; gap: 5px; }

.benefit-layout { display: grid; grid-template-columns: .82fr 1.18fr; gap: 72px; align-items: start; }
.benefit-heading { position: sticky; top: 112px; margin-bottom: 0; }
.benefit-heading .btn { margin-top: 26px; }
.benefit-grid { display: grid; gap: 16px; }
.benefit-item { display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 25px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: var(--shadow-sm); }
.benefit-number { display: grid; place-items: center; width: 50px; height: 50px; color: var(--primary); border-radius: 14px; background: var(--primary-soft); font-weight: 900; }
.benefit-item h3 { margin: 1px 0 7px; color: var(--navy); font-size: 19px; }
.benefit-item p { margin: 0; color: var(--muted); line-height: 1.7; }

.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; align-items: stretch; }
.plan-card { position: relative; display: flex; flex-direction: column; padding: 31px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); }
.plan-card.plan-featured { border-color: rgba(91,92,240,.48); box-shadow: 0 24px 64px rgba(48,53,139,.15); transform: translateY(-8px); }
.plan-ribbon { position: absolute; top: 0; right: 25px; padding: 7px 13px; color: #fff; border-radius: 0 0 10px 10px; background: var(--primary); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.plan-label { display: inline-flex; width: max-content; margin-bottom: 13px; padding: 5px 10px; color: var(--primary); border-radius: 999px; background: var(--primary-soft); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.plan-header h3 { min-height: 53px; margin: 0 0 13px; color: var(--navy); font-size: 21px; line-height: 1.3; }
.plan-header > p { min-height: 72px; margin: 0 0 23px; color: var(--muted); line-height: 1.6; }
.plan-price { display: flex; align-items: baseline; gap: 6px; margin-bottom: 15px; color: var(--navy); }
.plan-price strong { font-size: 48px; line-height: 1; letter-spacing: -.055em; }
.plan-price span { color: var(--muted); }
.plan-price-contact strong { font-size: 37px; }
.plan-card .btn { margin-bottom: 23px; }
.plan-features { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.plan-features li { position: relative; padding-left: 28px; color: #4f5d73; line-height: 1.45; }
.plan-features li::before { content: "✓"; position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 20px; height: 20px; color: var(--success); border-radius: 50%; background: var(--success-soft); font-size: 11px; font-weight: 900; }
.plan-custom { background: linear-gradient(180deg, #fff, #f8f9ff); }
.pricing-note { margin-top: 27px; padding: 18px 21px; color: #59667e; border: 1px solid var(--line); border-radius: 13px; background: #fff; text-align: center; }
.pricing-note strong { color: var(--navy); }

.faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 68px; align-items: start; }
.faq-list { display: grid; gap: 12px; }
.faq-list details { padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 4px 14px rgba(24,36,66,.03); }
.faq-list summary { color: var(--navy); cursor: pointer; font-weight: 800; }
.faq-list p { margin: 14px 0 0; color: var(--muted); line-height: 1.7; }
.cta-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.btn-ghost-light { color: #fff; border-color: rgba(255,255,255,.28); background: transparent; }
.btn-ghost-light:hover { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.08); }

.footer-grid-expanded { grid-template-columns: 2fr repeat(3, 1fr); gap: 52px; }

.signup-section { align-items: start; padding-top: 54px; }
.signup-layout { width: min(100%, 980px); display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 25px; align-items: start; }
.signup-layout .auth-card { width: 100%; }
.signup-plan-summary { position: sticky; top: 25px; padding: 29px; color: #dce2f1; border-radius: 22px; background: linear-gradient(150deg, var(--navy), #273369); box-shadow: var(--shadow-lg); }
.signup-plan-summary .eyebrow { color: #aeb6ff; }
.signup-plan-summary h2 { margin: 0 0 10px; color: #fff; font-size: 29px; }
.signup-plan-summary > p { margin: 0 0 20px; color: #cbd2e4; }
.signup-plan-price { display: flex; align-items: baseline; gap: 7px; margin-bottom: 18px; }
.signup-plan-price strong { color: #fff; font-size: 41px; letter-spacing: -.05em; }
.signup-plan-price span { color: #b9c3d8; font-size: 12px; }
.signup-plan-summary ul { display: grid; gap: 10px; margin: 0 0 22px; padding: 0; list-style: none; }
.signup-plan-summary li { position: relative; padding-left: 25px; color: #dce2f1; }
.signup-plan-summary li::before { content: "✓"; position: absolute; left: 0; color: #9ea7ff; font-weight: 900; }
.signup-plan-summary > a { color: #c5cbff; font-weight: 800; }
.signup-plan-summary > a:hover { color: #fff; }

.contact-hero { min-height: calc(100vh - 76px); padding: 82px 0 95px; background: radial-gradient(circle at 90% 5%, rgba(91,92,240,.16), transparent 31%), var(--surface-2); }
.contact-layout { display: grid; grid-template-columns: .88fr 1.12fr; gap: 70px; align-items: start; }
.contact-copy { padding-top: 25px; }
.contact-copy h1 { margin: 0 0 22px; color: var(--navy); font-size: clamp(40px, 5vw, 58px); line-height: 1.07; letter-spacing: -.052em; }
.contact-copy > p { margin: 0; color: var(--muted); font-size: 18px; line-height: 1.75; }
.contact-benefits { display: grid; gap: 17px; margin-top: 34px; }
.contact-benefits > div { padding-left: 18px; border-left: 3px solid var(--primary); }
.contact-benefits strong, .contact-benefits span { display: block; }
.contact-benefits strong { margin-bottom: 4px; color: var(--navy); }
.contact-benefits span { color: var(--muted); line-height: 1.6; }
.contact-card { padding: 34px; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-lg); }
.contact-card h2 { margin: 0 0 5px; color: var(--navy); font-size: 27px; }
.contact-card-intro { margin: 0 0 25px; color: var(--muted); }
.contact-success { padding: 34px 10px; text-align: center; }
.contact-success h2 { margin-bottom: 10px; }
.contact-success p { margin: 0 auto 23px; max-width: 470px; color: var(--muted); }
.hp-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 1100px) {
    .public-nav { gap: 17px; }
    .public-nav > a:not(.btn) { font-size: 14px; }
    .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .plan-custom { grid-column: 1 / -1; max-width: 650px; width: 100%; margin: 0 auto; }
    .footer-grid-expanded { grid-template-columns: 1.7fr repeat(3, 1fr); gap: 32px; }
}

@media (max-width: 920px) {
    .header-inner { flex-wrap: wrap; min-height: 70px; }
    .nav-toggle { display: block; }
    .public-nav { display: none; width: 100%; padding: 14px 0 20px; align-items: stretch; flex-direction: column; gap: 12px; }
    .public-nav.open { display: flex; }
    .benefit-layout, .faq-layout, .contact-layout { grid-template-columns: 1fr; gap: 42px; }
    .benefit-heading { position: static; }
    .signup-layout { grid-template-columns: 1fr; max-width: 620px; }
    .signup-plan-summary { position: static; }
    .footer-grid-expanded { grid-template-columns: 1.5fr 1fr 1fr; }
    .footer-grid-expanded > div:last-child { grid-column: 2 / 4; }
}

@media (max-width: 680px) {
    .hero-assurances { display: grid; gap: 8px; }
    .benefit-item { grid-template-columns: 45px 1fr; padding: 20px; }
    .benefit-number { width: 42px; height: 42px; }
    .pricing-grid { grid-template-columns: 1fr; }
    .plan-card.plan-featured { transform: none; }
    .plan-custom { grid-column: auto; }
    .plan-header h3, .plan-header > p { min-height: 0; }
    .plan-card { padding: 27px 23px; }
    .cta-actions { width: 100%; align-items: stretch; flex-direction: column; }
    .cta-actions .btn { width: 100%; }
    .footer-grid-expanded { grid-template-columns: 1fr; }
    .footer-grid-expanded > div:last-child { grid-column: auto; }
    .signup-section { padding-top: 28px; }
    .signup-layout { gap: 16px; }
    .signup-plan-summary { padding: 24px; }
    .contact-hero { padding: 55px 0 72px; }
    .contact-copy h1 { font-size: 40px; }
    .contact-card { padding: 26px 21px; }
}

/* Workspace branding and visual editor enhancements */
.brand-preview { --preview-color: var(--primary); display:flex; align-items:center; gap:14px; margin-top:12px; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fbfcff; }
.brand-preview-mark { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; color:#fff; background:var(--preview-color); font-weight:900; }
.brand-preview strong,.brand-preview span { display:block; }
.brand-preview span { color:var(--muted); font-size:12px; }
.brand-preview-button { margin-left:auto; border:0; border-radius:9px; padding:9px 14px; color:#fff; background:var(--preview-color); font-weight:700; }
.help-panel { margin-bottom:20px; border:1px solid #dbe4f2; border-radius:14px; background:#f8fbff; }
.help-panel summary { cursor:pointer; padding:17px 19px; color:var(--navy); font-weight:800; }
.help-panel-body { padding:0 19px 18px; color:#536079; }
.help-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.help-item { padding:14px; border:1px solid #e0e7f1; border-radius:11px; background:#fff; }
.help-item strong { display:block; margin-bottom:5px; color:var(--navy); }
.help-item p { margin:0; font-size:13px; line-height:1.6; }
.help-item a { display:inline-block; margin-top:7px; font-size:12px; font-weight:700; }
.help-warning { border-color:#f0d7aa; background:#fffaf0; }
.editor-mode-tabs { display:flex; gap:7px; margin:0 0 20px; padding:5px; border:1px solid var(--line); border-radius:11px; background:var(--surface-3); width:max-content; }
.editor-mode-tabs button { border:0; border-radius:8px; padding:9px 14px; background:transparent; color:#59667e; cursor:pointer; font-weight:750; }
.editor-mode-tabs button.active { color:var(--navy); background:#fff; box-shadow:0 2px 8px rgba(24,36,66,.08); }
.visual-editor-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:24px; align-items:start; }
.email-preview-shell { position:sticky; top:24px; padding:17px; border:1px solid var(--line); border-radius:15px; background:#eef2f8; }
.email-preview-label { margin-bottom:10px; color:#69758b; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.email-preview-card { overflow:hidden; border:1px solid #dde3ed; border-radius:12px; background:#fff; box-shadow:0 10px 30px rgba(24,36,66,.08); }
.email-preview-brand { padding:17px 20px; color:#fff; background:#111c3a; font-size:17px; font-weight:800; }
.email-preview-content { padding:24px 20px; }
.email-preview-content h3 { margin:0 0 13px; color:#172033; font-size:22px; }
.email-preview-content p { margin:0 0 13px; color:#4d5a71; line-height:1.55; }
.email-preview-button { display:inline-block; margin:8px 0 16px; padding:11px 17px; border-radius:9px; color:#fff; background:var(--primary); font-weight:800; }
.email-preview-footer { padding-top:14px; border-top:1px solid #edf0f5; color:#7c8799; font-size:11px; }
.token-buttons { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.token-button { border:1px solid var(--line); border-radius:7px; padding:4px 8px; color:#536079; background:#fff; cursor:pointer; font-family:ui-monospace,SFMono-Regular,Consolas,monospace; font-size:11px; }
.rating-stars { color:#f2a900; letter-spacing:1px; white-space:nowrap; }
.review-feedback { max-width:560px; white-space:normal; }
.review-feedback details summary { cursor:pointer; color:var(--primary); font-size:12px; font-weight:750; }
.review-feedback details p { margin:8px 0 0; color:#4f5d73; line-height:1.55; }
.filter-card { margin-bottom:18px; }
.filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:end; }
@media(max-width:900px){.visual-editor-grid{grid-template-columns:1fr}.email-preview-shell{position:relative;top:auto}.help-grid{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.filter-grid{grid-template-columns:1fr}.editor-mode-tabs{width:100%}.editor-mode-tabs button{flex:1}.brand-preview{align-items:flex-start;flex-wrap:wrap}.brand-preview-button{margin-left:0}}

/* Contacts, CSV imports, and API access */
.contact-search { flex: 1; min-width: 0; }
.contact-search .form-control { min-width: 260px; }
.contact-search .form-select { width: auto; min-width: 145px; }
.empty-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.empty-state.compact { padding: 28px 22px; }
.contact-edit-layout { align-items: start; }
.contact-edit-layout .form-card { max-width: none; }
.muted { color: var(--muted); }
.compact-list { margin: 14px 0 0; padding-left: 20px; color: var(--muted); }
.compact-list li { margin: 8px 0; }
.button-link { padding: 0; border: 0; background: transparent; cursor: pointer; }

.import-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; max-width: 760px; margin: 0 0 20px; }
.import-steps span { padding: 10px 13px; color: #788399; border-radius: 9px; background: #e8ecf3; font-size: 12px; font-weight: 800; text-align: center; }
.import-steps span.active { color: #fff; background: var(--primary); }
.import-steps span.done { color: var(--primary); background: var(--primary-soft); }
.import-card { max-width: 920px; }
.upload-drop { display: grid; place-items: center; padding: 46px 24px; border: 2px dashed #cbd3e1; border-radius: 15px; background: #fafbfe; text-align: center; }
.upload-drop label { margin: 0 0 10px; color: var(--navy); font-size: 18px; cursor: pointer; }
.upload-drop input[type="file"] { width: min(100%, 420px); padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }
.upload-drop p { margin: 10px 0 0; color: var(--muted); font-size: 12px; }
.import-help-card { max-width: 920px; margin-top: 18px; }
.mapping-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; }
.mapping-field { margin: 0; }
.import-map-card { margin: 18px 0; }
.import-preview td, .import-preview th { max-width: 230px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.import-actions { max-width: 920px; }
.import-summary { margin-bottom: 20px; }
.detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 15px; }
.detail-grid > div { padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: #fbfcfe; }
.detail-grid span, .detail-grid strong { display: block; }
.detail-grid span { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.detail-grid strong { margin-top: 5px; color: var(--navy); }

.api-layout { align-items: start; }
.api-secret-card { display: grid; gap: 14px; margin-bottom: 20px; padding: 20px 22px; color: #124f36; border: 1px solid #bfe5d0; border-radius: 14px; background: #ecf9f2; }
.api-secret-card strong { color: #0d432d; font-size: 17px; }
.api-secret-card p { margin: 3px 0 0; }
.copy-field { display: flex; align-items: center; gap: 10px; min-width: 0; }
.copy-field code { flex: 1; min-width: 0; padding: 12px 14px; overflow-x: auto; color: #18304a; border: 1px solid #cbd8e4; border-radius: 9px; background: #fff; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; white-space: nowrap; }
.permission-fieldset { margin: 0 0 18px; padding: 16px; border: 1px solid var(--line); border-radius: 11px; }
.permission-fieldset legend { padding: 0 6px; color: var(--navy); font-size: 13px; font-weight: 800; }
.permission-fieldset .form-check:last-child { margin-bottom: 0; }
.code-block { max-width: 100%; margin: 0; padding: 18px; overflow-x: auto; color: #d8e1f3; border-radius: 12px; background: #101a35; font: 13px/1.62 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre; }
.docs-card { max-width: 980px; }
.prose h2 { margin-top: 0; color: var(--navy); font-size: 30px; }
.prose h3 { margin: 30px 0 10px; color: var(--navy); }
.prose p, .prose li { color: #536079; line-height: 1.75; }
.prose code:not(.code-block code) { padding: 2px 5px; border-radius: 5px; background: var(--surface-3); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }

@media (max-width: 1000px) {
    .mapping-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .contact-search { flex-wrap: wrap; }
    .contact-search .form-control { flex: 1 1 100%; }
}
@media (max-width: 680px) {
    .contact-search .form-control, .contact-search .form-select { width: 100%; min-width: 0; }
    .import-steps { grid-template-columns: 1fr; }
    .mapping-grid, .detail-grid { grid-template-columns: 1fr; }
    .copy-field { align-items: stretch; flex-direction: column; }
    .copy-field .btn { width: 100%; }
}

/* Review invitations, public feedback, and widgets */
.invitation-filters { flex: 1; flex-wrap: wrap; }
.invitation-filters .form-control { min-width: 250px; }
.invitation-filters .form-select { width: auto; min-width: 150px; }
.invitation-form-card { max-width: 980px; }
.delivery-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin: 16px 0; }
.choice-card { display: flex; gap: 11px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: #fff; cursor: pointer; }
.choice-card:has(input:checked) { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(91,92,240,.1); }
.choice-card input { margin-top: 4px; accent-color: var(--primary); }
.choice-card strong,.choice-card small { display:block; }
.choice-card small { margin-top:3px; color:var(--muted); }
.inline-form { display:inline-flex; margin:0; }
.error-text { color: var(--danger) !important; }
.invitation-detail-grid { align-items:start; }
.detail-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.detail-list > div { padding:14px; border:1px solid var(--line); border-radius:10px; background:#fbfcfe; }
.detail-list span,.detail-list strong { display:block; }
.detail-list span { color:var(--muted); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.detail-list strong { margin-top:5px; color:var(--navy); }
.large-rating { color:#f2a900; font-size:28px; letter-spacing:2px; }
.large-rating span { color:#dce1ea; }
.mini-log { display:grid; }
.mini-log-item { display:flex; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid var(--line); }
.mini-log-item:last-child { border-bottom:0; }
.mini-log-item strong,.mini-log-item span { display:block; }
.mini-log-item div > span { color:var(--muted); font-size:12px; }

.review-admin-list { display:grid; gap:0; }
.review-admin-card { padding:22px; border-bottom:1px solid var(--line); }
.review-admin-card:last-child { border-bottom:0; }
.review-admin-head,.review-admin-foot { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; }
.review-admin-head strong,.review-admin-head span { display:block; }
.review-admin-head > div:first-child span { color:var(--muted); font-size:12px; }
.review-admin-badges { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.review-admin-body { margin:16px 0; color:#445169; line-height:1.65; }
.review-admin-body p { margin:0 0 10px; }
.review-admin-foot > div { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.review-admin-foot small { color:var(--muted); }
.publish-form { display:flex; align-items:center; gap:8px; }
.publish-form .form-control { width:180px; height:38px; }
.verified-badge,.website-badge { display:inline-flex; align-items:center; min-height:23px; padding:3px 8px; border-radius:999px; font-size:11px; font-weight:800; }
.verified-badge { color:#147245; background:var(--success-soft); }
.website-badge { color:#5f6878; background:var(--surface-3); }
.filter-grid-wide { grid-template-columns: 1.2fr repeat(4,minmax(130px,.7fr)); }

.toggle-row { display:flex; gap:12px; align-items:flex-start; margin:14px 0; padding:16px; border:1px solid var(--line); border-radius:12px; background:#fbfcfe; }
.toggle-row input { margin-top:4px; accent-color:var(--primary); }
.toggle-row strong,.toggle-row small { display:block; }
.toggle-row small { margin-top:3px; color:var(--muted); }
.widget-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin-top:20px; }
.embed-code { display:block; padding:13px; overflow-wrap:anywhere; border:1px solid var(--line); border-radius:9px; background:#f8f9fc; }
.code-area { min-height:110px; margin:7px 0 18px; font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }
.widget-preview-frame { padding:16px; border:1px solid var(--line); border-radius:12px; background:#f7f9fc; }
.widget-preview-frame iframe { width:100%; min-height:110px; border:0; }

.customer-review-page { min-height:100vh; background:#f4f7fb; color:#172033; }
.customer-review-header { background:#fff; border-bottom:1px solid #e3e8f1; }
.customer-review-header-inner { width:min(calc(100% - 32px),960px); min-height:72px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.customer-business-brand { display:flex; align-items:center; gap:10px; color:#172033; }
.customer-business-brand img { max-width:150px; max-height:44px; object-fit:contain; }
.customer-brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:color-mix(in srgb,var(--review-brand) 14%,white); font-weight:900; }
.powered-by { color:#7a8597; font-size:12px; }
.powered-by a { font-weight:800; }
.customer-review-main { width:min(calc(100% - 28px),960px); margin:0 auto; padding:54px 0 70px; }
.customer-review-footer { padding:22px; color:#7a8597; text-align:center; font-size:12px; }
.customer-review-card { width:min(100%,680px); margin:0 auto; padding:38px; border:1px solid #e2e7f0; border-radius:22px; background:#fff; box-shadow:0 24px 70px rgba(24,38,75,.12); }
.customer-review-card h1 { margin:0 0 12px; color:#172033; font-size:34px; letter-spacing:-.04em; }
.customer-review-card h2 { margin:30px 0 8px; color:#172033; }
.review-eyebrow { margin-bottom:12px; color:var(--review-brand,var(--primary)); font-size:12px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.customer-review-intro { margin:0 0 26px; color:#657188; font-size:16px; line-height:1.65; }
.customer-review-form fieldset { margin:0 0 24px; padding:0; border:0; }
.customer-review-form legend { margin-bottom:8px; font-weight:800; }
.customer-rating { display:inline-flex; flex-direction:row-reverse; justify-content:flex-end; gap:5px; }
.customer-rating input { position:absolute; opacity:0; pointer-events:none; }
.customer-rating label { color:#d7dce6; cursor:pointer; font-size:42px; line-height:1; transition:transform .12s,color .12s; }
.customer-rating label:hover { transform:scale(1.08); }
.customer-rating input:checked ~ label,.customer-rating label:hover,.customer-rating label:hover ~ label { color:#f2a900; }
.rating-hints { display:flex; justify-content:space-between; max-width:245px; margin-top:7px; color:#8a94a6; font-size:11px; }
.customer-privacy-note { margin:15px 0 0; color:#8490a3; font-size:12px; text-align:center; }
.thank-you-card { text-align:center; }
.public-review-choice { margin-top:28px; padding-top:24px; border-top:1px solid #e7ebf2; text-align:left; }
.review-destination-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:16px; }
.review-destination { padding:14px; border:1px solid #dfe5ef; border-radius:11px; color:#172033; background:#fbfcfe; }
.review-destination span,.review-destination strong { display:block; }
.review-destination span { color:#7a8597; font-size:11px; text-transform:uppercase; }
.review-destination strong { margin-top:3px; }
.text-link { display:inline-block; margin-top:24px; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

.public-review-profile { max-width:1000px; margin:auto; }
.public-review-hero { display:flex; align-items:center; justify-content:space-between; gap:30px; margin-bottom:20px; padding:32px; border-radius:22px; color:#fff; background:linear-gradient(135deg,#111c3a,color-mix(in srgb,var(--review-brand) 55%,#111c3a)); }
.public-review-hero h1 { margin:0; font-size:40px; letter-spacing:-.04em; }
.public-review-hero p { margin:6px 0 0; color:#d9deeb; }
.public-rating-summary { text-align:right; }
.public-rating-summary strong { display:block; font-size:42px; line-height:1; }
.public-rating-summary small { display:block; color:#d9deeb; }
.profile-actions { display:flex; gap:10px; flex-wrap:wrap; margin:18px 0; }
.selection-disclosure { color:#7d8798; font-size:12px; }
.public-review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:24px; }
.public-review-card { padding:24px; border:1px solid #e2e7f0; border-radius:17px; background:#fff; box-shadow:0 8px 24px rgba(25,38,72,.06); }
.public-review-card blockquote { margin:14px 0 20px; color:#445169; font-size:16px; line-height:1.7; }
.public-review-card footer { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.public-review-card footer small { display:block; width:100%; color:#8a94a6; }

@media(max-width:1000px){.filter-grid-wide{grid-template-columns:repeat(2,minmax(0,1fr))}.widget-admin-grid{grid-template-columns:1fr}}
@media(max-width:760px){.delivery-options,.detail-list,.review-destination-grid,.public-review-grid{grid-template-columns:1fr}.review-admin-head,.review-admin-foot,.public-review-hero{align-items:flex-start;flex-direction:column}.publish-form{width:100%;flex-wrap:wrap}.publish-form .form-control{flex:1;width:auto;min-width:180px}.public-rating-summary{text-align:left}.customer-review-card{padding:27px 22px}.customer-review-card h1{font-size:29px}.filter-grid-wide{grid-template-columns:1fr}}
@media(max-width:680px){.invitation-filters .form-control,.invitation-filters .form-select{width:100%;min-width:0}.customer-review-header-inner{min-height:64px}.powered-by{display:none}.customer-rating label{font-size:37px}}

/* Bulk review invitation workflow */
.bulk-send-card { max-width: 1080px; }
.bulk-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:26px; }
.bulk-send-card .choice-card { min-height:100%; }
.bulk-preview-metrics { margin-top:22px; }
.bulk-actions { align-items:center; flex-wrap:wrap; }
.bulk-batches-card { margin-bottom:22px; }
.invitations-toolbar { align-items:flex-start; }
.invitation-actions { flex-wrap:wrap; justify-content:flex-end; }
.invitation-actions form { margin:0; }
.invitation-filters { flex-wrap:wrap; }
.invitation-filters .form-control { min-width:210px; }
.invitation-filters .form-select { min-width:145px; }

@media(max-width:900px){
    .bulk-mode-grid{grid-template-columns:1fr}
    .invitations-toolbar{align-items:stretch;flex-direction:column}
    .invitation-actions{justify-content:flex-start}
}
@media(max-width:680px){
    .bulk-actions{align-items:stretch;flex-direction:column-reverse}
    .bulk-actions .btn{width:100%}
    .invitation-actions{display:grid;grid-template-columns:1fr}
    .invitation-actions .btn,.invitation-actions form,.invitation-actions button{width:100%}
}

/* Clear two-step bulk send workflow */
.bulk-send-card { margin-inline: auto; }
.bulk-workflow-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-width:1080px; margin:0 auto 18px; }
.bulk-step { display:flex; align-items:center; gap:12px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; color:var(--muted); background:#fff; }
.bulk-step > span { display:grid; place-items:center; flex:0 0 auto; width:30px; height:30px; border-radius:50%; color:#66738a; background:var(--surface-3); font-weight:850; }
.bulk-step strong,.bulk-step small { display:block; }
.bulk-step strong { color:#59667e; font-size:13px; }
.bulk-step small { margin-top:2px; font-size:11px; }
.bulk-step.active { border-color:color-mix(in srgb,var(--primary) 48%,var(--line)); box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent); }
.bulk-step.active > span { color:#fff; background:var(--primary); }
.bulk-step.active strong { color:var(--navy); }
.bulk-step.done > span { color:#fff; background:var(--success); }
.bulk-step.done strong { color:var(--success); }
.bulk-preview-ready { display:flex; gap:12px; margin:0 0 22px; padding:15px 17px; border:1px solid #cfe0ff; border-radius:12px; color:#194f86; background:#f0f6ff; }
.bulk-preview-ready strong,.bulk-preview-ready span { display:block; }
.bulk-preview-ready span { margin-top:3px; color:#526b86; font-size:12px; }
.bulk-recipient-card { max-width:none; margin-top:18px; }
.bulk-confirm-bar { position:sticky; z-index:20; bottom:14px; display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1180px; margin:18px auto 0; padding:16px 18px; border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line)); border-radius:15px; background:rgba(255,255,255,.96); box-shadow:0 16px 45px rgba(25,38,72,.16); backdrop-filter:blur(12px); }
.bulk-confirm-copy strong,.bulk-confirm-copy span { display:block; }
.bulk-confirm-copy strong { color:var(--navy); font-size:16px; }
.bulk-confirm-copy span { margin-top:3px; color:var(--muted); font-size:12px; }
.bulk-confirm-actions { display:flex; gap:10px; flex-wrap:wrap; }
[data-scheduled-field][hidden] { display:none !important; }

.send-progress-card { max-width:900px; margin-inline:auto; }
.progress-status { margin-bottom:15px; color:#40506b; font-size:15px; font-weight:700; }
.send-progress-track { height:14px; overflow:hidden; border-radius:999px; background:#e7ebf3; }
.send-progress-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--primary),#8586ff); transition:width .25s ease; }
.send-progress-count { margin-top:9px; color:var(--muted); font-size:13px; }
.send-progress-count strong { color:var(--navy); }
.send-progress-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:24px 0; }
.send-progress-metrics > div { padding:16px; border:1px solid var(--line); border-radius:11px; background:#fbfcfe; }
.send-progress-metrics span,.send-progress-metrics strong { display:block; }
.send-progress-metrics span { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.send-progress-metrics strong { margin-top:5px; color:var(--navy); font-size:25px; }
.send-progress-actions { justify-content:flex-start; }
.send-progress-note { margin:18px 0 0; color:var(--muted); font-size:12px; line-height:1.6; }

@media(max-width:760px){
    .bulk-workflow-steps,.send-progress-metrics{grid-template-columns:1fr 1fr}
    .bulk-confirm-bar{position:relative;bottom:auto;align-items:stretch;flex-direction:column}
    .bulk-confirm-actions{display:grid;grid-template-columns:1fr}
    .bulk-confirm-actions .btn{width:100%}
}
@media(max-width:520px){
    .bulk-workflow-steps,.send-progress-metrics{grid-template-columns:1fr}
}
.bulk-preview-dirty { color:#8b5a00 !important; font-weight:750; }

/* Phase 4: reminders and engagement */
.input-suffix { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; }
.input-suffix > span { color:var(--muted); font-size:12px; white-space:nowrap; }
.settings-note { min-height:46px; padding:11px 13px; border:1px solid var(--line); border-radius:10px; color:#536079; background:#f8f9fc; font-size:12px; line-height:1.55; }
.engagement-log-item { align-items:flex-start; }
.engagement-log-item > div > span { display:block; margin-top:2px; }
.reminder-status-strip { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid var(--line); border-radius:11px; background:#fbfcfe; }
.reminder-status-strip strong,.reminder-status-strip span { display:block; }
.reminder-status-strip span { margin-top:2px; color:var(--muted); font-size:12px; }
@media(max-width:680px){.input-suffix{grid-template-columns:1fr}.input-suffix>span{white-space:normal}.reminder-status-strip{align-items:flex-start;flex-direction:column}}

/* Phase 5: platform administration and FastCron operations */
.platform-admin-link { color:#b9bdff !important; font-weight:750; }
.platform-admin-link:hover { color:#fff !important; }
.platform-sidebar { background:linear-gradient(180deg,#11172e 0%,#17204a 100%); }
.platform-card { border-color:rgba(143,145,255,.22); background:rgba(126,128,255,.09); }
.platform-topbar { border-bottom-color:#dce1ed; }
.platform-metrics { margin-bottom:22px; }
.platform-health { display:flex; align-items:center; gap:14px; margin-bottom:22px; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 3px 12px rgba(24,36,66,.03); }
.platform-health.healthy { border-color:#c8ead6; background:#f3fbf6; }
.platform-health.warning { border-color:#f0d9a5; background:#fff9eb; }
.platform-health-icon { display:grid; place-items:center; flex:0 0 auto; width:38px; height:38px; border-radius:12px; color:#fff; background:var(--success); font-size:20px; font-weight:900; }
.platform-health.warning .platform-health-icon { background:#c67b00; }
.platform-health > div:nth-child(2) { min-width:0; flex:1; }
.platform-health strong,.platform-health span { display:block; }
.platform-health strong { color:var(--navy); }
.platform-health span { margin-top:3px; color:var(--muted); font-size:12px; }
.platform-dashboard-grid { align-items:start; }
.platform-stat-list { display:grid; gap:0; }
.platform-stat-list > div { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.platform-stat-list > div:last-child { border-bottom:0; }
.platform-stat-list span { color:var(--muted); }
.platform-stat-list strong { color:var(--navy); font-size:19px; }
.platform-section-gap { margin-top:22px; }
.platform-filter { flex-wrap:wrap; }
.platform-filter .form-control { min-width:280px; }
.platform-filter .form-select { min-width:165px; }
.platform-tenant-hero { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:22px; padding:28px; background:linear-gradient(135deg,#fff,#f6f7ff); }
.platform-tenant-hero h2 { margin:0; color:var(--navy); font-size:30px; letter-spacing:-.04em; }
.platform-tenant-hero p { margin:6px 0 0; color:var(--muted); }
.platform-tenant-status { display:grid; justify-items:end; gap:10px; }
.platform-tenant-status strong { color:var(--navy); font-size:18px; }
.platform-control-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.platform-control-box { display:grid; align-content:start; gap:11px; padding:17px; border:1px solid var(--line); border-radius:12px; background:#fbfcfe; }
.platform-control-box label { color:#354158; font-size:13px; font-weight:800; }
.platform-cron-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-bottom:22px; }
.cron-setup-list { display:grid; gap:13px; }
.cron-setup-list > div { display:grid; gap:5px; }
.cron-setup-list span { color:var(--muted); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.cron-setup-list code { display:block; overflow:auto; padding:10px 12px; border:1px solid var(--line); border-radius:9px; color:#263451; background:#f7f8fb; font-size:12px; white-space:nowrap; }
.platform-cron-note { margin:0 0 22px; }
.platform-error-cell { min-width:260px; max-width:520px; color:#8f3042 !important; font-size:12px; line-height:1.5; }
.migration-card { margin-inline:auto; }
.migration-checks { display:grid; gap:11px; margin-bottom:24px; }
.migration-confirm { max-width:520px; }

@media(max-width:1050px){.platform-control-grid,.platform-cron-grid{grid-template-columns:1fr}.platform-dashboard-grid{grid-template-columns:1fr}}
@media(max-width:680px){.platform-health,.platform-tenant-hero{align-items:flex-start;flex-direction:column}.platform-health .btn{width:100%}.platform-tenant-status{justify-items:start}.platform-filter .form-control,.platform-filter .form-select{width:100%;min-width:0}.platform-control-grid{grid-template-columns:1fr}}

/* Phase 9: widget builder, customization, and engagement analytics */
.widget-builder-card { width:100%; max-width:none; }
.widget-availability-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.widget-availability-grid .toggle-row { margin:0; }
.widget-builder { display:grid; grid-template-columns:minmax(560px,620px) minmax(0,1fr); gap:24px; width:100%; margin-top:12px; }
.widget-controls-panel,.widget-preview-panel,.widget-code-panel { border:1px solid var(--line); border-radius:16px; background:#fff; }
.widget-controls-panel,.widget-preview-panel { padding:22px; }
.widget-code-panel { grid-column:1/-1; padding:22px; }
.widget-section-heading { display:flex; align-items:flex-start; gap:12px; margin-bottom:20px; }
.widget-section-heading > span { display:grid; place-items:center; flex:0 0 auto; width:32px; height:32px; border-radius:50%; color:#fff; background:var(--primary); font-weight:900; }
.widget-section-heading h3 { margin:0; font-size:17px; }
.widget-section-heading p { margin:3px 0 0; color:var(--muted); font-size:12px; }
.widget-control-grid { display:grid; grid-template-columns:repeat(2,minmax(240px,1fr)); gap:16px 18px; }
.widget-control-grid .form-group { margin:0; }
.widget-control-grid small { display:block; margin-top:5px; color:var(--muted); font-size:11px; line-height:1.4; }
.color-control { display:grid; grid-template-columns:48px 1fr; gap:8px; }
.color-control input[type="color"] { width:48px; height:43px; padding:3px; border:1px solid var(--line); border-radius:10px; background:#fff; cursor:pointer; }
.widget-option-grid { display:grid; grid-template-columns:repeat(2,minmax(240px,1fr)); gap:10px 12px; margin:20px 0 4px; }
.compact-toggle { display:flex; align-items:center; gap:9px; min-height:42px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:#fbfcfe; font-size:12px; font-weight:750; cursor:pointer; }
.compact-toggle input { accent-color:var(--primary); }
.widget-preview-panel { min-width:0; }
.widget-live-preview { display:flex; align-items:flex-start; justify-content:center; min-height:180px; padding:28px; overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#f3f6fa; transition:background .15s; }
.widget-live-preview[data-theme="dark"] { background:#08101d; }
.widget-live-preview iframe { display:block; width:100%; height:116px; min-height:0; max-width:100%; border:0; transition:height .12s ease; }
.widget-live-preview[data-layout="badge"] iframe { max-width:760px; }
.widget-live-preview[data-layout="list"] iframe { max-width:820px; }
.widget-live-preview[data-layout="grid"] iframe,.widget-live-preview[data-layout="carousel"] iframe { max-width:1100px; }
.widget-code-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.code-label { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:7px; }
.widget-code-panel .code-area { min-height:155px; margin:0; }
.widget-transparency-card { margin-top:20px; }
.widget-metric-grid { margin-bottom:22px; }
.widget-metric-grid .metric-card { border:1px solid var(--line); box-shadow:none; }
.widget-analytics-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); gap:20px; }
.widget-trend-panel,.widget-referrer-panel { min-width:0; padding:20px; border:1px solid var(--line); border-radius:14px; background:#fbfcfe; }
.widget-trend-panel h3,.widget-referrer-panel h3 { margin:0 0 18px; }
.widget-bars { display:flex; align-items:flex-end; gap:7px; min-height:210px; overflow-x:auto; padding:8px 2px 0; }
.widget-bar-column { display:grid; grid-template-rows:24px 150px 26px; align-items:end; flex:1 0 34px; min-width:34px; text-align:center; }
.widget-bar-value { color:var(--muted); font-size:10px; }
.widget-bar-track { position:relative; width:17px; height:150px; margin:auto; overflow:hidden; border-radius:8px; background:#e8ecf3; }
.widget-bar-track span { position:absolute; right:0; bottom:0; left:0; border-radius:8px; background:linear-gradient(180deg,var(--primary),var(--primary-dark)); }
.widget-bar-column small { display:block; color:var(--muted); font-size:9px; white-space:nowrap; transform:rotate(-38deg); transform-origin:center; }
.empty-inline { padding:18px; border:1px dashed var(--line); border-radius:11px; color:var(--muted); background:#fff; text-align:center; }
.published-review-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; flex-wrap:wrap; }
.public-order-form { display:flex; align-items:center; gap:7px; }
.public-order-form label { color:var(--muted); font-size:11px; font-weight:800; white-space:nowrap; }
.public-order-form .form-control { width:80px; height:38px; }

@media(max-width:1380px){
    .widget-builder{grid-template-columns:1fr}
    .widget-controls-panel{max-width:none}
    .widget-control-grid,.widget-option-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .widget-code-panel{grid-column:auto}
    .widget-analytics-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
    .widget-availability-grid,.widget-control-grid,.widget-option-grid,.widget-code-grid{grid-template-columns:1fr}
    .widget-controls-panel,.widget-preview-panel,.widget-code-panel{padding:17px}
    .widget-live-preview{padding:14px}
    .widget-live-preview iframe{max-width:100%}
    .published-review-actions{align-items:stretch;flex-direction:column;width:100%}
    .public-order-form{width:100%;flex-wrap:wrap}
}

/* EREVIEWPRO_BILLING_CHECKOUT_FIX_V1 */
body.erp-billing-page .app-content {
    max-width: 1500px;
    margin: 0 auto;
    width: 100%;
}
body.erp-billing-page .erp-billing-choose-title {
    margin: 30px 0 6px !important;
    font-size: 30px !important;
    line-height: 1.15 !important;
    letter-spacing: -.035em !important;
    color: var(--navy) !important;
}
body.erp-billing-page .erp-billing-intro {
    margin: 0 0 22px;
    max-width: 760px;
    color: var(--muted);
    line-height: 1.6;
}
body.erp-billing-page .erp-billing-plan-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
    margin-top: 20px;
}
body.erp-billing-page .erp-billing-plan-card {
    min-width: 0;
    height: 100%;
    padding: 26px !important;
    border: 1px solid var(--line) !important;
    border-radius: 18px !important;
    background: #fff !important;
    box-shadow: 0 8px 28px rgba(24,36,66,.055) !important;
}
body.erp-billing-page .erp-billing-plan-card.erp-growth {
    border-color: rgba(91,92,240,.35) !important;
    box-shadow: 0 12px 34px rgba(67,68,180,.09) !important;
}
body.erp-billing-page .erp-billing-plan-card h2,
body.erp-billing-page .erp-billing-plan-card h3 {
    margin-top: 0 !important;
    font-size: 22px !important;
}
body.erp-billing-page .erp-billing-plan-action {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 220px;
    min-height: 46px;
    margin-top: 20px !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--primary) !important;
    color: #fff !important;
    box-shadow: 0 7px 18px rgba(91,92,240,.20) !important;
    font-weight: 800 !important;
    cursor: pointer !important;
    text-decoration: none !important;
}
body.erp-billing-page .erp-billing-plan-action:hover {
    filter: brightness(.96);
    color: #fff !important;
}
body.erp-billing-page .erp-billing-current-card {
    padding: 24px 26px !important;
    border-radius: 16px !important;
}
body.erp-billing-page .erp-billing-current-card .erp-billing-manage {
    display: inline-flex;
    margin-top: 18px;
}
body.erp-billing-page .erp-billing-trial-help {
    margin: 10px 0 0;
    padding: 14px 16px;
    border: 1px solid #dfe5ef;
    border-radius: 11px;
    background: #f8faff;
    color: #58667e;
    font-size: 14px;
    line-height: 1.55;
}
body.erp-billing-page .erp-billing-stripe-note {
    margin-top: 9px;
    color: var(--muted);
    font-size: 12px;
}
@media (max-width: 900px) {
    body.erp-billing-page .erp-billing-plan-grid {
        grid-template-columns: 1fr;
    }
    body.erp-billing-page .erp-billing-plan-action {
        width: 100% !important;
    }
}

/* PHASE14_REVIEW_EXPERIENCE */
.status-listening{
    color:#8a5a00;
    background:#fff2cf;
}
.customer-recovery-panel{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    margin:24px 0 0;
    padding:18px;
    border:1px solid #ead8a7;
    border-radius:14px;
    background:#fffaf0;
    text-align:left;
}
.customer-recovery-copy>span{
    display:block;
    margin-bottom:5px;
    color:#8b681e;
    font-size:10px;
    font-weight:850;
    letter-spacing:.07em;
    text-transform:uppercase;
}
.customer-recovery-copy>strong{
    display:block;
    color:#3d3524;
    font-size:14px;
    line-height:1.45;
}
.customer-recovery-copy>p{
    margin:6px 0 0;
    color:#766b54;
    font-size:11.5px;
    line-height:1.5;
}
.customer-recovery-contact{
    white-space:nowrap;
}
.public-review-choice-recovery{
    margin-top:24px;
    padding-top:22px;
    border-top:1px solid #e7ebf2;
}
.customer-private-only-note{
    display:grid;
    gap:4px;
    margin:24px 0 0;
    padding:15px 17px;
    border:1px solid #dfe5ef;
    border-radius:12px;
    background:#f8f9fc;
    text-align:left;
}
.customer-private-only-note strong{
    color:#26344e;
    font-size:12px;
}
.customer-private-only-note span{
    color:#758197;
    font-size:11px;
    line-height:1.45;
}
.review-experience-admin-form{
    display:grid;
    gap:20px;
}
.review-experience-mode-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.review-experience-mode{
    display:block;
    position:relative;
    cursor:pointer;
}
.review-experience-mode>input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.review-experience-mode>span{
    display:block;
    height:100%;
    padding:15px 16px;
    border:1px solid #dfe5ef;
    border-radius:12px;
    background:#fff;
    transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.review-experience-mode>span>strong,
.review-experience-mode>span>small{
    display:block;
}
.review-experience-mode>span>strong{
    color:#26344e;
    font-size:12px;
}
.review-experience-mode>span>small{
    margin-top:5px;
    color:#7a8799;
    font-size:10.5px;
    line-height:1.5;
}
.review-experience-mode>input:checked+span{
    border-color:#6a69ef;
    background:#f8f8ff;
    box-shadow:0 0 0 2px rgba(91,92,240,.08);
}
.review-experience-mode>input:focus-visible+span{
    outline:2px solid #5b5cf0;
    outline-offset:2px;
}
.review-experience-options{
    display:grid;
    grid-template-columns:minmax(240px,.65fr) minmax(0,1fr);
    gap:16px;
    align-items:start;
}
.review-experience-contact-option{
    min-height:72px;
    padding:14px;
    border:1px solid #dfe5ef;
    border-radius:11px;
    background:#fafbfe;
}
.review-experience-contact-option span strong,
.review-experience-contact-option span small{
    display:block;
}
.review-experience-contact-option span strong{
    color:#334158;
    font-size:11px;
}
.review-experience-contact-option span small{
    margin-top:3px;
    color:#7e899b;
    font-size:10px;
    line-height:1.4;
}
.review-integrity-notice{
    padding:14px 16px;
    border:1px solid #d7e0f0;
    border-radius:11px;
    background:#f6f9fe;
}
.review-integrity-notice strong{
    display:block;
    color:#334158;
    font-size:11px;
}
.review-integrity-notice p{
    margin:4px 0 0;
    color:#68758a;
    font-size:10.5px;
    line-height:1.5;
}
@media(max-width:900px){
    .review-experience-mode-grid{grid-template-columns:1fr}
    .review-experience-options{grid-template-columns:1fr}
}
@media(max-width:620px){
    .customer-recovery-panel{grid-template-columns:1fr}
    .customer-recovery-contact{width:100%}
}

/* Public review pagination */
.public-review-count { margin-top: 18px; color: #667085; font-size: 14px; }
.public-review-pagination { display:flex; align-items:center; justify-content:center; gap:14px; margin:28px 0 8px; flex-wrap:wrap; }
.public-review-pagination span { color:#536079; font-weight:700; }
.review-admin-badges .rating-stars { display:inline-block; line-height:1; }

/* Free Business Profile + Open Reviews */
.free-profile-limit-box{background:#f7f8ff;border:1px solid #dfe4ff;border-radius:16px;padding:16px 18px;margin:18px 0;color:#26304a}.free-profile-limit-box ul{margin:10px 0 0;padding-left:20px}.free-profile-hero .card-body{display:flex;flex-direction:column;gap:12px}.free-profile-cta-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:8px}.free-profile-preview-grid{margin-top:0}.free-profile-inline-lock{margin:0;max-width:560px}.open-review-card .form-help,.claim-profile-card .form-help{font-size:.86rem;color:#68738a;margin-top:6px}.open-review-confirm{margin:16px 0}.open-lead-actions{display:flex;flex-direction:column;gap:14px}.stacked-form{display:flex;flex-direction:column;gap:8px;border:1px solid #e4e9f2;border-radius:14px;padding:14px;background:#fbfcff}.mini-review-list{display:grid;gap:12px}.mini-review-list article{border:1px solid #e4e9f2;border-radius:14px;padding:14px;background:#fff}.mini-review-list p{margin:.45rem 0}.mini-review-list small{color:#68738a}.dashboard-grid-wide{grid-template-columns:minmax(0,1.55fr) minmax(340px,.8fr)}@media(max-width:1100px){.dashboard-grid-wide{grid-template-columns:1fr}}

/* Open Reviews QR/admin polish */
.open-review-toolbar{
    align-items:flex-start;
    justify-content:space-between;
    flex-wrap:wrap;
}
.open-review-filter-group{
    flex:1 1 620px;
    flex-wrap:wrap;
    min-width:0;
}
.open-review-filter-group .form-control{
    flex:1 1 280px;
    min-width:240px;
}
.open-review-filter-group .form-select{
    flex:0 1 260px;
    min-width:210px;
}
.open-review-toolbar-actions{
    flex:0 0 auto;
    flex-wrap:nowrap;
    justify-content:flex-end;
}
.open-review-action-btn{
    min-width:128px;
    white-space:nowrap;
    flex:0 0 auto;
}
.open-review-qr-grid{
    display:grid;
    grid-template-columns:minmax(280px,420px) minmax(0,1fr);
    gap:30px;
    align-items:center;
}
.open-review-qr-preview{
    display:grid;
    gap:14px;
    justify-items:center;
    padding:22px;
    border:1px solid #e2e7f0;
    border-radius:22px;
    background:#fff;
    box-shadow:0 16px 44px rgba(25,38,72,.08);
}
.open-review-qr-preview img{
    width:min(100%,420px);
    height:auto;
    border-radius:16px;
}
.open-review-qr-url{
    max-width:100%;
    overflow-wrap:anywhere;
    color:#536079;
    font-size:13px;
    text-align:center;
}
.open-review-qr-details h3{
    margin:4px 0 8px;
    color:#111c3a;
    font-size:30px;
    line-height:1.14;
    letter-spacing:-.035em;
}
.open-review-copy-field{
    margin:18px 0 14px;
}
.open-review-qr-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:14px 0 18px;
}
.open-review-qr-actions .btn,
.open-review-qr-card .card-header .btn{
    white-space:nowrap;
}
.open-review-qr-note{
    margin-top:10px;
}
.open-review-flyer-card{
    margin-top:18px;
}
.open-review-flyer{
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:28px;
    align-items:center;
    padding:34px;
    border:2px dashed #cfd7e8;
    border-radius:22px;
    background:linear-gradient(135deg,#fff,#f7f8ff);
}
.open-review-flyer span{
    display:inline-block;
    margin-bottom:10px;
    color:#5b5cf0;
    font-size:13px;
    font-weight:850;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.open-review-flyer h2{
    margin:0 0 12px;
    color:#111c3a;
    font-size:42px;
    line-height:1.04;
    letter-spacing:-.05em;
}
.open-review-flyer p{
    margin:0;
    max-width:560px;
    color:#536079;
    font-size:18px;
}
.open-review-flyer img{
    width:260px;
    height:260px;
    justify-self:end;
    border-radius:16px;
    background:#fff;
}
.open-review-flyer small{
    grid-column:1 / -1;
    overflow-wrap:anywhere;
    color:#66738a;
}
@media(max-width:900px){
    .open-review-qr-grid,.open-review-flyer{grid-template-columns:1fr}
    .open-review-flyer img{justify-self:start}
}
@media(max-width:680px){
    .open-review-toolbar-actions{width:100%;justify-content:stretch;flex-wrap:wrap}
    .open-review-action-btn{flex:1 1 150px}
}
@media print{
    body.platform-admin-page{background:#fff}
    .sidebar,.sidebar-backdrop,.app-topbar,.open-review-qr-card,.alert-wrap{display:none!important}
    .app-shell,.app-main,.app-content{display:block!important;margin:0!important;padding:0!important;background:#fff!important}
    .open-review-flyer-card{border:0!important;box-shadow:none!important;margin:0!important}
    .open-review-flyer{min-height:9in;border:0!important;border-radius:0!important;box-shadow:none!important}
}

/* Open Reviews outreach/conversion v14 */
.open-review-summary-grid{margin-bottom:18px}.breadcrumb-row{margin:0 0 14px}.breadcrumb-row a{color:#526079;text-decoration:none;font-weight:700}.breadcrumb-row a:hover{color:#4f46e5}.open-review-lead-hero .card-body{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.lead-hero-main h2{margin:.35rem 0 .45rem}.lead-hero-main p{margin:0;color:#68738a}.lead-hero-status{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.metric-value-small{font-size:1.45rem!important;line-height:1.2}.open-review-detail-grid{align-items:start}.open-review-claim-link-alert .copy-field{margin-top:10px}.mini-review-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.open-review-full-list article{padding:16px}.open-review-outreach-list{display:grid;gap:10px;margin-top:14px}.open-review-outreach-list article{border:1px solid #e4e9f2;border-radius:14px;background:#fff;padding:12px 14px}.open-review-outreach-list article strong{display:block;color:#111c3a}.open-review-outreach-list article span,.open-review-outreach-list article small{display:block;color:#68738a;font-size:.86rem;margin-top:2px}.open-review-outreach-list article p{margin:.5rem 0 0;color:#26304a}.open-review-filter-group .btn-secondary{white-space:nowrap}@media(max-width:900px){.open-review-lead-hero .card-body{flex-direction:column}.lead-hero-status{justify-content:flex-start}.open-review-toolbar{align-items:stretch}.open-review-toolbar-actions{justify-content:stretch}.open-review-action-btn{min-height:44px}}

/* Free Profile upgrade conversion v15 */
.free-profile-sales-hero .card-body{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,360px);
    gap:26px;
    align-items:center;
}
.free-profile-hero-copy h2{
    margin:.35rem 0 .55rem;
    font-size:clamp(30px,4vw,46px);
    line-height:1.04;
    letter-spacing:-.05em;
}
.free-profile-hero-copy p{
    max-width:760px;
    color:#536079;
    font-size:17px;
    line-height:1.6;
}
.free-profile-hero-panel{
    padding:24px;
    border:1px solid #dfe4ff;
    border-radius:22px;
    background:linear-gradient(135deg,#f7f8ff,#fff);
    box-shadow:0 18px 48px rgba(25,38,72,.08);
}
.free-profile-hero-panel span{
    display:block;
    color:#5b5cf0;
    font-size:12px;
    font-weight:900;
    letter-spacing:.1em;
    text-transform:uppercase;
}
.free-profile-hero-panel strong{
    display:block;
    margin:8px 0 6px;
    color:#111c3a;
    font-size:38px;
    line-height:1;
    letter-spacing:-.05em;
}
.free-profile-hero-panel small{
    color:#68738a;
    line-height:1.45;
}
.free-profile-locked-card .upgrade-feature-grid a,
.upgrade-feature-grid div{
    display:block;
    color:inherit;
    text-decoration:none;
}
.upgrade-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.upgrade-feature-grid a,
.upgrade-feature-grid div{
    padding:16px;
    border:1px solid #e2e7f0;
    border-radius:16px;
    background:#fbfcff;
    transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.upgrade-feature-grid a:hover{
    border-color:#b9c0ff;
    box-shadow:0 14px 32px rgba(25,38,72,.08);
    transform:translateY(-1px);
}
.upgrade-feature-grid strong{
    display:block;
    color:#111c3a;
    font-size:14px;
}
.upgrade-feature-grid span{
    display:block;
    margin-top:6px;
    color:#68738a;
    font-size:13px;
    line-height:1.45;
}
.upgrade-required-card .card-body,
.upgrade-required-hero{
    padding:32px;
}
.upgrade-required-hero{
    display:grid;
    grid-template-columns:82px minmax(0,1fr);
    gap:24px;
    align-items:flex-start;
}
.upgrade-required-icon{
    display:grid;
    place-items:center;
    width:82px;
    height:82px;
    border-radius:24px;
    background:linear-gradient(135deg,#5b5cf0,#7b61ff);
    color:#fff;
    font-size:34px;
    font-weight:900;
    box-shadow:0 20px 48px rgba(91,92,240,.25);
}
.upgrade-required-copy h2{
    margin:.25rem 0 .55rem;
    color:#111c3a;
    font-size:clamp(28px,4vw,44px);
    line-height:1.05;
    letter-spacing:-.05em;
}
.upgrade-required-copy p{
    max-width:760px;
    color:#536079;
    font-size:17px;
    line-height:1.6;
}
.upgrade-required-actions{
    display:flex;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
    margin-top:18px;
}
.upgrade-required-actions form{margin:0}
.upgrade-required-metrics{margin-top:18px}
.upgrade-required-feature-grid-card{margin-top:18px}
@media(max-width:1000px){
    .free-profile-sales-hero .card-body{grid-template-columns:1fr}
    .upgrade-feature-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
    .upgrade-required-hero{grid-template-columns:1fr;padding:22px}
    .upgrade-feature-grid{grid-template-columns:1fr}
    .free-profile-hero-panel strong{font-size:32px}
}


/* Phase 16: sandbox readiness and platform security polish */
.platform-security-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-bottom:22px}
.security-metric-card{min-height:128px}
.security-metric-card .metric-label{display:block;color:#68738a;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.security-metric-card .metric-value{margin-top:10px}
.security-metric-card .metric-foot{line-height:1.35}
.sandbox-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px;padding:24px;border:1px solid #dfe5f1;border-radius:18px;background:linear-gradient(135deg,#fff,#f6f7ff);box-shadow:0 3px 12px rgba(24,36,66,.03)}
.sandbox-hero h2{margin:0 0 7px;color:var(--navy);font-size:28px;letter-spacing:-.04em}
.sandbox-hero p{margin:0;color:#68738a;max-width:760px}
.sandbox-score{display:grid;place-items:center;flex:0 0 auto;width:124px;height:124px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 45px rgba(43,53,93,.08)}
.sandbox-score strong{color:var(--navy);font-size:38px;line-height:1;font-weight:900;letter-spacing:-.05em}
.sandbox-score span{color:#68738a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.sandbox-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}
.sandbox-stage-card{position:relative;overflow:hidden}
.sandbox-stage-card .card-body{display:grid;gap:12px}
.sandbox-stage-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.sandbox-stage-top h3{margin:0;color:var(--navy);font-size:17px}
.sandbox-stage-top p{margin:5px 0 0;color:#68738a;font-size:13px}
.sandbox-status{display:inline-flex;align-items:center;gap:7px;min-height:28px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.sandbox-status.pass{color:#0d6f45;background:#e7f8ef}.sandbox-status.warning{color:#925a00;background:#fff4df}.sandbox-status.blocker{color:#a51d2d;background:#feecee}
.sandbox-mini-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.sandbox-mini-list li{display:flex;align-items:flex-start;gap:8px;color:#46536b;font-size:13px}
.sandbox-mini-list li::before{content:'•';color:var(--primary);font-weight:900}
.sandbox-checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.sandbox-checklist{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.sandbox-checklist li{display:flex;gap:9px;align-items:flex-start;color:#40506b;font-size:14px}
.sandbox-checklist li::before{content:'✓';display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;border-radius:50%;color:#0d6f45;background:#e7f8ef;font-size:12px;font-weight:900}
.sandbox-readiness-table td:first-child{font-weight:800;color:var(--navy)}
@media(max-width:1200px){.platform-security-grid,.sandbox-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.platform-security-grid,.sandbox-stage-grid,.sandbox-checklist-grid{grid-template-columns:1fr}.sandbox-hero{align-items:flex-start;flex-direction:column}.sandbox-score{width:100%;height:auto;min-height:96px}.security-metric-card{min-height:auto}}

/* Phase 17 billing lifecycle sandbox hardening */
.lifecycle-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px;padding:24px;border:1px solid #dfe5f1;border-radius:18px;background:linear-gradient(135deg,#fff,#f6f7ff);box-shadow:0 3px 12px rgba(24,36,66,.03)}
.lifecycle-hero.is-good{background:linear-gradient(135deg,#fff,#f2fbf7)}
.lifecycle-hero.is-warning{background:linear-gradient(135deg,#fff,#fff8ec)}
.lifecycle-hero h2{margin:0 0 7px;color:var(--navy);font-size:28px;letter-spacing:-.04em}
.lifecycle-hero p{margin:0;color:#68738a;max-width:790px}
.lifecycle-issue-totals{display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 10px;flex:0 0 auto;padding:18px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 45px rgba(43,53,93,.08)}
.lifecycle-issue-totals strong{color:var(--navy);font-size:28px;font-weight:900;letter-spacing:-.05em;line-height:1}
.lifecycle-issue-totals span{color:#68738a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.lifecycle-metrics{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:22px}
.lifecycle-metric-card{min-height:118px}.lifecycle-metric-card .metric-label{display:block;color:#68738a;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.lifecycle-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:18px;align-items:start}
.lifecycle-table .table-subtitle{display:block;margin-top:3px}.lifecycle-state-list{display:grid;gap:10px;padding:18px}
.lifecycle-state-list article{border:1px solid #e4e9f2;border-radius:14px;background:#fff;padding:14px 15px}.lifecycle-state-list strong{display:block;color:var(--navy);font-size:14px}.lifecycle-state-list span{display:block;color:#46536b;font-size:13px;line-height:1.4;margin-top:5px}.lifecycle-state-list small{display:block;color:#68738a;font-size:12px;line-height:1.4;margin-top:7px}.lifecycle-issues-table td{vertical-align:top}.sandbox-phase-callout{display:flex;align-items:center;justify-content:space-between;gap:18px}.sandbox-phase-callout p{margin:0;max-width:860px;color:#46536b;line-height:1.45}
@media(max-width:1280px){.lifecycle-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.lifecycle-grid{grid-template-columns:1fr}}
@media(max-width:760px){.lifecycle-hero{align-items:flex-start;flex-direction:column}.lifecycle-issue-totals{width:100%}.lifecycle-metrics{grid-template-columns:1fr}.sandbox-phase-callout{align-items:stretch;flex-direction:column}.sandbox-phase-callout .btn{width:100%}}

/* Phase 18 customer workflow readiness */
.workflow-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:26px;border:1px solid #dfe5f1;border-radius:20px;background:linear-gradient(135deg,#ffffff,#f6f7ff);box-shadow:0 14px 38px rgba(24,36,66,.05)}
.workflow-hero h2{margin:6px 0 8px;color:var(--navy);font-size:30px;line-height:1.05;letter-spacing:-.045em}
.workflow-hero p{margin:0;color:#5f6d86;line-height:1.55;max-width:820px}.workflow-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.workflow-score{display:grid;place-items:center;flex:0 0 144px;min-height:126px;padding:18px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 45px rgba(43,53,93,.08);text-align:center}.workflow-score strong{display:block;color:var(--navy);font-size:38px;font-weight:900;letter-spacing:-.06em;line-height:1}.workflow-score span{display:block;margin-top:8px;color:#66728a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.workflow-step-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:22px}.workflow-step-card .card-body{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}.workflow-step-number{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:#fff4df;color:#925a00;font-weight:900;border:1px solid #ffe1ac}.workflow-step-card.done .workflow-step-number{color:#0d6f45;background:#e7f8ef;border-color:#bcebd1}.workflow-step-copy h3{margin:0 0 6px;color:var(--navy);font-size:17px}.workflow-step-copy p{margin:0 0 10px;color:#5f6d86;font-size:13px;line-height:1.45}.workflow-step-copy ul{display:grid;gap:5px;margin:0 0 14px;padding:0;list-style:none}.workflow-step-copy li{color:#4e5d75;font-size:12px}.workflow-step-copy li::before{content:'•';color:var(--primary);font-weight:900;margin-right:6px}.workflow-test-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px;align-items:start}.workflow-test-list{display:grid;gap:10px;margin:0;padding-left:20px;color:#40506b}.workflow-test-list li{padding-left:4px;line-height:1.45}.workflow-summary-table td:first-child{font-weight:800;color:var(--navy)}.workflow-next-card{margin-bottom:18px}.workflow-next-card .card-body{display:flex;align-items:center;justify-content:space-between;gap:18px}.workflow-next-card h2{margin:5px 0 6px;color:var(--navy);font-size:22px;letter-spacing:-.035em}.workflow-next-card p{margin:0;color:#5f6d86}.workflow-next-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.workflow-mini-score{display:grid;place-items:center;min-width:92px;min-height:54px;border:1px solid var(--line);border-radius:14px;background:#f8faff}.workflow-mini-score strong{font-size:20px;color:var(--navy);line-height:1}.workflow-mini-score span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#68738a}.workflow-progress{height:9px;min-width:120px;border-radius:999px;background:#eef2f8;overflow:hidden}.workflow-progress span{display:block;height:100%;border-radius:999px;background:var(--primary)}.workflow-admin-table td{vertical-align:middle}.workflow-admin-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px}.workflow-admin-checks div{border:1px solid #e4e9f2;border-radius:14px;background:#fff;padding:14px}.workflow-admin-checks strong{display:block;color:var(--navy);font-size:14px}.workflow-admin-checks span{display:block;margin-top:5px;color:#5f6d86;font-size:13px;line-height:1.4}.platform-workflow-hero{margin-bottom:18px}.workflow-metric-grid{margin-bottom:18px}
@media(max-width:1200px){.workflow-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-admin-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.workflow-hero,.workflow-next-card .card-body{align-items:stretch;flex-direction:column}.workflow-score{width:100%;min-height:96px}.workflow-step-grid,.workflow-test-grid,.workflow-admin-checks{grid-template-columns:1fr}.workflow-next-actions{justify-content:stretch}.workflow-next-actions .btn{width:100%}}

/* Phase 19 delivery readiness */
.delivery-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:26px;border:1px solid #dfe5f1;border-radius:20px;background:linear-gradient(135deg,#ffffff,#f6f7ff);box-shadow:0 14px 38px rgba(24,36,66,.05)}
.delivery-hero.is-good{background:linear-gradient(135deg,#ffffff,#f2fbf7)}
.delivery-hero.is-warning{background:linear-gradient(135deg,#ffffff,#fff8ec)}
.delivery-hero h2{margin:6px 0 8px;color:var(--navy);font-size:30px;line-height:1.05;letter-spacing:-.045em}
.delivery-hero p{margin:0;color:#5f6d86;line-height:1.55;max-width:850px}
.delivery-score{display:grid;grid-template-columns:auto auto;column-gap:10px;row-gap:5px;align-items:center;min-width:170px;padding:18px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 45px rgba(43,53,93,.08)}
.delivery-score strong{color:var(--navy);font-size:24px;font-weight:900;letter-spacing:-.04em;line-height:1;text-align:right}.delivery-score span{color:#66728a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.delivery-metrics{margin-bottom:18px}.delivery-metrics .metric-value.small{font-size:26px;letter-spacing:-.035em}.delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.delivery-check-table td{vertical-align:top}.delivery-drill-form{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(220px,.8fr) auto;gap:14px;align-items:end}.delivery-warning-copy{margin-top:10px}.delivery-test-script{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;padding:18px}.delivery-test-script div{border:1px solid #e4e9f2;border-radius:14px;background:#fff;padding:14px}.delivery-test-script strong{display:block;color:var(--navy);font-size:14px}.delivery-test-script span{display:block;margin-top:6px;color:#5f6d86;font-size:13px;line-height:1.45}.compact-table td,.compact-table th{padding-top:10px;padding-bottom:10px}
@media(max-width:980px){.delivery-grid,.delivery-test-script{grid-template-columns:1fr}.delivery-drill-form{grid-template-columns:1fr}.delivery-hero{align-items:stretch;flex-direction:column}.delivery-score{width:100%;grid-template-columns:repeat(3,auto);justify-content:space-around}.delivery-score strong{text-align:center}.delivery-score span{grid-row:2}}

/* Phase 20 public surface readiness */
.phase20-hero{overflow:hidden;background:linear-gradient(135deg,#ffffff 0%,#f4f6ff 100%)}
.phase20-hero-grid{display:flex;align-items:center;justify-content:space-between;gap:24px}
.phase20-hero h2{margin:4px 0 8px;color:var(--navy);font-size:30px;line-height:1.12;letter-spacing:-.04em}
.phase20-hero p{margin:0;max-width:760px;color:var(--muted);font-size:15px;line-height:1.7}
.phase20-score{display:grid;place-items:center;min-width:132px;min-height:108px;padding:18px;border:1px solid #dfe4ff;border-radius:22px;background:#fff;box-shadow:var(--shadow-sm);text-align:center}
.phase20-score strong{color:var(--primary);font-size:34px;line-height:1;letter-spacing:-.04em}
.phase20-score span{margin-top:7px;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.phase20-links-table td{vertical-align:middle}
.phase20-action-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.phase20-mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.phase20-mini-metrics>div{padding:14px;border:1px solid var(--line);border-radius:13px;background:#f8fafc}
.phase20-mini-metrics strong{display:block;color:var(--navy);font-size:20px;line-height:1.1;letter-spacing:-.03em}
.phase20-mini-metrics span{display:block;margin-top:5px;color:var(--muted);font-size:12px;font-weight:700}
.phase20-final-list{columns:2;column-gap:38px}
.phase20-final-list li{break-inside:avoid}
@media(max-width:980px){.phase20-hero-grid{align-items:flex-start;flex-direction:column}.phase20-score{width:100%}.phase20-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.phase20-final-list{columns:1}.phase20-action-row{justify-content:flex-start}}
@media(max-width:620px){.phase20-mini-metrics{grid-template-columns:1fr}}

/* Phase 23: eReviewPro image logo */
.brand-logo { display: inline-flex; align-items: center; line-height: 0; max-width: 100%; }
.brand-logo-img { display: block; width: auto; height: 40px; object-fit: contain; }
.brand-logo-light { display: none; }
.public-header .brand-logo-img { height: 42px; }
.auth-card .brand-logo-img { height: 44px; }
.brand-sidebar .brand-logo-img { height: 34px; max-width: 190px; }
.brand-footer .brand-logo-img { height: 38px; max-width: 230px; }
.brand-sidebar .brand-logo-dark,
.brand-footer .brand-logo-dark { display: none; }
.brand-sidebar .brand-logo-light,
.brand-footer .brand-logo-light { display: block; }
@media (max-width: 680px) {
    .public-header .brand-logo-img { height: 36px; }
    .brand-logo-img { height: 36px; }
}

/* Phase 25.5: Contacts directory action button spacing */
.contacts-directory-actions {
    margin-top: 16px;
    padding-top: 4px;
    margin-bottom: 0;
    justify-content: flex-start;
}
.contacts-directory-actions .toolbar-group {
    gap: 12px;
    flex-wrap: wrap;
}
@media (max-width: 760px) {
    .contacts-directory-actions {
        margin-top: 14px;
    }
    .contacts-directory-actions .btn {
        flex: 1 1 160px;
    }
}


/* Phase 30 - public website positioning, actual review-platform logos, comparison table, and text spacing fixes */
.destination-hero .hero-copy { max-width: 710px; }
.destination-preview .preview-content { min-width: 0; }
.destination-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.destination-pills span { display: inline-flex; align-items: center; min-height: 28px; padding: 6px 10px; border: 1px solid #e3e8f4; border-radius: 999px; background: #fff; color: #4e5b72; font-size: 11px; font-weight: 800; line-height: 1; white-space: nowrap; }
.review-logo-grid { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 16px; align-items: center; }
.review-logo-card { display: flex; align-items: center; justify-content: center; min-height: 76px; padding: 14px 20px; border: 1px solid #e7ebf3; border-radius: 16px; background: #fff; box-shadow: 0 6px 20px rgba(17,28,58,.04); }
.review-logo-card img { display: block; max-width: 178px; width: 100%; max-height: 48px; object-fit: contain; }
.destination-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: center; }
.destination-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.destination-card { display: flex; flex-direction: column; gap: 8px; min-height: 176px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: var(--shadow-sm); }
.destination-card strong { display: block; color: var(--navy); font-size: 19px; line-height: 1.25; }
.destination-card span { display: block; color: var(--muted); line-height: 1.7; }
.comparison-section { background: #fff; }
.comparison-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: var(--shadow-sm); }
.comparison-table { width: 100%; min-width: 980px; border-collapse: collapse; }
.comparison-table th, .comparison-table td { padding: 19px 18px; border-bottom: 1px solid #e8edf5; text-align: left; vertical-align: top; }
.comparison-table thead th { background: #f7f8ff; color: var(--navy); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
.comparison-table tbody th { width: 190px; color: var(--navy); font-weight: 900; }
.comparison-table td { color: #5b667a; line-height: 1.6; }
.comparison-table td strong { color: var(--navy); }
.comparison-table .comparison-best { background: #eeefff; color: var(--primary-dark); }
.comparison-table tbody td:nth-child(2) { background: #fbfbff; }
.comparison-table tr:last-child th, .comparison-table tr:last-child td { border-bottom: 0; }
.comparison-note { margin: 16px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; text-align: center; }
.footer-grid p .footer-product-note, .footer-product-note { display:block; margin-top:10px; color:#d7def0; font-weight:700; }
@media (max-width: 1100px) {
    .review-logo-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
    .destination-layout { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 680px) {
    .review-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .review-logo-card { min-height: 64px; padding: 12px 14px; }
    .review-logo-card img { max-height: 38px; }
    .destination-card-grid { grid-template-columns: 1fr; }
    .destination-card { min-height: 0; padding: 22px; }
}

/* Phase 31 - customer-facing website sales rebuild and stronger positioning */
.phase31-public .hero h1 { max-width: 920px; }
.sales-hero { background: radial-gradient(circle at top right, rgba(91,92,240,.16), transparent 42%), linear-gradient(135deg,#ffffff 0%,#f5f7ff 100%); }
.sales-hero-grid { align-items: center; }
.sales-preview .preview-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
.funnel-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:16px 0 8px; padding:14px; border:1px solid #e7ebf5; border-radius:16px; background:#fff; box-shadow:0 12px 28px rgba(17,28,58,.06); }
.funnel-card div { min-width:0; }
.funnel-card strong { display:block; color:var(--navy); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; line-height:1.25; }
.funnel-card span { display:block; margin-top:4px; color:#59657a; font-size:13px; line-height:1.35; white-space:normal; overflow-wrap:anywhere; }
.value-card-grid .destination-card { min-height: 190px; }
.visibility-layout { display:grid; grid-template-columns:.82fr 1.18fr; gap:54px; align-items:start; }
.visibility-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.visibility-grid div, .proof-list-card div, .audience-grid article, .why-summary-card { border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-sm); }
.visibility-grid div { padding:22px; }
.visibility-grid strong, .proof-list-card strong { display:block; color:var(--navy); font-size:16px; line-height:1.25; }
.visibility-grid span, .proof-list-card span { display:block; margin-top:7px; color:var(--muted); line-height:1.65; }
.comparison-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:24px; }
.launch-offer-section { background:linear-gradient(135deg,#f7f8ff 0%,#eef7ff 100%); }
.launch-offer-card { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:34px; border:1px solid #dfe4ff; border-radius:26px; background:#fff; box-shadow:0 20px 55px rgba(17,28,58,.08); }
.launch-offer-card h2 { margin:6px 0 8px; color:var(--navy); font-size:32px; letter-spacing:-.04em; line-height:1.1; }
.launch-offer-card p { margin:0; color:var(--muted); line-height:1.7; max-width:850px; }
.compact-hero { padding:72px 0; background:linear-gradient(135deg,#ffffff 0%,#f5f7ff 100%); }
.compact-hero h1 { margin:8px 0 14px; color:var(--navy); font-size:clamp(40px,5vw,68px); line-height:.98; letter-spacing:-.06em; }
.why-summary-card { padding:30px; }
.why-summary-card h2 { margin:0 0 10px; color:var(--navy); font-size:28px; line-height:1.1; letter-spacing:-.04em; }
.why-summary-card p { margin:0; color:var(--muted); line-height:1.7; }
.split-proof-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; align-items:start; }
.proof-list-card { display:grid; gap:0; overflow:hidden; }
.proof-list-card div { border-width:0 0 1px 0; border-radius:0; box-shadow:none; padding:22px 24px; }
.proof-list-card div:last-child { border-bottom:0; }
.audience-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.audience-grid article { padding:24px; }
.audience-grid h3 { margin:0 0 8px; color:var(--navy); font-size:18px; line-height:1.25; }
.audience-grid p { margin:0; color:var(--muted); line-height:1.65; }
.comparison-table-large { min-width:1120px; }
.comparison-table th, .comparison-table td { overflow-wrap: anywhere; }
.review-logo-card { position:relative; overflow:hidden; }
.review-logo-card::after { content:""; position:absolute; inset:auto 18px 8px 18px; height:2px; border-radius:999px; background:linear-gradient(90deg,rgba(91,92,240,.0),rgba(91,92,240,.25),rgba(91,92,240,.0)); opacity:.7; }
.contact-benefits { grid-template-columns: 1fr; }
.contact-benefits div strong { display:block; margin-bottom:5px; }
@media (max-width: 1100px) {
    .visibility-layout, .split-proof-layout { grid-template-columns:1fr; gap:34px; }
    .audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .launch-offer-card { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 760px) {
    .sales-preview .preview-stats, .funnel-card, .visibility-grid, .audience-grid { grid-template-columns:1fr; }
    .compact-hero { padding:52px 0; }
    .launch-offer-card { padding:24px; }
    .launch-offer-card h2 { font-size:27px; }
}


/* Phase 31.2 - public review-sites logo and text spacing fix
   Keeps the public review destination logo wall contained in clean cards. */
.platform-logo-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: 16px;
    align-items: stretch;
}
.platform-logo-card {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 86px;
    padding: 16px 22px;
    border: 1px solid #e7ebf3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(17,28,58,.045);
    overflow: hidden;
}
.platform-logo-card img {
    display: block;
    width: auto;
    height: auto;
    max-width: 205px;
    max-height: 54px;
    object-fit: contain;
}
.platform-logo-card img[alt="Google Reviews"] { max-width: 210px; max-height: 58px; }
.platform-logo-card img[alt="BBB"] { max-width: 160px; max-height: 58px; }
.platform-logo-card img[alt="Yelp"] { max-width: 155px; max-height: 52px; }
.platform-logo-card img[alt="Facebook"] { max-width: 190px; max-height: 48px; }
.platform-logo-card img[alt="Tripadvisor"] { max-width: 198px; max-height: 48px; }
.destination-preview .preview-card {
    display: grid;
    grid-template-columns: minmax(112px, auto) minmax(0, 1fr);
    gap: 8px 12px;
    align-items: start;
    margin-bottom: 8px;
}
.destination-preview .preview-card strong,
.destination-preview .preview-card span {
    display: block;
    min-width: 0;
    line-height: 1.35;
}
.destination-preview .preview-card span {
    color: #58657a;
    overflow-wrap: anywhere;
}
.destination-preview .destination-pills {
    clear: both;
    max-width: 100%;
}
@media (max-width: 1100px) {
    .platform-logo-grid { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
}
@media (max-width: 760px) {
    .platform-logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .platform-logo-card { min-height: 72px; padding: 12px 14px; }
    .platform-logo-card img { max-width: 160px; max-height: 42px; }
    .platform-logo-card img[alt="Google Reviews"] { max-width: 168px; max-height: 46px; }
    .destination-preview .preview-card { grid-template-columns: 1fr; gap: 3px; }
}

/* Phase 31.3 - public pricing page and nav target fix */
.pricing-page .pricing-hero .hero-copy { max-width: 760px; }
.pricing-promise-card { align-self: center; }
.pricing-promise-card .eyebrow { display: inline-flex; margin-bottom: 10px; }
.pricing-hero-checks { gap: 8px 18px; }
.pricing-main-section .section-heading p { max-width: 760px; margin-left: auto; margin-right: auto; }
.pricing-page-grid .plan-card { min-height: 100%; }
.pricing-page-note { max-width: 980px; margin-left: auto; margin-right: auto; }
.pricing-value-grid div { min-height: 178px; }
.pricing-comparison-table { min-width: 820px; }
.pricing-comparison-table tbody th { width: 210px; }
@media (max-width: 980px) {
    .pricing-promise-card { margin-top: 16px; }
}
@media (max-width: 680px) {
    .pricing-comparison-table { min-width: 720px; }
}

/* Phase 31.4 - public features page and nav target fix */
.features-page .features-hero .hero-copy { max-width: 780px; }
.features-summary-card { align-self: center; }
.features-summary-card .eyebrow { display: inline-flex; margin-bottom: 10px; }
.features-hero-checks { gap: 8px 18px; }
.features-detail-grid .feature-card { min-height: 242px; }
.features-workflow-layout { align-items: center; }
.features-workflow-grid div { min-height: 164px; }
.features-proof-list div { min-height: 0; }
.features-comparison-table { min-width: 920px; }
.features-comparison-table tbody th { width: 210px; }
@media (max-width: 760px) {
    .features-detail-grid .feature-card { min-height: 0; }
    .features-comparison-table { min-width: 760px; }
}

/* Phase 32 - public website benefit/pricing design refresh */
.phase32-public {
    --phase32-dark: #0e1730;
    --phase32-ink: #121a2f;
    --phase32-muted: #58657a;
    --phase32-card: #ffffff;
    --phase32-blue: #5b5cf0;
    --phase32-blue-dark: #4748d5;
    --phase32-soft: #f4f6ff;
    --phase32-green: #19a36f;
}
.phase32-public .public-header {
    background: rgba(255,255,255,.97);
    box-shadow: 0 12px 34px rgba(17,28,58,.045);
}
.phase32-public .header-inner { min-height: 70px; }
.phase32-public .public-nav { gap: 20px; }
.phase32-public .public-nav > a:not(.btn) { color: #46536b; font-size: 14px; font-weight: 760; }
.phase32-public .btn { border-radius: 999px; }
.phase32-public .btn-xl { min-height: 50px; padding: 13px 22px; font-size: 15px; }
.phase32-public .btn-primary { background: linear-gradient(135deg,var(--phase32-blue),#7772ff); box-shadow: 0 16px 35px rgba(91,92,240,.27); }
.phase32-public .btn-primary:hover { background: linear-gradient(135deg,var(--phase32-blue-dark),#6560f4); }
.phase32-hero {
    padding: 84px 0 58px;
    background:
        radial-gradient(circle at 82% 10%, rgba(91,92,240,.18), transparent 28%),
        radial-gradient(circle at 12% 86%, rgba(25,163,111,.12), transparent 30%),
        linear-gradient(180deg,#ffffff 0%,#f6f7ff 100%);
}
.phase32-hero::before { display: none; }
.phase32-hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1.02fr) minmax(390px,.78fr);
    gap: 58px;
    align-items: center;
}
.phase32-hero h1,
.phase32-pricing-hero h1 {
    max-width: 940px;
    margin: 0 0 18px;
    color: var(--phase32-ink);
    font-size: clamp(46px, 6vw, 82px);
    line-height: .94;
    letter-spacing: -.075em;
}
.phase32-hero .hero-copy,
.phase32-pricing-hero .hero-copy {
    max-width: 760px;
    margin-bottom: 28px;
    color: var(--phase32-muted);
    font-size: clamp(18px, 1.7vw, 22px);
    line-height: 1.58;
}
.phase32-proof-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}
.phase32-proof-row span,
.phase32-price-switch span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 12px;
    border: 1px solid #dfe5f4;
    border-radius: 999px;
    background: rgba(255,255,255,.78);
    color: #47546c;
    font-size: 13px;
    font-weight: 850;
    box-shadow: 0 8px 20px rgba(17,28,58,.04);
}
.phase32-proof-row span::before {
    content: "✓";
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    margin-right: 7px;
    border-radius: 50%;
    background: #e8f8f0;
    color: var(--phase32-green);
    font-size: 12px;
    font-weight: 1000;
}
.phase32-console {
    position: relative;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 30px;
    background: linear-gradient(145deg,#101b39,#1c2960);
    box-shadow: 0 36px 86px rgba(17,28,58,.22);
    overflow: hidden;
}
.phase32-console::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: radial-gradient(circle at 82% 0%, rgba(255,255,255,.18), transparent 32%);
}
.phase32-console-top {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 18px 20px;
    color: #dfe5ff;
    border-bottom: 1px solid rgba(255,255,255,.12);
}
.phase32-console-top span { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.28); }
.phase32-console-top strong { margin-left: 8px; font-size: 13px; letter-spacing: .05em; text-transform: uppercase; }
.phase32-journey { position: relative; z-index: 1; display: grid; gap: 12px; padding: 20px; }
.phase32-journey-step {
    display: grid;
    grid-template-columns: 38px 1fr;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 9px 12px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 18px;
    background: rgba(255,255,255,.08);
    color: #fff;
}
.phase32-journey-step b {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 12px;
    background: rgba(255,255,255,.12);
}
.phase32-journey-step span { font-weight: 850; }
.phase32-journey-step.is-complete b { background: #e8fff2; color: #128d61; }
.phase32-journey-step.is-warning b { background: #fff7db; color: #ad6800; }
.phase32-signal-card,
.phase32-metrics {
    position: relative;
    z-index: 1;
    margin: 0 20px 20px;
}
.phase32-signal-card {
    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 12px;
}
.phase32-signal-card > div,
.phase32-metrics > div {
    border: 1px solid rgba(226,231,240,.9);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(8,18,43,.15);
}
.phase32-signal-card > div { padding: 18px; }
.phase32-mini-label,
.phase32-click-card span { display: block; color: #7a8598; font-size: 11px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.phase32-signal-card strong { display: block; margin-top: 5px; color: var(--phase32-ink); font-size: 24px; letter-spacing: -.04em; }
.phase32-signal-card p { margin: 8px 0 0; color: #59667d; line-height: 1.55; }
.phase32-click-card { display: flex; flex-direction: column; justify-content: center; }
.phase32-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.phase32-metrics > div { padding: 14px 12px; }
.phase32-metrics strong { display: block; color: var(--phase32-ink); font-size: 26px; line-height: 1; letter-spacing: -.055em; }
.phase32-metrics span { display: block; margin-top: 6px; color: #6b7588; font-size: 11px; font-weight: 850; }
.phase32-logo-strip {
    padding: 26px 0 34px;
    background: #fff;
    border-bottom: 1px solid #e7ebf5;
}
.phase32-logo-strip p {
    margin: 0 0 16px;
    color: #717d91;
    text-align: center;
    font-size: 13px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.phase32-review-logo-grid { grid-template-columns: repeat(8,minmax(0,1fr)); gap: 10px; }
.phase32-review-logo-grid .review-logo-card {
    min-height: 66px;
    padding: 10px 12px;
    border-radius: 16px;
    box-shadow: 0 10px 26px rgba(17,28,58,.045);
}
.phase32-review-logo-grid .review-logo-card::after { display: none; }
.phase32-tight-section { padding: 78px 0; }
.phase32-benefit-layout,
.phase32-value-split,
.phase32-proof-layout {
    display: grid;
    grid-template-columns: .82fr 1.18fr;
    gap: 52px;
    align-items: center;
}
.phase32-benefit-stack { display: grid; gap: 15px; }
.phase32-benefit-stack article {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(17,28,58,.055);
}
.phase32-benefit-stack article > span {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: var(--primary-soft);
    color: var(--primary-dark);
    font-weight: 1000;
}
.phase32-benefit-stack h3,
.phase32-feature-grid strong,
.phase32-value-grid b,
.phase32-flow b,
.phase32-before-after h3 { margin: 0; color: var(--phase32-ink); }
.phase32-benefit-stack h3 { font-size: 20px; letter-spacing: -.025em; }
.phase32-benefit-stack p { margin: 7px 0 0; color: var(--phase32-muted); line-height: 1.65; }
.phase32-feature-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 16px;
}
.phase32-feature-grid article,
.phase32-value-grid article,
.phase32-flow div,
.phase32-wall article,
.phase32-before-after article {
    border: 1px solid var(--line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(17,28,58,.055);
}
.phase32-feature-grid article { min-height: 174px; padding: 24px; }
.phase32-feature-grid strong { display: block; font-size: 19px; line-height: 1.2; }
.phase32-feature-grid strong::before {
    content: "";
    display: block;
    width: 34px;
    height: 5px;
    margin-bottom: 18px;
    border-radius: 999px;
    background: linear-gradient(90deg,var(--primary),#23bf82);
}
.phase32-feature-grid span,
.phase32-value-grid span { display: block; margin-top: 10px; color: var(--phase32-muted); line-height: 1.65; }
.phase32-workflow-card {
    padding: 38px;
    border: 1px solid #dfe5f4;
    border-radius: 30px;
    background: linear-gradient(135deg,#ffffff,#f7f8ff);
    box-shadow: 0 20px 55px rgba(17,28,58,.075);
}
.phase32-flow { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin-top: 28px; }
.phase32-flow div { position: relative; min-height: 156px; padding: 22px; }
.phase32-flow div:not(:last-child)::after {
    content: "→";
    position: absolute;
    right: -14px;
    top: 25px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    color: #fff;
    background: var(--primary);
    font-weight: 900;
}
.phase32-flow b { display: block; font-size: 18px; }
.phase32-flow span { display: block; margin-top: 9px; color: var(--phase32-muted); font-size: 14px; line-height: 1.55; }
.phase32-proof-layout > div:first-child h2 { margin: 6px 0 14px; color: var(--phase32-ink); font-size: clamp(34px,4vw,54px); line-height: 1.02; letter-spacing: -.06em; }
.phase32-proof-layout > div:first-child p { margin: 0 0 22px; color: var(--phase32-muted); font-size: 17px; line-height: 1.7; }
.phase32-wall { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.phase32-wall article { min-height: 212px; padding: 22px; }
.phase32-wall article:nth-child(2) { transform: translateY(20px); }
.phase32-wall span { display: block; color: #f4aa1d; letter-spacing: .08em; font-weight: 900; }
.phase32-wall p { margin: 16px 0 20px; color: var(--phase32-ink); font-size: 18px; line-height: 1.45; font-weight: 760; }
.phase32-wall small { color: #7a8598; font-weight: 800; }
.phase32-pricing-grid .plan-card,
.phase32-plan-card {
    border-radius: 26px;
    box-shadow: 0 18px 46px rgba(17,28,58,.075);
}
.phase32-pricing-grid .plan-card:hover { transform: translateY(-2px); }
.phase32-plan-featured {
    border-width: 2px;
    border-color: rgba(91,92,240,.58);
    box-shadow: 0 28px 70px rgba(91,92,240,.18);
}
.phase32-pricing-grid .plan-price strong,
.phase32-plan-card .plan-price strong { font-size: 58px; letter-spacing: -.07em; }
.phase32-pricing-hero {
    padding: 76px 0 42px;
    text-align: center;
}
.phase32-pricing-hero::before { display: none; }
.phase32-pricing-hero-inner { display: grid; justify-items: center; }
.phase32-pricing-hero .hero-copy { margin-left: auto; margin-right: auto; }
.phase32-price-switch {
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 9px;
    padding: 7px;
    border: 1px solid #dfe5f4;
    border-radius: 999px;
    background: rgba(255,255,255,.72);
    box-shadow: 0 12px 30px rgba(17,28,58,.06);
}
.phase32-price-switch span { box-shadow: none; border: 0; background: transparent; }
.phase32-price-switch .is-active { color: #fff; background: var(--primary); }
.phase32-pricing-main { padding-top: 54px; }
.phase32-plan-includes {
    margin: 20px 0 10px;
    color: var(--phase32-ink);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.phase32-price-note { border-radius: 18px; }
.phase32-value-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.phase32-value-grid article { min-height: 164px; padding: 24px; }
.phase32-value-grid b { display: block; font-size: 19px; }
.phase32-comparison-table { min-width: 880px; }
.phase32-before-after { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.phase32-before-after article { padding: 26px; }
.phase32-before-after h3 { font-size: 22px; letter-spacing: -.035em; }
.phase32-before-after ul { display: grid; gap: 11px; margin: 18px 0 0; padding: 0; list-style: none; }
.phase32-before-after li { position: relative; padding-left: 28px; color: var(--phase32-muted); line-height: 1.55; }
.phase32-before-after li::before { content: "•"; position: absolute; left: 8px; top: -1px; color: var(--primary); font-size: 22px; line-height: 1; }
.phase32-faq-list details { border-radius: 18px; }
.phase32-cta { background: radial-gradient(circle at 16% 15%, rgba(255,255,255,.16), transparent 30%), linear-gradient(135deg,#101a37 0%,#2b2a68 100%); }
@media (max-width: 1180px) {
    .phase32-review-logo-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
    .phase32-flow { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .phase32-flow div:not(:last-child)::after { display: none; }
}
@media (max-width: 980px) {
    .phase32-hero-grid,
    .phase32-benefit-layout,
    .phase32-value-split,
    .phase32-proof-layout { grid-template-columns: 1fr; gap: 36px; }
    .phase32-hero { padding-top: 62px; }
    .phase32-console { max-width: 620px; }
    .phase32-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .phase32-wall { grid-template-columns: 1fr; }
    .phase32-wall article:nth-child(2) { transform: none; }
}
@media (max-width: 680px) {
    .phase32-hero h1,
    .phase32-pricing-hero h1 { font-size: clamp(40px,13vw,58px); }
    .phase32-hero-grid { grid-template-columns: 1fr; }
    .phase32-console { border-radius: 22px; }
    .phase32-signal-card,
    .phase32-metrics,
    .phase32-feature-grid,
    .phase32-value-grid,
    .phase32-before-after { grid-template-columns: 1fr; }
    .phase32-review-logo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .phase32-tight-section { padding: 58px 0; }
    .phase32-benefit-stack article { grid-template-columns: 1fr; }
    .phase32-workflow-card { padding: 24px; border-radius: 22px; }
    .phase32-flow { grid-template-columns: 1fr; }
    .phase32-price-switch { border-radius: 22px; }
    .phase32-price-switch span { width: 100%; justify-content: center; }
}
