.sm-page { --sm-green: #225b3c; --sm-ink: #202b25; --sm-muted: #59665e; --sm-border: #d8e0db; margin: 0; background: #fff; color: var(--sm-ink); font: 15px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif; letter-spacing: 0; }
.sm-page *, .sm-page *::before, .sm-page *::after { box-sizing: border-box; }
.sm-page [hidden] { display: none !important; }
.sm-page :is(button,input,select) { font: inherit; letter-spacing: 0; }
.sm-page a { color: var(--sm-green); text-underline-offset: 4px; }
.sm-page :is(a,button,input,summary):focus-visible, [data-spark-form] :is(a,button,input):focus-visible { outline: 3px solid #327d9a; outline-offset: 3px; }
.sm-page :is(h1,h2,h3,p) { margin: 0; overflow-wrap: anywhere; }
.sm-page h1 { font-size: 28px; line-height: 1.35; font-weight: 650; }
.sm-page h2 { font-size: 21px; line-height: 1.5; font-weight: 650; }
.sm-page h3 { font-size: 16px; font-weight: 650; }
.sm-skip { position: absolute; z-index: 10; top: 8px; left: 16px; padding: 8px 16px; background: white; transform: translateY(-160%); }
.sm-skip:focus { transform: translateY(0); }
.sm-header { min-height: 80px; padding: 16px max(24px, calc((100% - 1200px) / 2)); border-bottom: 1px solid #d8e0db; display: flex; align-items: center; gap: 24px; background: #fff; }
.sm-logo { display: block; width: 112px; height: 44px; object-fit: contain; }
.sm-header-title { padding-left: 24px; border-left: 1px solid var(--sm-border); font-weight: 600; white-space: nowrap; }
.sm-header nav { margin-left: auto; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.sm-header nav a { text-decoration: none; }
.sm-link { border: 0; background: transparent; padding: 8px 0; color: var(--sm-green); cursor: pointer; }
.sm-main { max-width: 1200px; margin: 0 auto; padding: 0 24px 60px; min-height: calc(100svh - 159px); }
.sm-connection { padding-top: 20px; display: flex; gap: 16px; align-items: center; flex-wrap: wrap; color: var(--sm-muted); }
.sm-connection p:empty { display: none; }
.sm-connection:has(p:empty):not(:has(button:not([hidden]))) { padding: 0; }
.sm-auth { max-width: 448px; margin: 62px auto 70px; }
.sm-eyebrow { font-size: 12px; color: var(--sm-muted); margin-bottom: 8px !important; }
.sm-tabs { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); border-bottom: 1px solid var(--sm-border); margin: 30px 0 26px; }
.sm-tabs button { min-height: 48px; padding: 10px 4px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: var(--sm-muted); cursor: pointer; }
.sm-tabs button[aria-selected="true"] { border-color: var(--sm-green); color: var(--sm-green); font-weight: 650; }
.sm-first-login { display: grid; gap: 9px; margin-bottom: 24px; padding: 16px; border: 1px solid #c7d5cc; border-left: 4px solid var(--sm-green); background: #f4f7f5; }
.sm-first-login strong { font-size: 16px; }
.sm-first-login p { color: var(--sm-muted); font-size: 13px; }
.sm-first-login .sm-button { justify-self: start; margin-top: 3px; }
.sm-form { display: grid; gap: 20px; }
.sm-form label { display: grid; gap: 7px; font-size: 14px; min-width: 0; color: var(--sm-ink); }
.sm-form input:not([type="checkbox"]) { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #aebdb3; border-radius: 4px; padding: 10px 12px; background: #fff; color: var(--sm-ink); }
.sm-form input[type="file"] { font-size: 13px; padding: 8px; min-height: 46px; overflow: hidden; }
.sm-form input::file-selector-button { border: 0; padding: 4px 8px; margin-right: 10px; border-radius: 2px; background: #eef3ef; color: #225b3c; cursor: pointer; }
.sm-form .sm-consent { display: flex; flex-direction: row; align-items: flex-start; gap: 10px; color: var(--sm-muted); font-size: 13px; }
.sm-form input[type="checkbox"] { accent-color: var(--sm-green); width: 18px; height: 18px; flex: 0 0 18px; margin: 2px 0 0; }
.sm-code-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(130px,auto); align-items: end; gap: 12px; }
.sm-code-row label { min-width: 0; }
.sm-code-row input { width: 100%; min-width: 0; }
.sm-code-row button { min-height: 46px; white-space: normal; }
.sm-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 20px; border: 1px solid var(--sm-green); border-radius: 4px; background: var(--sm-green); color: #fff !important; font-weight: 600; text-decoration: none; cursor: pointer; line-height: 1.5; }
.sm-button:hover:not(:disabled) { background: #19462e; }
.sm-button--secondary { background: white; color: var(--sm-green) !important; border-color: #aebdb3; }
.sm-button--secondary:hover:not(:disabled) { background: #eff5f0; }
.sm-page button:disabled { cursor: not-allowed; opacity: .58; }
.sm-page input:disabled { background: #f3f5f4; color: #5d6d61; }
.sm-auth-footer { border-top: 1px solid var(--sm-border); margin-top: 28px !important; padding-top: 20px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; font-size: 12px; color: var(--sm-muted); }
.sm-overview { padding: 36px 0 28px; }
.sm-section-heading { display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; margin-bottom: 18px; }
.sm-section-heading > div { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.sm-metadata { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px 28px; margin: 20px 0 0; }
.sm-metadata div { min-width: 0; }
.sm-metadata dt { font-size: 12px; color: var(--sm-muted); }
.sm-metadata dd { margin: 4px 0 0; overflow-wrap: anywhere; font-weight: 550; }
.sm-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 24px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--sm-border); }
.sm-steps a { display: flex; flex-wrap: wrap; gap: 8px 12px; padding: 16px 6px; text-decoration: none; font-size: 13px; }
.sm-steps li { border-top: 3px solid #d8e0db; }
.sm-steps li.sm-complete { border-top-color: var(--sm-green); }
.sm-step-number { color: #59665e; font-variant-numeric: tabular-nums; }
.sm-workspace { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: 44px; border-top: 1px solid var(--sm-border); }
.sm-side-nav { align-self: start; display: grid; position: sticky; top: 24px; padding-top: 32px; gap: 4px; }
.sm-side-nav a { display: block; padding: 10px 12px; text-decoration: none; border-left: 2px solid var(--sm-border); }
.sm-side-nav a:hover { background: #f1f6f2; border-left-color: var(--sm-green); }
.sm-section { padding: 32px 0; border-bottom: 1px solid var(--sm-border); scroll-margin-top: 24px; min-width: 0; }
.sm-status { font-size: 12px; line-height: 1.5; font-weight: 550; display: inline-flex; align-items: center; gap: 6px; color: #626b66; }
.sm-status::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 6px; }
.sm-status--approved, .sm-status--paid { color: #225b3c; }
.sm-status--reviewing, .sm-status--pending, .sm-status--processing { color: #735818; }
.sm-status--rejected, .sm-status--failed, .sm-status--expired { color: #a33232; }
.sm-notice { padding: 14px 16px; background: #f1f5f2; border-left: 3px solid #7c9b86; color: #45584b; font-size: 13px; margin: 0 0 20px !important; }
.sm-review-note { background: #fff4f3; border-color: #b45d54; color: #8d302b; }
.sm-error, .sm-page .sm-error { color: #a32f2b; }
.sm-section .sm-form { grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 20px; }
.sm-wide { grid-column: 1 / -1; }
.sm-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.sm-form-feedback { color: var(--sm-muted); font-size: 13px; min-height: 0; }
.sm-form-feedback:empty { display: none; }
.sm-upload-progress { display: grid; gap: 8px; font-size: 13px; }
.sm-upload-progress progress { display: block; width: 100%; height: 8px; accent-color: var(--sm-green); }
.sm-document-list { list-style: none; padding: 0; margin: 20px 0 0; }
.sm-document-list li { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 6px 16px; border-top: 1px solid #e5ebe7; padding: 12px 0; font-size: 13px; }
.sm-document-list a { overflow-wrap: anywhere; }
.sm-document-list small { color: var(--sm-muted); }
.sm-document-list p { grid-column: 1 / -1; color: #8d302b; }
.sm-invitee { border-top: 1px solid var(--sm-border); padding: 24px 0 4px; margin-top: 24px; min-width: 0; }
.sm-invitee .sm-section-heading { margin-bottom: 12px; }
.sm-invitee-phone { font-size: 13px; color: var(--sm-muted); font-variant-numeric: tabular-nums; }
.sm-reward-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); padding: 20px 0; border-block: 1px solid var(--sm-border); gap: 20px; margin: 20px 0; }
.sm-reward-summary dt { color: var(--sm-muted); font-size: 12px; }
.sm-reward-summary dd { font-size: 23px; font-weight: 600; margin: 4px 0 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.sm-reward-summary div:last-child dd { color: var(--sm-green); }
.sm-table-wrap { overflow-x: auto; margin-top: 24px; }
.sm-table { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: fixed; }
.sm-table th { text-align: left; color: var(--sm-muted); font-weight: 500; }
.sm-table :is(th,td) { padding: 12px 10px 12px 0; border-bottom: 1px solid var(--sm-border); overflow-wrap: anywhere; vertical-align: top; }
.sm-table th:first-child { width: 22%; }
.sm-table th:nth-child(2) { width: 23%; }
.sm-table th:nth-child(3) { width: 27%; }
.sm-empty { font-size: 13px; color: var(--sm-muted); padding-top: 16px; }
.sm-footer { min-height: 79px; padding: 24px; border-top: 1px solid var(--sm-border); display: flex; justify-content: center; gap: 32px; flex-wrap: wrap; color: var(--sm-muted); font-size: 12px; }
[data-spark-page] .sm-error { color: #a32f2b; }
[data-spark-page] .geo-spark-next { display: grid; gap: 10px; padding: 16px; border: 1px solid #c7d5cc; border-left: 4px solid #225b3c; background: #f4f7f5; }
[data-spark-page] .geo-spark-next[hidden] { display: none; }
[data-spark-page] .geo-spark-next strong { font-size: 16px; }
[data-spark-page] .geo-spark-next p { margin: 0; color: #59665e; font-size: 13px; }
[data-spark-page] .geo-spark-next .geo-button { justify-self: start; }
[data-spark-form] .sm-code-row label { display: grid; gap: 8px; }
[data-spark-form] .sm-code-row button { padding: 12px 16px; min-width: 132px; }
[data-spark-form] button:disabled { cursor: not-allowed; opacity: .6; }
[data-spark-page] .geo-actions { flex-wrap: wrap; }
@media (max-width: 760px) {
  .sm-header { padding: 14px 20px; gap: 14px; flex-wrap: wrap; }
  .sm-header-title { border: 0; padding: 0; font-size: 14px; }
  .sm-header nav { width: 100%; justify-content: space-between; gap: 20px; border-top: 1px solid #e5ebe7; padding-top: 8px; font-size: 13px; }
  .sm-main { padding: 0 20px 40px; }
  .sm-auth { margin: 34px auto 48px; }
  .sm-page h1 { font-size: 25px; }
  .sm-page h2 { font-size: 20px; }
  .sm-metadata { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .sm-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sm-workspace { display: block; }
  .sm-side-nav { display: none; }
  .sm-section { padding: 28px 0; }
  .sm-section .sm-form { grid-template-columns: minmax(0,1fr); }
  .sm-wide { grid-column: auto; }
  .sm-reward-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .sm-reward-summary dd { font-size: 21px; }
  .sm-code-row { gap: 10px; grid-template-columns: minmax(0,1fr) 132px; }
  .sm-code-row button { padding: 10px 8px; font-size: 13px; }
  .sm-section-heading { gap: 12px; }
  .sm-table :is(th,td) { padding-right: 8px; font-size: 12px; }
  .sm-footer { gap: 8px 24px; }
  [data-spark-form] .sm-code-row { grid-template-columns: minmax(0,1fr) 132px; }
  [data-spark-form] .sm-code-row button { font-size: 12px; }
}
@media (prefers-reduced-motion: no-preference) { .sm-page { scroll-behavior: smooth; } }
