.product-shell { max-width: 1120px; margin: 0 auto; padding: var(--space-3xl) var(--space-lg); }
.product-hero { text-align: center; max-width: 760px; margin: 0 auto var(--space-2xl); }
.product-eyebrow { color: var(--color-accent); text-transform: uppercase; letter-spacing: .16em; font-size: var(--text-xs); font-weight: 700; }
.product-hero h1 { font-size: var(--text-3xl); margin: var(--space-sm) 0; }
.product-hero p:last-child, .muted { color: var(--color-text-muted); }
.plan-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-lg); }
.plan-card { display: flex; flex-direction: column; border: 1px solid var(--color-border); background: var(--color-surface); border-radius: var(--radius-lg); padding: var(--space-xl); }
.plan-card--featured { border-color: var(--color-accent); box-shadow: var(--shadow-md); }
.plan-card h2 { font-size: var(--text-2xl); }
.plan-price { font: 600 var(--text-3xl) var(--font-serif); margin: var(--space-md) 0; }
.plan-price span { font: 400 var(--text-sm) var(--font-sans); color: var(--color-text-muted); }
.plan-offer-label { width: fit-content; margin: var(--space-md) 0 0; padding: 4px 9px; color: var(--color-accent); background: color-mix(in srgb, var(--color-accent) 10%, transparent); border: 1px solid color-mix(in srgb, var(--color-accent) 28%, transparent); border-radius: 999px; font-size: var(--text-xs); font-weight: 700; }
.plan-standard { margin-top: calc(-1 * var(--space-sm)); color: var(--color-text-muted); font-size: var(--text-sm); }
.plan-builder-note { margin: var(--space-sm) 0 var(--space-lg); color: var(--color-text); font-size: var(--text-sm); line-height: 1.55; }
.plan-features { list-style: none; display: grid; gap: var(--space-sm); margin: 0 0 var(--space-xl); flex: 1; }
.plan-features li::before { content: '✓'; color: var(--color-accent); margin-inline-end: 8px; }
.plan-state { font-size: var(--text-xs); color: var(--color-text-muted); margin-top: var(--space-sm); text-align: center; }
.product-notice { max-width: 800px; margin: 0 auto var(--space-xl); padding: 12px 16px; border-inline-start: 4px solid var(--color-accent); background: var(--color-surface); }
.product-notice.is-error { border-inline-start-color: #b42318; }
.checkout-dialog { width: min(92vw, 560px); max-width: none; padding: 0; color: var(--color-text); background: transparent; border: 0; }
.checkout-dialog::backdrop { background: rgba(15,18,24,.72); backdrop-filter: blur(5px); }
.checkout-dialog__panel { display: grid; gap: var(--space-md); padding: clamp(24px,5vw,40px); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-lg); box-shadow: 0 24px 80px rgba(0,0,0,.34); }
.checkout-dialog__panel h2 { margin-bottom: 0; }
.checkout-check { display: grid; grid-template-columns: auto 1fr; gap: var(--space-sm); align-items: start; font-size: var(--text-sm); }
.checkout-check input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--color-accent); }
.checkout-support { font-size: var(--text-sm); color: var(--color-text-muted); }
.checkout-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: var(--space-sm); }
html:has(.checkout-dialog[open]),body:has(.checkout-dialog[open]) { overflow: hidden; }
.scholar-layout { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: var(--space-lg); align-items: start; }
.scholar-panel { border: 1px solid var(--color-border); background: var(--color-surface); border-radius: var(--radius-lg); padding: var(--space-lg); }
.scholar-panel h2 { font-size: var(--text-xl); margin-bottom: var(--space-md); }
.scholar-form { display: grid; gap: var(--space-md); }
.scholar-form label { display: grid; gap: 5px; font-size: var(--text-sm); font-weight: 600; }
.scholar-form input,.scholar-form textarea,.scholar-form select { padding: 10px 12px; border: 1px solid var(--color-border); background: var(--color-bg); color: var(--color-text); border-radius: var(--radius-md); font: inherit; width: 100%; }
.project-list { display: grid; gap: var(--space-sm); margin: var(--space-lg) 0; }
.project-button { text-align: start; padding: 10px; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-bg); color: var(--color-text); cursor: pointer; }
.project-button.is-active { border-color: var(--color-accent); }
.job-list { display: grid; gap: var(--space-lg); margin-top: var(--space-xl); }
.job-card { border-top: 1px solid var(--color-border); padding-top: var(--space-lg); }
.job-status { display: inline-block; padding: 3px 8px; border: 1px solid var(--color-border); border-radius: 999px; font-size: var(--text-xs); }
.job-draft { margin-top: var(--space-lg); padding: var(--space-lg); background: var(--color-bg); border-radius: var(--radius-md); line-height: 1.75; white-space: pre-wrap; }
.evidence-list { margin-top: var(--space-md); }
.evidence-list summary { cursor: pointer; color: var(--color-accent); }
.evidence-item { margin-top: var(--space-sm); padding: 10px; border-inline-start: 2px solid var(--color-border); font-size: var(--text-sm); }
@media(max-width:820px){.plan-grid{grid-template-columns:1fr}.scholar-layout{grid-template-columns:1fr}}
