
/*
=========================================================
  SISTEM UKURAN TEKS GLOBAL SERASI — BBM SUBSIDI
  Diletakkan PALING AKHIR pada seluruh halaman.
  Tujuan:
  - Menghilangkan teks 6–9 px yang terlalu kecil.
  - Menyamakan ukuran label, isi kartu, tombol, dan form.
  - Tetap mempertahankan hierarki judul yang sudah disetujui.
=========================================================
*/

:root{
    --bbm-text-caption:10.5px;
    --bbm-text-helper:11px;
    --bbm-text-small:11.5px;
    --bbm-text-body:13px;
    --bbm-text-control:13px;
    --bbm-text-button:12px;
    --bbm-text-card-title:14px;
    --bbm-text-section-title:22px;
}

html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body{
    font-size:15px;
    line-height:1.55;
}

button,
input,
select,
textarea{
    font-family:"Inter","Segoe UI",Roboto,Arial,sans-serif;
}

/* =====================================================
   HEADER, BERANDA, BAGIAN BAWAH, DAN FOOTER
===================================================== */

.site-header .nav a{
    font-size:14px !important;
}

.site-header .btn,
.site-header .btn-login,
.hero-buttons .btn,
.public-guide-hero-actions a{
    font-size:13px !important;
}

.site-header .logo small,
.footer-brand .logo small,
.exact-footer .logo small{
    font-size:12px !important;
}

.hero-left .badge{
    font-size:12px !important;
}

.hero-left > p{
    font-size:17px !important;
    line-height:1.6 !important;
}

.hero-left > small{
    font-size:12px !important;
    line-height:1.5 !important;
}

.stat-row small{
    font-size:13px !important;
}

.section-heading p,
.feature-area .section-heading p{
    font-size:14px !important;
    line-height:1.55 !important;
}

.features h3{
    font-size:16px !important;
}

.features p,
.features a{
    font-size:13px !important;
    line-height:1.5 !important;
}

.bottom-card h2,
.support-agent h3{
    font-size:18px !important;
}

.registration-step strong,
.audience-row h3,
.quota-info-item strong{
    font-size:13px !important;
}

.registration-step p,
.audience-row p,
.quota-info-item p,
.footer-brand p,
.support-agent p{
    font-size:12px !important;
    line-height:1.55 !important;
}

.quota-info-item small,
.quota-info-item em,
.support-contact small,
.footer-brand .logo small{
    font-size:10.5px !important;
    line-height:1.45 !important;
}

.support-contact strong{
    font-size:14px !important;
}

.footer-column h4{
    font-size:13px !important;
}

.footer-column a,
.footer-bottom-exact,
.exact-footer p,
.exact-footer a{
    font-size:11.5px !important;
    line-height:1.5 !important;
}

/* =====================================================
   HALAMAN PUBLIK UMUM
===================================================== */

.status-page,
.registration-guide-page,
.signup-page,
.login-page,
.forgot-page,
.public-guide-page,
.public-faq-page,
.contact-page,
.legal-page{
    font-size:var(--bbm-text-body) !important;
}

.status-page p,
.registration-guide-page p,
.signup-page p,
.login-page p,
.forgot-page p,
.public-guide-page p,
.public-faq-page p,
.contact-page p,
.legal-page p{
    font-size:12px !important;
    line-height:1.6 !important;
}

.status-page small,
.registration-guide-page small,
.signup-page small,
.login-page small,
.forgot-page small,
.public-guide-page small,
.public-faq-page small,
.contact-page small,
.legal-page small{
    font-size:var(--bbm-text-caption) !important;
    line-height:1.45 !important;
}

.status-page button,
.status-page a,
.registration-guide-page button,
.registration-guide-page a,
.signup-page button,
.signup-page a,
.login-page button,
.login-page a,
.forgot-page button,
.forgot-page a,
.public-guide-page button,
.public-guide-page a,
.public-faq-page button,
.public-faq-page a,
.contact-page button,
.contact-page a,
.legal-page button,
.legal-page a{
    font-size:var(--bbm-text-button) !important;
}

.status-page input,
.status-page select,
.registration-guide-page input,
.registration-guide-page select,
.signup-page input,
.signup-page select,
.login-page input,
.login-page select,
.forgot-page input,
.forgot-page select,
.public-faq-page input,
.contact-page input,
.contact-page select,
.contact-page textarea{
    font-size:var(--bbm-text-control) !important;
}

