:root {
      --ud-blue: #123a5e;
      --ud-blue-dark: #0d2c48;
      --ud-blue-light: #eaf2f8;
      --ud-border: #d8e2ea;
      --ud-text: #1f2933;
      --ud-muted: #657381;
      --ud-bg: #ffffff;
      --ud-soft: #f6f9fb;
      --ud-success: #1f7a4d;
      --ud-warning-bg: #fff8e6;
      --ud-warning-border: #f3df9d;
      --ud-warning-text: #5f4b10;
      --ud-error: #b42318;
    }

    * {
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: Arial, Helvetica, sans-serif;
      color: var(--ud-text);
      background: transparent;
      line-height: 1.5;
    }

    .wp-calculator {
      width: 100%;
      max-width: 760px;
      margin: 0 auto;
      background: transparent;
      border: 0 !important;
      border-radius: 0;
      overflow: visible;
      box-shadow: none !important;
    }

    .wp-header {
      padding: 28px 24px;
      background: linear-gradient(135deg, var(--ud-blue), #1d5f8f);
      color: #ffffff;
      border-radius: 16px;
      margin-bottom: 8px;
    }

    .wp-header h2 {
      margin: 0 0 8px;
      font-size: 28px;
      line-height: 1.2;
    }

    .wp-header p {
      margin: 0;
      font-size: 16px;
      opacity: 0.95;
    }

    .wp-body {
      padding: 24px 0;
    }

    .wp-progress {
      display: flex;
      gap: 8px;
      margin: 0 0 24px;
      padding: 0 24px;
    }

    .wp-progress span {
      flex: 1;
      height: 6px;
      border-radius: 999px;
      background: #dce7ef;
    }

    .wp-progress span.active {
      background: var(--ud-blue);
    }

    .wp-step {
      display: none;
      padding: 0 24px;
      animation: fadeIn 0.2s ease-in-out;
    }

    .wp-step.active {
      display: block;
    }

    @keyframes fadeIn {
      from {
        opacity: 0;
        transform: translateY(6px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }

    .wp-step h3 {
      margin: 0 0 8px;
      font-size: 22px;
      color: var(--ud-blue);
    }

    .wp-step h4 {
      margin: 22px 0 12px;
      font-size: 18px;
      color: var(--ud-blue);
    }

    .wp-step-description {
      margin: 0 0 20px;
      color: var(--ud-muted);
    }

    .wp-options {
      display: grid;
      gap: 12px;
      margin-bottom: 22px;
    }

    .wp-option {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      padding: 16px;
      border: 1px solid var(--ud-border);
      border-radius: 12px;
      cursor: pointer;
      background: #ffffff;
      transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
    }

    .wp-option:hover {
      border-color: var(--ud-blue);
      background: var(--ud-blue-light);
    }

    .wp-option:has(input:checked) {
      border-color: var(--ud-blue);
      background: var(--ud-blue-light);
      box-shadow: 0 0 0 2px var(--ud-blue);
    }

    .wp-option input {
      margin-top: 4px;
      accent-color: var(--ud-blue);
    }

    .wp-option strong {
      display: block;
      margin-bottom: 2px;
      color: var(--ud-text);
    }

    .wp-option small {
      color: var(--ud-muted);
    }

    .wp-input-group {
      margin-bottom: 16px;
    }

    .wp-input-group label {
      display: block;
      margin-bottom: 8px;
      font-weight: 700;
      color: var(--ud-text);
    }

    .wp-input-wrap {
      display: flex;
      align-items: center;
      border: 1px solid var(--ud-border);
      border-radius: 12px;
      overflow: hidden;
      background: #ffffff;
    }

    .wp-input-wrap input,
    .wp-input-wrap select,
    .wp-input-wrap textarea {
      width: 100%;
      padding: 14px 16px;
      border: 0;
      font-size: 16px;
      outline: none;
      font-family: Arial, Helvetica, sans-serif;
      background: #ffffff;
      color: var(--ud-text);
    }

    .wp-input-wrap textarea {
      min-height: 90px;
      resize: vertical;
    }

    .wp-unit {
      padding: 0 16px;
      color: var(--ud-muted);
      white-space: nowrap;
      font-weight: 700;
    }

    .wp-form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

    .wp-form-grid .full {
      grid-column: 1 / -1;
    }

    .wp-buttons {
      display: flex;
      gap: 12px;
      justify-content: space-between;
      margin-top: 20px;
    }

    .wp-button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 12px 18px;
      border-radius: 999px;
      border: 1px solid var(--ud-blue);
      background: var(--ud-blue);
      color: #ffffff;
      font-weight: 700;
      font-size: 15px;
      cursor: pointer;
      text-decoration: none;
      transition: background 0.2s, color 0.2s, border-color 0.2s;
    }

    .wp-button:hover {
      background: var(--ud-blue-dark);
      border-color: var(--ud-blue-dark);
      color: #ffffff;
    }

    .wp-button.secondary {
      background: #ffffff;
      color: var(--ud-blue);
    }

    .wp-button.secondary:hover {
      background: var(--ud-blue-light);
      color: var(--ud-blue);
    }

    .wp-button:disabled {
      opacity: 0.45;
      cursor: not-allowed;
    }

    .wp-error {
      display: none;
      margin: 12px 0 0;
      color: var(--ud-error);
      font-weight: 700;
    }

    .wp-result-box {
      padding: 22px;
      border-radius: 16px;
      background: var(--ud-soft);
      border: 1px solid var(--ud-border);
      margin-bottom: 20px;
    }

    .wp-result-label {
      margin: 0 0 8px;
      color: var(--ud-muted);
      font-weight: 700;
    }

    .wp-result-value {
      margin: 0;
      font-size: 38px;
      line-height: 1.15;
      font-weight: 800;
      color: var(--ud-blue);
    }

    .wp-result-subline {
      margin: 12px 0 0;
      color: var(--ud-text);
    }

    .wp-advice {
      padding: 18px;
      border-left: 4px solid var(--ud-success);
      background: #f0faf5;
      border-radius: 12px;
      margin-bottom: 20px;
    }

    .wp-advice strong {
      display: block;
      margin-bottom: 4px;
      color: var(--ud-success);
    }

    .wp-note {
      margin-top: 22px;
      padding: 16px;
      background: var(--ud-warning-bg);
      border: 1px solid var(--ud-warning-border);
      border-radius: 12px;
      color: var(--ud-warning-text);
      font-size: 14px;
    }

    .wp-summary {
      display: grid;
      gap: 8px;
      margin: 18px 0 0;
      font-size: 14px;
      color: var(--ud-muted);
    }

    .wp-summary div {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      border-bottom: 1px solid #e2e8f0;
      padding-bottom: 6px;
    }

    .wp-summary strong {
      color: var(--ud-text);
      text-align: right;
    }

    .wp-contact-box {
      margin-top: 22px;
      padding: 22px;
      border: 1px solid var(--ud-border);
      border-radius: 16px;
      background: #ffffff;
    }

    .wp-contact-box h4 {
      margin-top: 0;
    }

    .wp-contact-intro {
      margin: 0 0 18px;
      color: var(--ud-muted);
    }

    .wp-privacy {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 16px 0 0;
      font-size: 14px;
      color: var(--ud-muted);
    }

    .wp-privacy input {
      margin-top: 3px;
      accent-color: var(--ud-blue);
    }

    .wp-form-message {
      display: none;
      margin-top: 14px;
      padding: 12px 14px;
      border-radius: 10px;
      font-size: 14px;
      font-weight: 700;
    }

    .wp-form-message.error {
      display: block;
      color: var(--ud-error);
      background: #fff1f0;
      border: 1px solid #ffd7d3;
    }

    .wp-form-message.success {
      display: block;
      color: var(--ud-success);
      background: #f0faf5;
      border: 1px solid #bfe8d1;
    }

    @media (max-width: 560px) {
      .wp-header {
        padding: 18px 18px;
      }

      .wp-header h2 {
        font-size: 23px;
      }

      .wp-header p {
        font-size: 15px;
      }

      .wp-body {
        padding: 16px 0;
      }

      .wp-progress {
        padding: 0 16px;
        margin-bottom: 18px;
      }

      .wp-step {
        padding: 0 16px;
      }

      .wp-step h3 {
        font-size: 20px;
      }

      .wp-step h4 {
        font-size: 17px;
      }

      .wp-step-description {
        font-size: 15px;
        margin-bottom: 16px;
      }

      .wp-option {
        padding: 14px;
      }

      .wp-form-grid {
        grid-template-columns: 1fr;
        gap: 10px;
      }

      .wp-buttons {
        flex-direction: column-reverse;
        margin-top: 14px;
      }

      .wp-button {
        width: 100%;
        min-height: 42px;
        padding: 11px 16px;
        font-size: 14px;
      }

      .wp-result-box {
        padding: 15px;
        margin-bottom: 16px;
      }

      .wp-result-label {
        font-size: 14px;
      }

      .wp-result-value {
        font-size: 29px;
      }

      .wp-result-subline {
        font-size: 15px;
      }

      .wp-summary {
        font-size: 13px;
        gap: 6px;
      }

      .wp-summary div {
        flex-direction: column;
        gap: 2px;
      }

      .wp-summary strong {
        text-align: left;
      }

      .wp-advice {
        padding: 14px 16px;
        font-size: 15px;
        margin-bottom: 16px;
      }

      .wp-contact-box {
        padding: 16px;
      }

      .wp-note {
        padding: 14px;
        font-size: 13px;
        margin-top: 16px;
      }
    }