/**
 * Tema visual unificado — SAASCOM Morador
 * Cores, cards, tipografia e efeitos alinhados ao Histórico de acessos / Index.
 */

:root {
    --app-card-shadow: 0 4px 18px rgba(30, 58, 95, 0.08);
    --app-card-shadow-hover: 0 6px 22px rgba(30, 58, 95, 0.1);
    --app-text-main: #1E3A5F;
    --app-text-meta: #64748B;
    --app-text-soft: #6B8FA3;
    --app-border-soft: #D4EBFA;
    --app-pattern: repeating-linear-gradient(
        -45deg,
        transparent,
        transparent 12px,
        rgba(61, 170, 235, 0.06) 12px,
        rgba(61, 170, 235, 0.06) 24px
    );
    --app-radius-card: 16px;
    --app-radius-btn: 14px;
}

/* ── Tipografia global das páginas ── */
[class$="-body"],
[class*="-body "] {
    font-family: var(--font, 'Montserrat', system-ui, sans-serif);
    color: var(--app-text-main);
    background: var(--bg-body, #F0F7FF);
}

[class$="-content"],
[class*="-page"] .page-content {
    font-family: var(--font, 'Montserrat', system-ui, sans-serif);
}

/* ── Padrão diagonal nos heros ── */
[class*="__texture"]::after {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.28;
    pointer-events: none;
    background-image: var(--app-pattern);
}

/* ── Títulos de seção ── */
[class*="section__title"],
[class*="section__header"] h2,
[class*="-section__title"] {
    color: var(--app-text-main);
    font-weight: 700;
}

/* ── Cards de lista (todas as páginas) ── */
.ag-card,
.asm-card,
.manut-card,
.ativ-item,
.comunicados-card,
.encomendas-card,
.visitantes-card,
.documentos-card,
.doa-card,
.oc-card,
.mais-item,
.conta-card,
.perm-item,
.vc-card,
.rv-modal__card,
.reservas-area-card,
.reservas-agenda-card,
[class*="-modal__card"],
.hist-card {
    border: none !important;
    border-radius: var(--app-radius-card) !important;
    box-shadow: var(--app-card-shadow) !important;
    background: #fff;
}

/* Cards com borda explícita antiga */
.visitantes-card,
.encomendas-card,
.documentos-card {
    border: none !important;
}

/* ── Tabs flutuantes ── */
.agendamentos-tabs,
.visitantes-tabs,
.encomendas-tabs,
.reservas-tabs,
.oc-tabs,
.doa-tabs,
[class*="-tabs"]:not(.app-info-sheet__tabs):not(.app-legal-sheet__tabs):not([class*="assinatura"]) {
    position: relative;
    overflow: hidden;
    border-radius: var(--app-radius-card) !important;
    box-shadow: var(--app-card-shadow) !important;
    background: #fff !important;
}

.agendamentos-tabs::before,
.visitantes-tabs::before,
.encomendas-tabs::before,
.reservas-tabs::before,
.oc-tabs::before,
.doa-tabs::before {
    content: '';
    position: absolute;
    inset: 0;
    opacity: 0.18;
    pointer-events: none;
    background-image: var(--app-pattern);
}

/* ── Form cards / painéis ── */
.ag-form-card,
.visitantes-form-card,
.oc-form-card,
.doa-form-card,
.rv-form-card,
[class*="form-card"] {
    border: none !important;
    border-radius: var(--app-radius-card) !important;
    box-shadow: var(--app-card-shadow) !important;
    background: #fff !important;
}

/* ── Títulos de cards ── */
.ag-card__title,
.asm-card__title,
.manut-card__title,
.comunicados-card__title,
.encomendas-card__title,
.visitantes-card__title,
.documentos-card__title,
.doa-card__title,
.oc-card__title,
.mais-item__title,
.ativ-item__title,
.conta-card__title {
    color: #334155;
    font-weight: 600;
}

/* ── Meta / subtítulos ── */
.ag-card__meta,
.asm-card__meta,
.manut-card__meta,
.comunicados-card__meta,
.encomendas-card__sub,
.encomendas-card__meta,
.visitantes-card__meta,
.documentos-card__desc,
.documentos-card__meta,
.doa-card__meta,
.oc-card__meta,
.mais-item__desc,
.ativ-item__meta,
.ativ-item__time {
    color: var(--app-text-meta) !important;
    font-weight: 500;
}

/* ── Estados vazios / loading / hints ── */
.ag-loading,
.ag-empty,
.asm-empty,
.manut-empty,
.comunicados-empty,
.encomendas-empty,
.visitantes-empty,
.documentos-empty,
.doa-empty,
.oc-empty,
.ativ-empty,
.hist-state,
[class*="-empty"]:not([class*="notify"]),
[class*="-loading"],
.ag-loading,
.asm-loading,
.manut-loading {
    color: var(--app-text-soft);
    font-weight: 500;
}

.ag-empty,
.asm-empty,
.manut-empty,
.comunicados-empty,
.encomendas-empty,
.visitantes-empty,
.documentos-empty,
.doa-empty,
.oc-empty,
.ativ-empty {
    text-align: center;
    padding: 32px 16px;
}

/* ── Paginação ── */
[class*="-pager"] {
    display: flex;
    align-items: center;
    justify-content: center;
}

[class*="-pager"] button,
[class*="-pager__btn"],
.hist-pager__btn,
.index-acessos-pager__btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    width: 36px;
    height: 36px !important;
    padding: 0 !important;
    border: 1px solid var(--app-border-soft) !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #334155 !important;
    font-weight: 600;
    font-family: inherit;
    line-height: 1 !important;
    box-sizing: border-box !important;
    vertical-align: middle;
}