.status-form label > span,
.signup-field > span,
.login-field > span,
.forgot-field > span,
.contact-field > span{
    font-size:12px !important;
}

.status-form-note,
.signup-notice,
.login-notice,
.forgot-notice,
.contact-form-notice{
    font-size:11px !important;
    line-height:1.5 !important;
}

.signup-error,
.login-error,
.forgot-error,
.contact-error{
    font-size:10.5px !important;
    line-height:1.4 !important;
}

/* Cek status */
.status-kicker,
.registration-kicker,
.signup-kicker,
.login-eyebrow,
.forgot-eyebrow,
.public-guide-eyebrow,
.public-faq-eyebrow,
.contact-eyebrow,
.legal-eyebrow{
    font-size:10px !important;
}

.status-card h2,
.faq-mini-card h2,
.registration-info-card h2,
.registration-cta-card h2,
.signup-form-header h2,
.forgot-step-title h2{
    font-size:16px !important;
}

.status-card-heading p,
.result-header p,
.help-card > p,
.registration-section-heading p,
.flow-copy p,
.preparation-item p,
.registration-warning-card p,
.registration-cta-card p,
.registration-faq-answer p{
    font-size:11.5px !important;
}

.result-header small,
.result-grid small,
.help-line small,
.registration-phone small,
.registration-floating-card small,
.flow-copy > span,
.flow-tags b,
.timeline-summary-item small{
    font-size:10.5px !important;
}

.result-grid strong,
.help-line strong,
.registration-phone strong,
.registration-floating-card strong,
.preparation-item strong,
.timeline-summary-item strong{
    font-size:12px !important;
}

/* Daftar dan login */
.signup-progress-item strong,
.login-register-button strong,
.login-feature-list strong,
.login-status-top strong,
.login-side-footer strong{
    font-size:12px !important;
}

.signup-progress-item small,
.signup-side-features small,
.login-register-button small,
.login-feature-list small,
.login-status-top small,
.login-status-label small,
.login-side-footer small{
    font-size:10.5px !important;
}

.signup-side-features p,
.login-side-content > p{
    font-size:12px !important;
}

.signup-checkbox,
.login-options,
.login-remember,
.login-options > a,
.signup-login-link,
.login-safe-note,
.login-safe-note,
.forgot-login-link,
.forgot-safe-note{
    font-size:11px !important;
}

/* Lupa kata sandi */
.forgot-stepper small,
.forgot-code-meta,
.forgot-password-strength span,
.forgot-password-strength strong,
.forgot-password-strength li{
    font-size:10.5px !important;
}

.forgot-code-destination,
#forgotCodeDestination{
    font-size:11.5px !important;
}

/* =====================================================
   INFORMASI DAN FAQ
===================================================== */

.public-guide-hero-copy > p,
.public-faq-hero p,
.contact-hero-copy > p,
.legal-hero p{
    font-size:13px !important;
    line-height:1.65 !important;
}

.public-guide-section-heading > span,
.public-guide-card-heading small,
.public-guide-eligibility-card > small,
.public-faq-content-heading > div > span,
.contact-form-heading small,
.contact-bottom-reminder small,
.legal-nav-heading small{
    font-size:10px !important;
}

.public-guide-section-heading p,
.public-guide-feature-grid p,
.public-guide-eligibility-card > p,
.public-guide-status-grid p,
.public-guide-reminder p{
    font-size:11.5px !important;
}

.public-guide-feature-grid h3{
    font-size:14px !important;
}

.public-guide-card-heading h2,
.public-guide-eligibility-card h2{
    font-size:17px !important;
}

.public-guide-check-grid strong,
.public-guide-eligibility-card li,
.public-guide-status-grid h3{
    font-size:11.5px !important;
}

.public-guide-check-grid small,
.public-guide-information-note,
.public-guide-hero-card li small,
.public-guide-card-top small{
    font-size:10.5px !important;
}

.public-guide-hero-card li strong,
.public-guide-card-top strong{
    font-size:12px !important;
}

/* FAQ */
.public-faq-popular > span,
.public-faq-popular button{
    font-size:10px !important;
}

