* { box-sizing: border-box; }
    body {
      margin: 0;
      background: #f6f8fc;
      color: #172033;
      font-family: Arial, sans-serif;
      line-height: 1.6;
    }
    a { color: inherit; text-decoration: none; }
    input, select, button { font: inherit; }
    .container { width: min(1120px, 92%); margin: auto; }
    .announcement {
      background: #101b32;
      color: white;
      padding: 9px;
      text-align: center;
      font-size: 13px;
    }
    header { background: white; border-bottom: 1px solid #e5e9f1; }
    .navigation {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 20px;
      flex-wrap: wrap;
      padding: 20px 0;
    }
    .brand { font-size: 20px; font-weight: 800; line-height: 1.2; }
    .brand span {
      display: block;
      color: #667085;
      font-size: 11px;
      letter-spacing: 3px;
      margin-top: 6px;
    }
    nav { display: flex; gap: 22px; flex-wrap: wrap; font-size: 14px; }
    nav a:hover { color: #2563eb; }
    .heading { padding: 35px 0 20px; }
    .eyebrow {
      color: #2563eb;
      font-size: 12px;
      letter-spacing: 2px;
      font-weight: 800;
    }
    h1 {
      margin: 10px 0;
      font-size: clamp(32px, 5vw, 44px);
      line-height: 1.2;
      letter-spacing: -1px;
    }
    h2 { margin-top: 0; font-size: 21px; }
    .muted { color: #667085; }
    .notice {
      padding: 14px 18px;
      background: #fff7e6;
      border: 1px solid #f2d69c;
      border-radius: 10px;
      font-size: 14px;
      margin-bottom: 25px;
    }
    .layout {
      display: grid;
      grid-template-columns: 1fr 350px;
      gap: 25px;
      align-items: start;
      margin-bottom: 40px;
    }
    .panel {
      background: white;
      border: 1px solid #e5e9f1;
      border-radius: 16px;
      padding: 25px;
    }
    .fields {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
    }
    .full { grid-column: 1 / -1; }
    label { display: block; font-size: 13px; font-weight: 700; }
    input, select {
      width: 100%;
      padding: 11px 12px;
      margin-top: 6px;
      border: 1px solid #d7deea;
      border-radius: 8px;
      background: white;
      color: #172033;
    }
    .section-heading {
      border-top: 1px solid #e5e9f1;
      padding-top: 22px;
      margin-top: 25px;
    }
    .small { font-size: 12px; }
    .summary-item {
      padding: 14px 0;
      border-bottom: 1px solid #e5e9f1;
    }
    .summary-item p { margin: 0; }
    .row {
      display: flex;
      justify-content: space-between;
      gap: 15px;
      margin-top: 15px;
      font-size: 14px;
    }
    .total { font-size: 20px; font-weight: 800; }
    .button {
      display: inline-block;
      text-align: center;
      padding: 13px 20px;
      border: 1px solid #2563eb;
      border-radius: 10px;
      background: #2563eb;
      color: white;
      font-weight: 700;
      cursor: pointer;
    }
    .button:hover { background: #1d4ed8; }
    .button:disabled { opacity: .6; cursor: wait; }
    .submit { width: 100%; margin-top: 20px; }
    .secondary {
      background: white;
      border-color: #d7deea;
      color: #172033;
    }
    .secondary:hover { background: #edf3ff; }
    .center { text-align: center; margin-bottom: 40px; }
    .success-mark {
      display: inline-grid;
      place-items: center;
      width: 60px;
      height: 60px;
      background: #e7f5ed;
      color: #167447;
      border-radius: 50%;
      font-size: 28px;
      margin-bottom: 15px;
    }
    .reference {
      font-size: 22px;
      font-weight: 800;
      color: #2563eb;
      overflow-wrap: anywhere;
    }
    .success-actions {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 22px;
    }
    #feedback { color: #b42318; font-size: 14px; }
    footer {
      border-top: 1px solid #e5e9f1;
      padding: 25px 0;
      color: #667085;
      font-size: 13px;
    }
    .footer-content {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 15px;
    }
    [hidden] { display: none !important; }
    :focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
    @media (max-width: 850px) {
      .layout { grid-template-columns: 1fr; }
    }
    @media (max-width: 550px) {
      .fields { grid-template-columns: 1fr; }
      nav { gap: 16px; }
      .panel { padding: 20px; }
    }
