/* MoradaOS · Interface mais legível · v1.9.0
   Aumento tipográfico global, aplicado por cima dos estilos atuais.
   Mantém responsividade usando clamp(), limites em telas pequenas e ajustes de tabelas. */

:root {
    --moradaos-readable-base: clamp(15.75px, 0.18vw + 15px, 17px);
    --moradaos-readable-copy: clamp(15.75px, 0.20vw + 15.1px, 17.25px);
    --moradaos-readable-small: clamp(12.5px, 0.12vw + 12px, 13.75px);
    --moradaos-readable-xs: clamp(11.5px, 0.10vw + 11px, 12.5px);
    --moradaos-readable-line: 1.62;
}

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

body,
body.resident-body,
body.public-form-page {
    font-size: var(--moradaos-readable-base) !important;
    line-height: var(--moradaos-readable-line) !important;
}

button,
input,
textarea,
select {
    font-size: 1em;
}

/* ---------------------------
   Painel administrativo
   --------------------------- */
.content {
    font-size: var(--moradaos-readable-base) !important;
}

.sidebar {
    font-size: 15.5px !important;
}

.nav-link {
    font-size: clamp(14.5px, 0.12vw + 14px, 15.5px) !important;
    line-height: 1.3 !important;
    padding-top: 11px !important;
    padding-bottom: 11px !important;
}

.nav-section {
    font-size: 11.5px !important;
    letter-spacing: .12em !important;
}

.sidebar-bottom {
    font-size: 12.5px !important;
    line-height: 1.55 !important;
}

.page-title {
    font-size: 18px !important;
}

.page-subtitle,
.condo-pill,
.logout,
.account-copy strong {
    font-size: 13.5px !important;
}

.account-copy small {
    font-size: 12px !important;
}

.dashboard-head h1,
.page-head h1 {
    font-size: clamp(28px, 0.58vw + 23px, 34px) !important;
    line-height: 1.12 !important;
}