.public-faq-category-title strong,
.public-faq-categories > button,
.public-faq-contact-mini strong{
    font-size:11.5px !important;
}

.public-faq-category-title small,
.public-faq-contact-mini p,
.public-faq-categories > button b,
.public-faq-content-heading > small{
    font-size:10px !important;
}

.public-faq-content-heading h2{
    font-size:18px !important;
}

.public-faq-item > button strong{
    font-size:12px !important;
    line-height:1.45 !important;
}

.public-faq-item > button b{
    font-size:10px !important;
}

.public-faq-answer p{
    font-size:11.5px !important;
    line-height:1.65 !important;
}

.public-faq-answer a{
    font-size:11px !important;
}

.public-faq-no-result p,
.public-faq-help-banner p{
    font-size:11.5px !important;
}

/* =====================================================
   KONTAK DAN PENGADUAN
===================================================== */

.contact-hero-actions small,
.contact-agent-card small,
.contact-response-card small,
.contact-side-heading p,
.contact-channel small,
.contact-process-card li small{
    font-size:10px !important;
}

.contact-hero-actions strong,
.contact-agent-card strong,
.contact-response-card strong,
.contact-channel strong,
.contact-process-card li strong{
    font-size:11.5px !important;
}

.contact-agent-card p,
.contact-response-card p,
.contact-channel p,
.contact-security-card p,
.contact-faq-card p,
.contact-process-card p{
    font-size:10.5px !important;
}

.contact-operational-note,
.contact-shield-card,
.contact-message-meta,
.contact-agreement{
    font-size:11px !important;
}

.contact-form-heading h2{
    font-size:17px !important;
}

.contact-form-heading p{
    font-size:11px !important;
}

.contact-side-heading h3,
.contact-process-card h3,
.contact-security-card h3,
.contact-faq-card h3{
    font-size:13px !important;
}

.contact-channel > b,
.contact-faq-card a{
    font-size:10.5px !important;
}

.contact-success-card > p,
.contact-bottom-reminder p{
    font-size:11.5px !important;
}

.contact-ticket-code > span,
.contact-success-grid small{
    font-size:10px !important;
}

.contact-success-grid strong{
    font-size:11.5px !important;
}

/* =====================================================
   HALAMAN LEGAL
===================================================== */

.legal-navigation > a{
    font-size:11px !important;
    line-height:1.4 !important;
}

.legal-nav-heading strong{
    font-size:12px !important;
}

.legal-introduction p,
.legal-section p,
.legal-section li{
    font-size:11.5px !important;
    line-height:1.65 !important;
}

.legal-section h2{
    font-size:15.5px !important;
}

.legal-section-number{
    font-size:10px !important;
}

.legal-disclaimer-box strong,
.legal-data-grid strong,
.legal-contact-box strong,
.legal-related-links strong{
    font-size:11.5px !important;
}

.legal-disclaimer-box p,
.legal-security-warning p,
.legal-data-grid small,
.legal-contact-box small,
.legal-related-links small{
    font-size:10.5px !important;
}

.legal-contact-box a{
    font-size:11px !important;
}

.legal-operator-note{
    font-size:11px !important;
}

/* =====================================================
   DASHBOARD PENGGUNA — SISTEM UMUM
===================================================== */

body.user-dashboard-body{
    font-size:13px !important;
    line-height:1.55 !important;
}

.user-dashboard-body p{
    font-size:11.5px !important;
    line-height:1.55 !important;
}

.user-dashboard-body small{
    font-size:10.5px !important;
    line-height:1.4 !important;
}

.user-dashboard-body button,
.user-dashboard-body a{
    font-size:11.5px !important;
}

.user-dashboard-body input,
.user-dashboard-body select,
.user-dashboard-body textarea{
    font-size:13px !important;
    line-height:1.45 !important;
}

.user-sidebar-brand .logo small{
    font-size:10.5px !important;
}

.user-profile-mini strong,
.topbar-profile-copy strong,
.user-sidebar-help strong{
    font-size:12px !important;
}

.user-profile-mini small,
.topbar-profile-copy small,
.user-sidebar-help small{
    font-size:10.5px !important;
}

.sidebar-label{
    font-size:10px !important;
    letter-spacing:.75px !important;
}

.user-sidebar-nav > a{
    font-size:12.5px !important;
}

