/* Partner pages (public sales page, forms, portal). Tokens only. */
.pt-wrap { max-width: 920px; margin: 0 auto; }
.pt-hero { padding: 8px 0 28px; }
.pt-eyebrow { font-family: var(--th-font-data); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); margin: 0 0 14px; }
.pt-rate { font-family: var(--th-font-data); font-weight: 600; font-size: clamp(48px, 9vw, 84px); letter-spacing: -0.03em; line-height: 1; color: var(--accent); }
.pt-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; margin: 0 0 32px; }
.pt-card { background: linear-gradient(180deg, var(--th-surface-2), var(--th-surface)); border: 1px solid var(--border); border-radius: 18px; padding: 24px; }
.pt-card h3 { margin: 0 0 8px; font-size: 17px; }
.pt-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.pt-section { margin: 40px 0 0; }
.pt-section > h2 { font-size: 22px; margin: 0 0 16px; }
.pt-steps { counter-reset: s; display: grid; gap: 14px; padding: 0; list-style: none; margin: 0; }
.pt-steps li { counter-increment: s; display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; }
.pt-steps li::before { content: counter(s); width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; font-family: var(--th-font-data); border: 1px solid var(--border); color: var(--accent); }
.pt-steps b { display: block; margin-bottom: 2px; }
.pt-steps span { color: var(--muted); font-size: 14px; line-height: 1.5; }
.pt-faq details { border-top: 1px solid var(--border); padding: 14px 0; }
.pt-faq summary { cursor: pointer; font-weight: 600; }
.pt-faq p { color: var(--muted); font-size: 14px; line-height: 1.55; margin: 10px 0 0; max-width: 70ch; }
.pt-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.pt-tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 24px; padding-bottom: 14px; border-bottom: 1px solid var(--border); align-items: center; }
.pt-tabs a { padding: 8px 14px; border-radius: 10px; font-size: 14px; color: var(--muted); text-decoration: none; }
.pt-tabs a:hover { color: var(--text); background: var(--surface-2); }
.pt-tabs a.is-active { color: var(--sidebar-text-active); background: var(--sidebar-active-bg); box-shadow: inset 3px 0 0 var(--accent); }
.pt-tabs form { margin-left: auto; }
.pt-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin: 0 0 24px; }
.pt-kpi { border: 1px solid var(--border); border-radius: 14px; padding: 16px 18px; background: var(--th-surface); }
.pt-kpi b { display: block; font-family: var(--th-font-data); font-size: 24px; font-weight: 600; letter-spacing: -0.02em; }
.pt-kpi span { font-size: 12px; color: var(--muted); }
.pt-link { display: flex; gap: 10px; align-items: center; border: 1px solid var(--border); border-radius: 12px; padding: 12px 14px; background: var(--th-surface); }
.pt-link code { flex: 1; overflow-wrap: anywhere; font-family: var(--th-font-data); font-size: 14px; }
.pt-banner { border: 1px dashed var(--accent); border-radius: 14px; padding: 16px 18px; margin: 0 0 24px; background: color-mix(in srgb, var(--accent) 8%, transparent); font-size: 14px; line-height: 1.5; }
.pt-banner b { display: block; margin-bottom: 2px; }
.pt-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pt-table th { text-align: left; font-size: 12px; color: var(--muted); font-weight: 600; padding: 8px 10px; border-bottom: 1px solid var(--border); }
.pt-table td { padding: 11px 10px; border-bottom: 1px solid var(--border); }
.pt-table .num { text-align: right; font-family: var(--th-font-data); font-variant-numeric: tabular-nums; }
.pt-pill { font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: var(--surface-2); color: var(--muted); white-space: nowrap; }
.pt-pill.ok { color: var(--positive); background: color-mix(in srgb, var(--positive) 14%, transparent); }
.pt-pill.warn { color: var(--th-warning, #f5a524); background: color-mix(in srgb, var(--th-warning, #f5a524) 14%, transparent); }
.pt-lesson { border: 1px solid var(--border); border-radius: 16px; padding: 22px 24px; margin: 0 0 16px; background: var(--th-surface); }
.pt-lesson.done { border-color: color-mix(in srgb, var(--positive) 50%, var(--border)); }
.pt-lesson h3 { margin: 0 0 4px; }
.pt-lesson p { line-height: 1.6; margin: 10px 0; max-width: 70ch; }
.pt-tip { border-left: 3px solid var(--accent); padding: 4px 0 4px 14px; color: var(--muted); font-size: 14px; margin-top: 14px; }
.pt-note { color: var(--muted); font-size: 13px; line-height: 1.5; }
@media (max-width: 600px) { .pt-tabs form { margin-left: 0; } .pt-table { font-size: 13px; } .pt-lesson { padding: 18px; } }
