
    .form-step.hidden {
      display: none;
    }
    .form-input:disabled {
      background-color: #e2e8f0;
      color: #64748b;
      cursor: not-allowed;
    }
    .form-error {
      display: none;
      margin-top: 0.35rem;
      font-size: 0.78rem;
      color: #b91c1c;
    }
    .form-error.is-visible {
      display: block;
    }
    .choice-row {
      display: flex;
      flex-wrap: wrap;
      gap: 0.75rem;
    }
    .inline-check {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      margin: 0;
    }
    .multi-select {
      position: relative;
    }
    .multi-select-trigger {
      text-align: left;
      cursor: pointer;
      background: #fff;
    }
    .multi-select-panel {
      position: absolute;
      top: calc(100% + 6px);
      left: 0;
      right: 0;
      background: #fff;
      border: 1px solid var(--border-soft);
      border-radius: 0.75rem;
      padding: 0.65rem;
      box-shadow: var(--shadow-soft);
      display: none;
      max-height: 220px;
      overflow: auto;
      z-index: 20;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 0.35rem 1rem;
    }
    .multi-select.is-open .multi-select-panel {
      display: grid;
    }
    .multi-select-panel label {
      display: flex;
      align-items: center;
      gap: 0.4rem;
      font-size: 0.85rem;
    }
    .status-badge {
      display: inline-flex;
      align-items: center;

      gap: 6px;

      font-size: 0.78rem;

      color: var(--text-muted);

      margin: 0.15rem 0 0.35rem;

    }

    .status-badge strong {

      color: var(--text-main);

    }

    .status-badge:empty {

      display: none;

    }

    .form-file {

      border: none;

      background: transparent;

      padding: 0;

      font-size: 0;

      color: transparent;

      width: auto;

      max-width: 100%;

    }

    .form-row-inline .form-file {

      flex: 0 0 auto;

    }

    .form-file:focus {

      outline: none;

      box-shadow: none;

    }

    .isd-input {

      gap: 0.5rem;

    }

    .isd-input .isd-select {

      flex: 0 0 auto;

      min-width: 5.2rem;

      text-align: center;

    }

    .form-file::-webkit-file-upload-button,

    .form-file::file-selector-button {

      font-size: 0.88rem;

      font-weight: 600;

      border-radius: 999px;

      padding: 0.45rem 1.1rem;

      border: 1px solid rgba(14, 165, 233, 0.25);

      background: var(--primary-soft);

      color: var(--primary-deep);

      cursor: pointer;

    }

    .form-file::-webkit-file-upload-button:hover,

    .form-file::file-selector-button:hover {

      background: rgba(14, 165, 233, 0.18);

    }

    .buddy-carousel {

      position: relative;

      width: 100%;

      height: 100%;

      overflow: hidden;

    }

    .buddy-carousel-track {

      display: flex;

      height: 100%;

      transition: transform 800ms ease;

    }

    .buddy-carousel-slide {

      min-width: 100%;

      height: 100%;

    }

    .buddy-carousel-slide img {

      width: 100%;

      height: 100%;

      object-fit: cover;

      display: block;

    }

    .buddy-carousel-controls {

      position: absolute;

      inset: auto 0 12px 0;

      display: flex;

      align-items: center;

      justify-content: space-between;

      padding: 0 12px;

      pointer-events: none;

    }

    .buddy-carousel-btn {

      width: 36px;

      height: 36px;

      border-radius: 999px;

      border: 1px solid rgba(15, 23, 42, 0.15);

      background: rgba(255, 255, 255, 0.85);

      display: inline-flex;

      align-items: center;

      justify-content: center;

      cursor: pointer;

      pointer-events: auto;

    }

    .buddy-carousel-dots {

      display: flex;

      gap: 6px;

      justify-content: center;

      align-items: center;

      pointer-events: auto;

    }

    .buddy-carousel-dot {

      width: 8px;

      height: 8px;

      border-radius: 999px;

      border: 1px solid rgba(15, 23, 42, 0.2);

      background: rgba(255, 255, 255, 0.7);

      padding: 0;

      cursor: pointer;

    }

    .buddy-carousel-dot.is-active {

      background: var(--primary);

      border-color: var(--primary);

    }

    @media (max-width: 960px) {

      .buddy-carousel {

        height: auto;

      }

      .buddy-carousel-track {

        height: auto;

      }

      .buddy-carousel-slide {

        height: auto;

      }

      .buddy-carousel-slide img {

        height: auto;

        object-fit: contain;

      }

    }

    .buddy-timeline {

      background: #ffffff;

      border: 1px solid var(--border-soft);

      border-radius: 1rem;

      padding: 1.5rem;

      box-shadow: var(--shadow-soft);

    }

    .buddy-timeline-phases {

      display: grid;

      grid-template-columns: repeat(3, minmax(0, 1fr));

      gap: 0.75rem;

      margin-bottom: 1.4rem;

    }

    .buddy-timeline-phase {

      border-radius: 999px;

      padding: 0.35rem 0.75rem;

      font-size: 0.72rem;

      letter-spacing: 0.08em;

      text-transform: uppercase;

      text-align: center;

      background: var(--primary-soft);

      color: var(--primary-deep);

      border: 1px solid rgba(14, 165, 233, 0.2);

    }

    .buddy-timeline-steps {

      list-style: none;

      margin: 0;

      padding: 0;

      display: grid;

      grid-template-columns: repeat(6, minmax(0, 1fr));

      gap: 1rem;

      position: relative;

    }

    .buddy-timeline-steps::before {

      content: "";

      position: absolute;

      top: 18px;

      left: 0;

      right: 0;

      height: 2px;

      background: rgba(148, 163, 184, 0.5);

    }

    .buddy-timeline-step {

      position: relative;

      padding-top: 2.4rem;

      text-align: center;

    }

    .buddy-timeline-number {

      position: absolute;

      top: 0;

      left: 50%;

      transform: translate(-50%, -50%);

      width: 34px;

      height: 34px;

      border-radius: 999px;

      background: var(--primary);

      color: #ffffff;

      display: flex;

      align-items: center;

      justify-content: center;

      font-weight: 700;

      font-size: 0.95rem;

      box-shadow: 0 10px 20px rgba(14, 165, 233, 0.25);

      border: 2px solid #ffffff;

    }

    .buddy-timeline-step h3 {

      margin: 0;

      font-size: 0.92rem;

      color: #0f172a;

    }

    .buddy-timeline-step p {

      margin: 0.4rem 0 0;

      font-size: 0.78rem;

      color: var(--text-muted);

    }

    @media (max-width: 1024px) {

      .buddy-timeline-steps {

        grid-template-columns: repeat(3, minmax(0, 1fr));

      }

      .buddy-timeline-steps::before {

        top: 20px;

      }

    }

    @media (max-width: 720px) {

      .buddy-timeline-phases {

        grid-template-columns: 1fr;

      }

      .buddy-timeline-steps {

        grid-template-columns: 1fr;

      }

      .buddy-timeline-steps::before {

        display: none;

      }

      .buddy-timeline-step {

        padding-top: 0;

        padding-left: 2.75rem;

        text-align: left;

      }

      .buddy-timeline-number {

        position: absolute;

        top: 0.1rem;

        left: 0;

        transform: none;

      }

    }

  