.user-sidebar-nav > a b,
.notification-button > span{
    font-size:9.5px !important;
}

.user-logout-button,
.topbar-public-link,
.profile-dropdown a,
.profile-dropdown button{
    font-size:11.5px !important;
}

.user-topbar-left h1{
    font-size:18px !important;
}

.user-topbar-left p{
    font-size:11px !important;
}

.user-dashboard-footer{
    font-size:10.5px !important;
}

/* Judul dan pengantar halaman dashboard */
.welcome-badge,
.identity-stage-badge,
.vehicle-stage-badge,
.submission-stage-badge,
.history-heading-badge,
.settings-heading-badge{
    font-size:10px !important;
}

.welcome-copy h2,
.identity-page-heading h2,
.vehicle-page-heading h2,
.submission-page-heading h2,
.history-page-heading h2,
.settings-page-heading h2{
    font-size:22px !important;
}

.welcome-copy > p,
.identity-page-heading p,
.vehicle-page-heading p,
.submission-page-heading p,
.history-page-heading p,
.settings-page-heading p{
    font-size:12px !important;
}

.identity-step-summary small,
.vehicle-step-summary small,
.submission-step-summary small{
    font-size:9.5px !important;
}

/* Kartu dan judul */
.user-dashboard-body .dashboard-card-header h2,
.user-dashboard-body .identity-card h3,
.user-dashboard-body .vehicle-card h3,
.user-dashboard-body .submission-card h3,
.user-dashboard-body .submission-side-card h3,
.user-dashboard-body .history-list-heading h3,
.user-dashboard-body .history-detail-section-heading h4,
.user-dashboard-body .settings-panel-header h3,
.user-dashboard-body .settings-side-card h3{
    font-size:14px !important;
}

.user-dashboard-body .dashboard-card-header p,
.user-dashboard-body .submission-card-title p,
.user-dashboard-body .submission-side-card p,
.user-dashboard-body .history-list-heading p,
.user-dashboard-body .settings-panel-header p{
    font-size:11px !important;
}

/* Form umum dashboard */
.user-dashboard-body .identity-field > span,
.user-dashboard-body .vehicle-field > span,
.user-dashboard-body .settings-field > span,
.user-dashboard-body .submission-notes-field > span{
    font-size:12px !important;
}

.user-dashboard-body .identity-error,
.user-dashboard-body .vehicle-error,
.user-dashboard-body .settings-error{
    font-size:10.5px !important;
}

.user-dashboard-body .identity-notice,
.user-dashboard-body .vehicle-notice,
.user-dashboard-body .submission-notice,
.user-dashboard-body .settings-notice{
    font-size:11px !important;
}

/* Dashboard utama */
.dashboard-stat-card small{
    font-size:11px !important;
}

.dashboard-stat-card strong{
    font-size:22px !important;
}

.dashboard-stat-card p,
.registration-progress-item small{
    font-size:10.5px !important;
}

.dashboard-stat-card > a,
.registration-progress-item strong,
.registration-progress-item > b,
.stat-status{
    font-size:11px !important;
}

/* Identitas */
.identity-progress-label,
.identity-section-copy small,
.identity-summary-grid small{
    font-size:10.5px !important;
}

.identity-section-copy strong,
.identity-summary-grid strong{
    font-size:11.5px !important;
}

/* Kendaraan */
.vehicle-card-header p,
.vehicle-empty-state p,
.vehicle-form-helper,
.vehicle-list-copy small{
    font-size:10.5px !important;
}

.vehicle-list-copy strong,
.vehicle-detail-grid strong,
.vehicle-empty-state strong{
    font-size:11.5px !important;
}

.vehicle-detail-grid small,
.vehicle-list-copy b,
.vehicle-status-badge{
    font-size:10px !important;
}

/* Pengajuan */
.submission-missing-state strong,
.submission-identity-grid strong,
.submission-vehicle-copy strong,
.submission-readiness-list,
.submission-summary-card dd,
.submission-success-details strong,
.submission-modal-summary strong{
    font-size:11.5px !important;
}

.submission-missing-state p,
.submission-identity-grid small,
.submission-vehicle-copy small,
.submission-readiness-list b,
.submission-summary-card dt,
.submission-success-details small,
.submission-modal-summary small{
    font-size:10.5px !important;
}

