.ssclg-app {
  --ssclg-blue: #0b3ea8;
  --ssclg-blue-dark: #082d7a;
  --ssclg-gold: #f0a61a;
  --ssclg-gold-dark: #a66300;
  --ssclg-ink: #10213f;
  --ssclg-muted: #5d6b82;
  --ssclg-line: #d9e4f1;
  --ssclg-wash: #f8fcff;
  --ssclg-success: #147a55;
  --ssclg-warning: #8a5a06;
  --ssclg-danger: #aa2e35;
  max-width: 1180px;
  margin: 24px auto;
  color: var(--ssclg-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}

.ssclg-app *,
.ssclg-app *::before,
.ssclg-app *::after { box-sizing: border-box; }
.ssclg-app [hidden] { display: none !important; }
.ssclg-app button,
.ssclg-app input,
.ssclg-app select,
.ssclg-app textarea { font: inherit; }
.ssclg-app button,
.ssclg-app select { cursor: pointer; }
.ssclg-app a:focus-visible,
.ssclg-app button:focus-visible,
.ssclg-app input:focus-visible,
.ssclg-app select:focus-visible,
.ssclg-app textarea:focus-visible,
.ssclg-app [contenteditable="true"]:focus-visible {
  outline: 3px solid rgba(11, 62, 168, .25);
  outline-offset: 2px;
}

.ssclg-shell {
  overflow: hidden;
  border: 1px solid var(--ssclg-line);
  border-radius: 24px;
  background: var(--ssclg-wash);
  box-shadow: 0 20px 52px rgba(24, 59, 102, .12);
}

.ssclg-hero {
  padding: 34px clamp(22px, 5vw, 58px) 30px;
  text-align: center;
  background:
    radial-gradient(circle at 90% 0, rgba(240, 166, 26, .12), transparent 22rem),
    linear-gradient(145deg, #ffffff 0%, #f3f8ff 100%);
  border-bottom: 1px solid var(--ssclg-line);
}
.ssclg-logo { width: min(390px, 82%); height: auto; display: block; margin: 0 auto 12px; }
.ssclg-kicker {
  display: inline-block;
  padding: 6px 11px;
  border: 1px solid #c9dcf5;
  border-radius: 999px;
  color: var(--ssclg-blue);
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.ssclg-hero h2 { margin: 14px 0 9px; color: #0d2856; font: 700 clamp(32px, 5vw, 52px)/1.04 Georgia, "Times New Roman", serif; letter-spacing: -.04em; }
.ssclg-hero > p { max-width: 760px; margin: 0 auto; color: var(--ssclg-muted); font-size: 16px; }
.ssclg-badges { margin-top: 18px; display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; }
.ssclg-badges span { padding: 7px 10px; border: 1px solid var(--ssclg-line); border-radius: 8px; background: #fff; color: #506078; font-size: 11px; font-weight: 700; }

.ssclg-progress { padding: 18px clamp(18px, 4vw, 42px); display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; background: #fff; border-bottom: 1px solid var(--ssclg-line); }
.ssclg-progress button { min-height: 64px; padding: 9px 7px; border: 1px solid #d9e4f1; border-radius: 10px; background: #f9fbfe; color: #6b7890; text-align: left; }
.ssclg-progress button span,
.ssclg-progress button b { display: block; }
.ssclg-progress button span { font-size: 9px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.ssclg-progress button b { margin-top: 3px; font-size: 11px; line-height: 1.25; }
.ssclg-progress button.is-active { border-color: var(--ssclg-blue); background: #edf4ff; color: var(--ssclg-blue); box-shadow: inset 0 -3px 0 var(--ssclg-blue); }
.ssclg-progress button.is-complete { border-color: #b9dfcf; background: #f1faf6; color: var(--ssclg-success); }

.ssclg-main { padding: clamp(21px, 4vw, 42px); }
.ssclg-step { max-width: 950px; margin: 0 auto; }
.ssclg-step-head { margin-bottom: 24px; }
.ssclg-step-head small { color: var(--ssclg-gold-dark); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.ssclg-step-head h3 { margin: 5px 0 7px; color: #15315d; font: 700 clamp(25px, 3vw, 34px)/1.12 Georgia, "Times New Roman", serif; }
.ssclg-step-head p { margin: 0; color: var(--ssclg-muted); font-size: 13px; }

.ssclg-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ssclg-field { min-width: 0; }
.ssclg-field--full { grid-column: 1 / -1; }
.ssclg-field label,
.ssclg-label { display: block; margin-bottom: 6px; color: #40536f; font-size: 11px; font-weight: 800; }
.ssclg-required::after { content: " *"; color: var(--ssclg-danger); }
.ssclg-help { margin: 5px 0 0; color: #78859a; font-size: 10px; line-height: 1.45; }
.ssclg-field input,
.ssclg-field select,
.ssclg-field textarea {
  width: 100%;
  border: 1px solid #c9d7e8;
  border-radius: 10px;
  background: #fff;
  color: var(--ssclg-ink);
}
.ssclg-field input,
.ssclg-field select { min-height: 48px; padding: 0 13px; }
.ssclg-field textarea { min-height: 104px; padding: 12px 13px; resize: vertical; }
.ssclg-field input:hover,
.ssclg-field select:hover,
.ssclg-field textarea:hover { border-color: #9eb4d0; }
.ssclg-field input.is-invalid,
.ssclg-field select.is-invalid,
.ssclg-field textarea.is-invalid { border-color: var(--ssclg-danger); background: #fff9f9; }

.ssclg-conditional { grid-column: 1 / -1; padding: 16px; border: 1px solid #d4e1f0; border-radius: 13px; background: #fbfdff; }
.ssclg-conditional h4 { margin: 0 0 12px; color: #274367; font-size: 13px; }
.ssclg-inline-note { grid-column: 1 / -1; padding: 11px 13px; border-left: 3px solid var(--ssclg-gold); border-radius: 4px 10px 10px 4px; background: #fff9ec; color: #725b36; font-size: 11px; }

.ssclg-service-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ssclg-service { padding: 20px; border: 1px solid #d5e2f1; border-radius: 14px; background: #fff; }
.ssclg-service-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: #eaf2ff; color: var(--ssclg-blue); font-size: 21px; font-weight: 900; }
.ssclg-service h4 { margin: 12px 0 5px; color: #173661; font: 700 19px/1.2 Georgia, "Times New Roman", serif; }
.ssclg-service > p { min-height: 49px; margin: 0 0 13px; color: var(--ssclg-muted); font-size: 11px; }
.ssclg-service select { width: 100%; min-height: 46px; padding: 0 12px; border: 1px solid #c9d7e8; border-radius: 9px; background: #fff; }
.ssclg-service a { margin-top: 12px; padding: 10px 13px; display: inline-block; border-radius: 9px; background: var(--ssclg-blue); color: #fff; font-size: 11px; font-weight: 800; text-decoration: none; }
.ssclg-service a:hover { background: var(--ssclg-blue-dark); }
.ssclg-disclosure { margin: 16px 0 0; color: #748198; font-size: 10px; line-height: 1.55; }

.ssclg-alert { margin-bottom: 18px; padding: 12px 14px; border: 1px solid #efc5c8; border-radius: 10px; background: #fff5f5; color: #8c2830; font-size: 12px; font-weight: 700; }
.ssclg-nav { max-width: 950px; margin: 28px auto 0; padding-top: 20px; display: flex; justify-content: space-between; gap: 12px; border-top: 1px solid var(--ssclg-line); }
.ssclg-btn { min-height: 46px; padding: 10px 18px; border: 1px solid #c8d7e9; border-radius: 10px; background: #fff; color: #405673; font-weight: 800; }
.ssclg-btn:hover { background: #f4f8fd; }
.ssclg-btn--primary { border-color: var(--ssclg-blue); background: var(--ssclg-blue); color: #fff; }
.ssclg-btn--primary:hover { background: var(--ssclg-blue-dark); }

.ssclg-review-summary { margin-bottom: 18px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ssclg-review-summary div { padding: 12px; border: 1px solid #d8e4f1; border-radius: 10px; background: #fff; }
.ssclg-review-summary small,
.ssclg-review-summary strong { display: block; }
.ssclg-review-summary small { color: #7a879b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.ssclg-review-summary strong { margin-top: 3px; color: #264366; font-size: 12px; }

.ssclg-document-wrap { padding: 18px; border: 1px solid #d3dfed; border-radius: 14px; background: #eef3f8; }
.ssclg-edit-note { margin: 0 0 10px; color: #5b6c83; font-size: 10px; font-weight: 700; }
.ssclg-document {
  min-height: 870px;
  max-width: 790px;
  margin: 0 auto;
  padding: 55px 62px 64px;
  border: 1px solid #d7dce4;
  background: #fff;
  color: #1d2736;
  box-shadow: 0 12px 28px rgba(30, 49, 75, .1);
  font-family: Calibri, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.55;
}
.ssclg-doc-logo { width: 210px; height: auto; display: block; margin: 0 auto 26px; }
.ssclg-doc-sender { margin-bottom: 20px; }
.ssclg-doc-date { margin: 0 0 21px; }
.ssclg-doc-recipient { margin-bottom: 21px; }
.ssclg-document h1 { margin: 0 0 21px; color: #0b3ea8; font-size: 17px; line-height: 1.35; }
.ssclg-document p { margin: 0 0 13px; }
.ssclg-document ul { margin: 0 0 14px 21px; padding: 0; }
.ssclg-document li { margin: 4px 0; }
.ssclg-doc-signature { margin-top: 28px; }
.ssclg-doc-meta { margin-top: 30px; padding-top: 12px; border-top: 1px solid #dfe4eb; color: #6d7786; font-size: 9px; }

.ssclg-actions { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; }
.ssclg-actions button { padding: 10px 13px; border: 1px solid #c6d4e5; border-radius: 9px; background: #fff; color: #3e5574; font-size: 11px; font-weight: 800; }
.ssclg-actions button:hover { background: #f4f8fd; }
.ssclg-actions .ssclg-download { border-color: var(--ssclg-blue); background: var(--ssclg-blue); color: #fff; }
.ssclg-actions .ssclg-download:hover { background: var(--ssclg-blue-dark); }
.ssclg-limit { margin: 15px 0 0; color: #6c7890; font-size: 10px; line-height: 1.55; text-align: center; }

.ssclg-footer { padding: 18px clamp(20px, 4vw, 42px); display: flex; justify-content: space-between; gap: 24px; border-top: 1px solid var(--ssclg-line); background: #fff; color: #6b7890; font-size: 10px; }
.ssclg-footer p { max-width: 600px; margin: 0; }

@media (max-width: 860px) {
  .ssclg-progress { grid-template-columns: repeat(3, 1fr); }
  .ssclg-review-summary { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .ssclg-app { margin: 10px auto; }
  .ssclg-shell { border-radius: 16px; }
  .ssclg-hero { padding: 25px 17px 22px; }
  .ssclg-hero h2 { font-size: 37px; }
  .ssclg-progress { padding: 12px; grid-template-columns: 1fr 1fr; }
  .ssclg-progress button { min-height: 56px; }
  .ssclg-main { padding: 22px 15px; }
  .ssclg-grid,
  .ssclg-service-grid,
  .ssclg-review-summary { grid-template-columns: 1fr; }
  .ssclg-field--full { grid-column: auto; }
  .ssclg-conditional,
  .ssclg-inline-note { grid-column: auto; }
  .ssclg-document-wrap { margin: 0 -7px; padding: 8px; overflow-x: auto; }
  .ssclg-document { min-width: 600px; min-height: 820px; padding: 45px 50px; }
  .ssclg-nav { align-items: stretch; flex-direction: column-reverse; }
  .ssclg-btn { width: 100%; }
  .ssclg-footer { align-items: flex-start; flex-direction: column; }
}

@media print {
  body * { visibility: hidden !important; }
  .ssclg-document,
  .ssclg-document * { visibility: visible !important; }
  .ssclg-document { position: absolute; inset: 0 auto auto 0; width: 100%; max-width: none; min-height: 0; padding: 20mm; border: 0; box-shadow: none; }
}