[class*="-pager__btn--active"],
[class*="-pager"] .is-active,
[class*="-pager"] span[class*="-pager__btn"],
.hist-pager__btn--active,
.index-acessos-pager__btn--active {
    width: auto !important;
    min-width: 36px !important;
    padding: 0 8px !important;
    background: var(--blue-primary) !important;
    border-color: var(--blue-primary) !important;
    color: #fff !important;
}

/* ── Botões primários ── */
[class*="-btn-primary"],
[class*="__btn--primary"]:not([class*="ghost"]),
.agendamentos-fab,
.visitantes-btn-novo,
.encomendas-btn-novo,
.rv-btn-primary,
.app-form__submit {
    border-radius: var(--app-radius-btn);
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(61, 170, 235, 0.22);
}

/* ── Ícones circulares / avatares ── */
[class*="__icon-area"],
[class*="card__icon"]:not([class*="tab"]):not([class*="notify"]),
.visitantes-card__avatar,
.encomendas-card__icon {
    border-radius: 50%;
}

.encomendas-card__icon,
.documentos-card__icon {
    box-shadow: 0 4px 12px rgba(61, 170, 235, 0.12);
}

/* ── Modais / sheets — backdrop unificado ── */
[class*="__backdrop"]:not(.dialog-backdrop),
[class*="-sheet__backdrop"],
[class*="modal__backdrop"],
.rv-modal__backdrop,
.enc-assinatura__backdrop {
    background: rgba(30, 90, 142, 0.45) !important;
}

[class*="modal__panel"]:not(.hist-modal__panel),
[class*="-sheet__panel"]:not(.index-mais-sheet__panel):not(.app-info-sheet__panel):not(.app-info-sheet__panels),
.rv-modal__box,
.enc-assinatura__panel {
    border-radius: 18px !important;
    box-shadow: 0 16px 48px rgba(30, 90, 142, 0.22) !important;
}

[class*="modal__title"],
[class*="-sheet__title"]:not(.index-mais-sheet__title) {
    color: var(--blue-title, #3BA0DE);
    font-weight: 700;
}

/* ── Inputs ── */
.app-field input,
.app-field select,
.app-field textarea,
[class*="field__input"],
[class*="-field input"],
[class*="-field select"],
[class*="-field textarea"] {
    border-color: var(--app-border-soft);
    border-radius: 12px;
    font-family: var(--font);
}

.app-field input:focus,
.app-field select:focus,
.app-field textarea:focus,
[class*="field__input"]:focus {
    border-color: var(--blue-primary);
    box-shadow: 0 0 0 3px rgba(61, 170, 235, 0.15);
    outline: none;
}

/* ── Menu Mais (página dedicada) ── */
.mais-item {
    padding: 14px 16px;
    transition: transform 0.12s ease;
}

.mais-item__icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(145deg, #E8F4FD 0%, #D4EBFA 55%, #C5E3F8 100%);
    box-shadow: 0 4px 12px rgba(61, 170, 235, 0.12);
}

.mais-item__title {
    font-weight: 700;
    color: var(--app-text-main);
}

/* ── Atividades ── */
.ativ-item {
    padding: 14px 16px;
}

.ativ-resumo {
    border: none;
    border-radius: var(--app-radius-card);
    box-shadow: var(--app-card-shadow);
}

/* ── Conta ── */
.conta-card {
    padding: 14px 16px;
}

.conta-section__title {
    color: var(--app-text-main);
    font-size: 17px;
}

/* ── Reservas ── */
.reservas-area-card,
.reservas-agenda-card {
    padding: 14px 16px;
}

/* ── Manifestações (estrelas) ── */
.mf-star {
    border-radius: 12px;
    box-shadow: var(--app-card-shadow);
}

/* ── QR / permissões ── */
.perm-item {
    padding: 14px 16px;
}

/* ── Lista gaps ── */
.ag-list,
.asm-list,
.manut-list,
.comunicados-list,
.encomendas-list,
.visitantes-list,
.documentos-list,
.doa-list,
.oc-list,
.ativ-list {
    gap: 12px;
}