.submission-vehicle-option > b,
.submission-summary-card dd span,
.submission-success-badge{
    font-size:10px !important;
}

.submission-checkbox{
    font-size:11.5px !important;
}

.submission-send-button,
.submission-back-button,
.submission-success-actions a,
.submission-modal-actions button{
    font-size:11.5px !important;
}

/* Riwayat */
.history-heading-summary small,
.history-list-heading > span,
.history-list-code small,
.history-list-meta small,
.history-list-footer,
.history-detail-hero small,
.history-detail-grid small,
.history-vehicle-card small,
.history-progress-step small,
.history-admin-note p{
    font-size:10.5px !important;
}

.history-list-code strong,
.history-list-meta strong,
.history-detail-grid strong,
.history-vehicle-card strong,
.history-progress-step strong,
.history-admin-note strong{
    font-size:11.5px !important;
}

.history-status-badge{
    font-size:10px !important;
}

.history-search input,
.history-filter-group select{
    font-size:12.5px !important;
}

.history-filter-group label > span{
    font-size:10.5px !important;
}

.history-filter-group button,
.history-detail-actions button{
    font-size:11px !important;
}

/* Pengaturan akun */
.settings-navigation-card > button strong,
.settings-avatar-copy h4,
.settings-toggle-copy strong,
.settings-device-copy strong,
.settings-danger-zone h4{
    font-size:12px !important;
}

.settings-navigation-card > button small,
.settings-avatar-copy p,
.settings-toggle-copy small,
.settings-device-copy p,
.settings-danger-zone p,
.settings-security-summary p{
    font-size:10.5px !important;
}

.settings-nav-help strong,
.settings-security-summary strong{
    font-size:11.5px !important;
}

.settings-nav-help p,
.settings-security-summary small{
    font-size:10px !important;
}

.settings-upload-button,
.settings-remove-avatar,
.settings-device-card > button,
.settings-danger-zone > button{
    font-size:11px !important;
}

.settings-password-strength span,
.settings-password-strength strong,
.settings-password-strength li,
.settings-security-note p{
    font-size:10.5px !important;
}

.settings-security-note strong{
    font-size:11.5px !important;
}

/* =====================================================
   MOBILE — TETAP TERBACA, TANPA TERLALU BESAR
===================================================== */

@media(max-width:760px){
    :root{
        --bbm-text-caption:10px;
        --bbm-text-helper:10.5px;
        --bbm-text-small:11px;
        --bbm-text-body:12.5px;
        --bbm-text-control:12.5px;
        --bbm-text-button:11.5px;
    }

    .site-header .nav a{
        font-size:13px !important;
    }

    .hero-left > p{
        font-size:15px !important;
    }

    .status-page p,
    .registration-guide-page p,
    .signup-page p,
    .login-page p,
    .forgot-page p,
    .public-guide-page p,
    .public-faq-page p,
    .contact-page p,
    .legal-page p{
        font-size:11.5px !important;
    }

    .public-guide-hero-copy > p,
    .public-faq-hero p,
    .contact-hero-copy > p,
    .legal-hero p{
        font-size:12px !important;
    }

    .user-topbar-left h1{
        font-size:16px !important;
    }

    .welcome-copy h2,
    .identity-page-heading h2,
    .vehicle-page-heading h2,
    .submission-page-heading h2,
    .history-page-heading h2,
    .settings-page-heading h2{
        font-size:19px !important;
    }

    .user-dashboard-body input,
    .user-dashboard-body select,
    .user-dashboard-body textarea{
        font-size:12.5px !important;
    }

    .user-sidebar-nav > a{
        font-size:12px !important;
    }
}

/* =====================================================
   PERBAIKAN UKURAN COPYRIGHT FOOTER v1
   ===================================================== */
.exact-footer .footer-bottom,
.exact-footer .footer-bottom-exact,
.exact-footer .footer-bottom span,
.exact-footer .footer-bottom-exact span{
    font-size:12px !important;
    line-height:1.45 !important;
    font-weight:400 !important;
    letter-spacing:0 !important;
}

@media(max-width:680px){
    .exact-footer .footer-bottom,
    .exact-footer .footer-bottom-exact,
    .exact-footer .footer-bottom span,
    .exact-footer .footer-bottom-exact span{
        font-size:11px !important;
        line-height:1.5 !important;
    }
}
