/* PASO 30 — capa común de legibilidad y compactación */
html {
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body {
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

.eyebrow,
.topbar-title span,
.section-heading > div > span,
.section-title .eyebrow {
    font-size:10px !important;
}

.field > span,
.note-field > span {
    font-size:11px !important;
}

.field > small,
small,
.settings-item small,
.collection-meta,
.collection-meta span,
.receipt-history-meta,
.client-note-footer,
.local-notice p,
.safety-card p {
    font-size:9.5px !important;
}

input,
select,
textarea {
    font-size:13px !important;
}

.settings-item strong,
.collection-name-row strong,
.client-note-head strong,
.receipt-history-head strong {
    font-size:11.5px !important;
}

button:not(.add-button) {
    min-height:40px;
}

.app {
    padding-top:calc(8px + env(safe-area-inset-top)) !important;
}

.topbar {
    margin-bottom:7px !important;
}

@media (max-width:430px) {
    .app {
        padding-left:10px !important;
        padding-right:10px !important;
    }
}

@media (max-height:760px) {
    .topbar {
        margin-bottom:5px !important;
    }

    .business-hero,
    .profile-header,
    .client-header,
    .hero-card {
        padding-top:9px !important;
        padding-bottom:9px !important;
        margin-bottom:6px !important;
    }

    .menu-card,
    .summary-card,
    .data-card,
    .settings-card,
    .collection-card {
        margin-bottom:6px !important;
    }
}


/* PASO 31 — no forzar una segunda altura de viewport dentro del body */
body {
    overflow-x:hidden;
}

body:has(.bottom-nav) > .app {
    min-height:auto !important;
}