.dashboard-head p,
.page-head p {
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.button {
    font-size: 14.5px !important;
    line-height: 1.25 !important;
}

.metric-card-top,
.metric-card small,
.metric-trend,
.panel-header a,
.select-look,
.legend,
.chart-label {
    font-size: var(--moradaos-readable-xs) !important;
}

.metric-card strong {
    font-size: clamp(27px, 0.45vw + 22px, 32px) !important;
    line-height: 1.12 !important;
}

.panel-header h2 {
    font-size: 17px !important;
    line-height: 1.35 !important;
}

.list-main strong,
.quick-link,
.field label {
    font-size: 15px !important;
}

.list-main small,
.summary-cell span,
.help,
.error-text {
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.summary-cell strong {
    font-size: 24px !important;
}

.status,
.badge {
    font-size: 12px !important;
    line-height: 1.1 !important;
}

.field input,
.field select,
.field textarea {
    font-size: 16px !important;
    line-height: 1.45 !important;
}

.empty {
    font-size: 15.5px !important;
    line-height: 1.6 !important;
}

.table th {
    font-size: 12px !important;
    line-height: 1.3 !important;
}

.table td {
    font-size: 15px !important;
    line-height: 1.45 !important;
}

.pagination {
    font-size: 14px !important;
}

/* Tabelas continuam utilizáveis quando a tela fica estreita. */
.table-wrap {
    -webkit-overflow-scrolling: touch;
}

/* ---------------------------
   Landing pública
   --------------------------- */
.header-nav {
    font-size: 14.5px !important;
}

.btn {
    font-size: 14px !important;
    line-height: 1.25 !important;
}

.pill {
    font-size: 12.5px !important;
    line-height: 1.25 !important;
}

.hero h1 {
    font-size: clamp(48px, 4vw, 62px) !important;
    line-height: 1.04 !important;
}

.hero p {
    font-size: clamp(17px, 0.25vw + 16px, 19px) !important;
    line-height: 1.68 !important;
}

.trust {
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.trust strong {
    font-size: 13.5px !important;
}

.feature h3,
.benefit h3 {
    font-size: 15px !important;
    line-height: 1.28 !important;
}

.feature p,
.benefit p {
    font-size: 12.5px !important;
    line-height: 1.6 !important;
}

.testimonial q {
    font-size: 15px !important;
    line-height: 1.65 !important;
}

.testimonial small {
    font-size: 12px !important;
}

.plans-copy h2,
.plans-header h2 {
    font-size: clamp(32px, 1vw + 25px, 40px) !important;
    line-height: 1.1 !important;
}

.plans-copy p,
.plans-header p {
    font-size: 16px !important;
    line-height: 1.65 !important;
}

.plans-copy a {
    font-size: 14px !important;
}

.plan-card h3 {
    font-size: 18px !important;
}

.plan-card p,
.plan-card .hint {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
}

.price {
    font-size: 28px !important;
}

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

.plan-tag {
    font-size: 10.5px !important;
}

.landing-trial-callout h2 {
    font-size: 24px !important;
    line-height: 1.25 !important;
}

.landing-trial-callout p {
    font-size: 14.5px !important;
    line-height: 1.6 !important;
}

.footer p {
    font-size: 13px !important;
    line-height: 1.65 !important;
}

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

.footer a,
.footer-bottom {
    font-size: 12px !important;
    line-height: 1.5 !important;
}

/* O mockup da landing é demonstrativo; aumenta pouco para não deformar a imagem. */
.preview-top,
.preview-title,
.preview-side .mini-brand {
    font-size: 11px !important;
}

.mini-nav,
.preview-panel h3,
.preview-panel h3 a,
.mock-row,
.mock-row em,
.mini-card span,
.mini-card small {
    font-size: 8.5px !important;
}

.mini-card strong {
    font-size: 12.5px !important;
}

/* CTA com estilo inline na landing. */
#demonstracao strong[style*="font-size"] {
    font-size: 26px !important;
    line-height: 1.25 !important;
}

#demonstracao span[style*="font-size"] {
    font-size: 15px !important;
    line-height: 1.6 !important;
}

/* ---------------------------
   Login, gateway e formulários públicos
   --------------------------- */
.intro h1,
.public-form-copy h1,
.welcome h1 {
    font-size: clamp(34px, 2.7vw, 50px) !important;
    line-height: 1.1 !important;
}

.intro p,
.form .intro-copy,
.public-form-copy p,
.welcome p,
.next p {
    font-size: 16px !important;
    line-height: 1.68 !important;
}

.form h2,
.public-form-card h2 {
    font-size: 29px !important;
    line-height: 1.16 !important;
}

.form p,
.public-form-card p,
.public-form-card .lead,
.fact,
.public-benefit span,
.module span,
.row span {
    font-size: 13.5px !important;
    line-height: 1.55 !important;
}

.form .field label,
.public-form-card label,
.remember,
.back,
.eyebrow,
.public-form-header a,
.logout,
.module strong,
.row strong {
    font-size: 14px !important;
}

.form .field input,
.public-form-card input,
.public-form-card select,
.public-form-card textarea {
    font-size: 16px !important;
    line-height: 1.45 !important;
}

/* ---------------------------
   Portal do morador
   --------------------------- */
.resident-welcome-copy h1,
.resident-page-head h1 {
    font-size: clamp(28px, 2vw, 32px) !important;
}

.resident-welcome-copy p,
.resident-page-head p,
.resident-empty,
.resident-info-banner,
.resident-article-body {
    font-size: 15.5px !important;
    line-height: 1.65 !important;
}

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

.resident-section-head a,
.resident-button,
.resident-back,
.resident-inline-links a,
.resident-text-button {
    font-size: 14px !important;
}

.resident-list-main strong,
.resident-notice-card strong,
.resident-profile-card strong,
.resident-more-card strong,
.resident-data-list strong {
    font-size: 15.5px !important;
}

.resident-list-main small,
.resident-notice-card p,
.resident-profile-card small,
.resident-more-card small,
.resident-data-list span,
.resident-field label,
.resident-summary-card span {
    font-size: 13px !important;
    line-height: 1.5 !important;
}

.resident-field input,
.resident-field select,
.resident-field textarea {
    font-size: 16px !important;
}

.resident-bottom-nav a {
    font-size: 12px !important;
}

.resident-bottom-nav a span {
    font-size: 20px !important;
}

/* ---------------------------
   Responsividade
   --------------------------- */
@media (max-width: 1180px) {
    .header-nav {
        gap: 22px !important;
    }

    .topbar {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    .condo-pill {
        min-width: 170px !important;
    }
}

@media (max-width: 900px) {
    body,
    body.resident-body,
    body.public-form-page {
        font-size: 15.75px !important;
    }

    .hero h1 {
        font-size: clamp(38px, 8.5vw, 50px) !important;
    }

    .hero p {
        font-size: 16.5px !important;
    }

    .feature h3,
    .benefit h3 {
        font-size: 14.5px !important;
    }

    .feature p,
    .benefit p {
        font-size: 12px !important;
    }

    .dashboard-head h1,
    .page-head h1 {
        font-size: 27px !important;
    }

    .dashboard-head p,
    .page-head p {
        font-size: 15.5px !important;
    }

    .metric-card strong {
        font-size: 26px !important;
    }
}

@media (max-width: 640px) {
    body,
    body.resident-body,
    body.public-form-page {
        font-size: 15.5px !important;
    }

    .content {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .nav-link {
        font-size: 14.5px !important;
    }

    .button,
    .btn {
        font-size: 14px !important;
    }

    .field input,
    .field select,
    .field textarea,
    .form .field input,
    .public-form-card input,
    .public-form-card select,
    .public-form-card textarea,
    .resident-field input,
    .resident-field select,
    .resident-field textarea {
        font-size: 16px !important; /* evita zoom automático no iOS */
    }

    .table th {
        font-size: 11.5px !important;
    }

    .table td {
        font-size: 14.5px !important;
    }

    .resident-bottom-nav a {
        font-size: 11px !important;
    }

    .resident-bottom-nav a span {
        font-size: 18px !important;
    }
}

@media (max-width: 380px) {
    .resident-bottom-nav small {
        font-size: 10.5px !important;
    }

    .feature h3,
    .benefit h3,
    .resident-list-main strong {
        font-size: 14px !important;
    }
}
