/* ============================================================
   FIABCI 2026 — MOBILE FINAL STABILITY PATCH
   Dimuat paling akhir untuk mencegah konflik style lama.
   ============================================================ */

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.form-grid > *,
.dashboard-grid > *,
.summary-grid > *,
.info-grid > *,
.admin-detail-grid > * {
    min-width: 0;
}

@media (max-width: 760px) {
    /* Autocomplete perusahaan harus tetap menempel di bawah input,
       bukan menjadi panel fixed di bagian bawah layar. */
    .company-search-wrap {
        position: relative !important;
        z-index: 80 !important;
        width: 100% !important;
    }

    /* Ikon dekoratif di dalam input disembunyikan pada mobile agar
       tidak bertabrakan dengan teks dan handle seleksi Android. */
    .company-search-icon,
    .npa-lock-icon {
        display: none !important;
    }

    .company-search-input {
        width: 100% !important;
        min-height: 52px !important;
        padding: 12px 48px 12px 14px !important;
        line-height: 1.35 !important;
    }

    .npa-readonly-input {
        width: 100% !important;
        min-height: 52px !important;
        padding: 12px 42px 12px 14px !important;
        line-height: 1.35 !important;
    }

    .company-search-loader,
    .company-clear-btn {
        right: 10px !important;
        width: 32px !important;
        height: 32px !important;
    }

    .company-results,
    .company-results.open {
        position: absolute !important;
        z-index: 10030 !important;
        top: calc(100% + 7px) !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        width: 100% !important;
        max-height: 238px !important;
        margin: 0 !important;
        padding: 6px !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        border-radius: 14px !important;
        transform: none !important;
    }

    .company-result-item {
        grid-template-columns: 38px minmax(0, 1fr) 26px !important;
        gap: 9px !important;
        min-height: 58px !important;
        padding: 9px !important;
        transform: none !important;
    }

    .company-result-logo {
        width: 38px !important;
        height: 38px !important;
        border-radius: 11px !important;
    }

    .company-result-copy b {
        margin-bottom: 3px !important;
        font-size: 11px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    .company-result-copy small {
        font-size: 9px !important;
        white-space: normal !important;
    }

    .company-result-select {
        width: 26px !important;
        height: 26px !important;
    }

    .company-result-empty {
        min-height: 64px !important;
        padding: 12px 9px !important;
        font-size: 10px !important;
    }

    .company-lookup-note {
        display: grid !important;
        grid-template-columns: 15px minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 6px !important;
        width: 100% !important;
        margin-top: 7px !important;
        font-size: 9px !important;
        line-height: 1.45 !important;
        text-align: left !important;
    }

    /* Keterangan teknis tabel database tidak perlu memenuhi layar mobile. */
    .npa-source-note {
        display: none !important;
    }

    .verification-label {
        display: inline-flex !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 5px 0 0 !important;
        padding: 4px 8px !important;
        font-size: 8px !important;
        white-space: normal !important;
    }

    .npa-check-icon {
        right: 13px !important;
    }

    /* Semua field tetap satu kolom dan tidak keluar layar. */
    .form-grid,
    .dashboard-form .form-grid,
    .choice-grid.two,
    .choice-grid.three,
    .mbr-document-grid,
    .category-grid {
        width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .field,
    .field.full,
    .field > input,
    .field > select,
    .field > textarea {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .field label {
        width: 100% !important;
        flex-wrap: wrap !important;
    }

    .wizard-actions {
        gap: 10px !important;
    }

    .wizard-actions .btn {
        min-height: 48px !important;
    }

    /* Floating WhatsApp tidak menutupi autocomplete atau tombol form. */
    .wa-float {
        z-index: 70 !important;
        right: 12px !important;
        bottom: max(12px, env(safe-area-inset-bottom)) !important;
    }
}

@media (max-width: 430px) {
    .form-container,
    .dashboard-container,
    .status-shell,
    .card-shell,
    .auth-wrap,
    .admin-container,
    .admin-toolbar {
        width: calc(100% - 10px) !important;
    }

    .form-section {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .wizard-head {
        padding-right: 9px !important;
        padding-left: 9px !important;
    }

    .wizard-steps {
        gap: 5px !important;
    }

    .wizard-step,
    .wizard-step:not(.active):not(.done) {
        min-height: 67px !important;
        padding: 7px 4px !important;
    }

    .wizard-step b {
        font-size: 7.7px !important;
    }

    .section-heading {
        grid-template-columns: 41px minmax(0, 1fr) !important;
        gap: 10px !important;
    }

    .section-heading h2 {
        font-size: 18px !important;
    }

    .company-search-input,
    .npa-readonly-input,
    .field input,
    .field select,
    .field textarea {
        font-size: 12px !important;
    }
}


/* PILIHAN KATEGORI DAN LINK — RESPONSIVE FINAL */
@media (max-width:760px){
  .registration-entry-selector{width:100%!important;margin:12px auto 15px!important;padding:16px 12px!important;border-radius:18px!important}
  .registration-entry-heading{margin-bottom:13px!important}
  .registration-entry-heading h2{font-size:20px!important;line-height:1.25!important}
  .registration-entry-heading p{font-size:10px!important;text-align:center!important}
  .registration-entry-grid{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  .registration-entry-card{grid-template-columns:43px minmax(0,1fr) 18px!important;gap:10px!important;padding:14px!important;border-radius:15px!important}
  .registration-entry-icon{width:43px!important;height:43px!important;font-size:17px!important;border-radius:12px!important}
  .registration-entry-copy>strong{font-size:13px!important}
  .registration-entry-copy>span,.registration-entry-copy>em{font-size:9px!important}
  .registration-entry-copy ul{font-size:8.5px!important;padding-left:15px!important}
  .project-link-field{padding:12px!important;border-radius:13px!important}
  .project-link-field label{align-items:center!important}
  .project-link-icon{width:26px!important;height:26px!important;flex-basis:26px!important}
  .project-link-field input{font-size:12px!important;padding:0 12px!important}
  .info-external-link{width:100%;justify-content:center}
}
@media (max-width:390px){
  .registration-entry-selector{padding:14px 10px!important}
  .registration-entry-card{grid-template-columns:39px minmax(0,1fr)!important}
  .registration-entry-check{display:none!important}
  .registration-entry-icon{width:39px!important;height:39px!important}
}


/* FINAL OVERRIDE — kategori form dikunci setelah dipilih dari landing page. */
@media (max-width: 760px) {
  .registration-entry-selector-locked .registration-entry-card{
    grid-template-columns:43px minmax(0,1fr) 20px!important;
    cursor:default!important;
  }
  .registration-entry-selector-locked .registration-entry-card.locked{
    opacity:.52!important;
    pointer-events:none!important;
  }
  .registration-entry-selector-locked .registration-entry-check{
    display:inline-flex!important;
  }
}
@media (max-width:390px){
  .registration-entry-selector-locked .registration-entry-card{
    grid-template-columns:39px minmax(0,1fr) 18px!important;
  }
  .registration-entry-selector-locked .registration-entry-check{
    display:inline-flex!important;
  }
}
