/* CAMINHO: /css/global/responsive.css */
/* OBJETIVO: Responsividade global do sistema */

@media (max-width: 1200px) {
    .erp-grid-4,
    .erp-card-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .erp-filter-grid,
    .erp-form-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .erp-main {
        padding: 18px;
    }

    .erp-page-header {
        flex-direction: column;
        align-items: stretch;
    }

    .erp-page-actions {
        justify-content: flex-start;
    }

    .erp-grid-3,
    .erp-grid-4,
    .erp-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .erp-filter-grid,
    .erp-form-grid,
    .erp-form-grid-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .erp-section-header,
    .erp-card-header,
    .erp-panel-header,
    .erp-filter-header {
        flex-direction: column;
        align-items: stretch;
    }

    .erp-toolbar {
        align-items: stretch;
    }

    .erp-toolbar-left,
    .erp-toolbar-right {
        width: 100%;
        justify-content: flex-start;
    }
}

@media (max-width: 900px) {
    .erp-grid-2,
    .erp-card-grid {
        grid-template-columns: 1fr;
    }

    .erp-page-header {
        margin-bottom: 14px;
    }

    .erp-card,
    .erp-section,
    .erp-panel,
    .erp-info-card {
        max-width: 100%;
    }

    .erp-card > .erp-table-card-ready,
    .erp-panel > .erp-table-card-ready,
    .erp-section > .erp-table-card-ready {
        margin: 0 !important;
    }
}

@media (max-width: 768px) {
    html {
        -webkit-text-size-adjust: 100%;
    }

    body {
        font-size: 14px;
        padding-left: env(safe-area-inset-left);
        padding-right: env(safe-area-inset-right);
    }

    .erp-main {
        padding: 14px;
        padding-bottom: calc(18px + env(safe-area-inset-bottom));
    }

    .erp-container,
    .erp-page,
    .erp-page-content {
        width: 100%;
        max-width: 100%;
    }

    .erp-page-header,
    .erp-card-header,
    .erp-section-header {
        gap: 12px;
    }

    .erp-page-title {
        font-size: 23px;
        line-height: 1.15;
    }

    .erp-page-subtitle {
        font-size: 14px;
        line-height: 1.45;
    }

    .erp-section,
    .erp-card-body,
    .erp-panel-body {
        padding: 14px;
    }

    .erp-grid,
    .erp-grid-2,
    .erp-grid-3,
    .erp-grid-4,
    .erp-card-grid,
    .erp-filter-grid,
    .erp-form-grid,
    .erp-form-grid-2,
    .erp-form-grid-3 {
        grid-template-columns: 1fr;
    }

    .erp-page-actions,
    .erp-filter-actions,
    .erp-card-actions,
    .erp-table-actions,
    .erp-list-card-actions,
    .erp-form-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .erp-btn {
        width: 100%;
        min-height: 44px;
        justify-content: center;
        white-space: normal;
        text-align: center;
        font-size: 13px;
        line-height: 1.15;
    }

    .erp-input,
    .erp-select,
    .erp-textarea,
    input,
    select,
    textarea {
        font-size: 16px;
    }

    .erp-btn-icon {
        width: 40px;
        min-width: 40px;
        flex: 0 0 40px;
    }

    .erp-list-card-value {
        text-align: right;
    }

    .erp-kpi-value {
        font-size: 24px;
    }

    .erp-dashboard-card,
    .erp-info-card,
    .erp-kpi {
        min-width: 0;
    }

    .erp-dashboard-card-title,
    .erp-card-title,
    .erp-info-card-value {
        overflow-wrap: anywhere;
    }

    .erp-info-card {
        padding: 14px;
    }

    .erp-info-card-label {
        font-size: 11px;
        line-height: 1.25;
    }

    .erp-info-card-value {
        font-size: 15px;
        line-height: 1.25;
    }
}

@media (max-width: 480px) {
    .erp-main {
        padding: 10px;
    }

    .erp-page-title {
        font-size: 21px;
    }

    .erp-page-actions .erp-btn,
    .erp-form-actions .erp-btn,
    .erp-card-actions .erp-btn {
        font-size: 13px;
        padding-left: 10px;
        padding-right: 10px;
    }

    .erp-section,
    .erp-card,
    .erp-panel,
    .erp-filter,
    .erp-list-card {
        border-radius: 14px;
    }

    .erp-card-header,
    .erp-panel-header,
    .erp-card-body,
    .erp-panel-body,
    .erp-card-footer,
    .erp-panel-footer {
        padding: 14px;
    }

    .erp-list-card-row {
        flex-direction: column;
        gap: 4px;
    }

    .erp-list-card-value {
        text-align: left;
    }

    .erp-pagination {
        justify-content: flex-start;
    }

    .erp-pagination a,
    .erp-pagination span {
        min-width: 34px;
        height: 34px;
        font-size: 13px;
    }
}

@media (display-mode: standalone) {
    .urstylle-menu-shell {
        padding-top: env(safe-area-inset-top);
    }
}

.calendar-head,
.calendar-head.erp-card-header,
.calendar-grid,
.calendar-grid.erp-card {
    display: grid !important;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.calendar-head.erp-card-header {
    align-items: center;
    justify-content: stretch;
}

@media (max-width: 900px) {
    .calendar-head,
    .calendar-head.erp-card-header {
        flex-direction: initial;
        gap: 3px;
        padding: 8px 6px;
    }

    .calendar-head > div {
        font-size: 0 !important;
        line-height: 1;
    }

    .calendar-head > div::before {
        content: attr(data-short);
        color: var(--erp-text-soft);
        font-size: 10px;
        font-weight: 900;
        text-transform: lowercase;
    }

    .calendar-head > div::first-letter {
        font-size: 0;
    }

    .calendar-grid,
    .calendar-grid.erp-card {
        width: 100%;
        max-width: 100%;
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }
}
/* =========================================================
   V160_TELAS_CORRIGIDAS
   OBJETIVO: Responsividade para formulários corrigidos.
   ========================================================= */
@media (max-width: 992px) {
    .erp-grid-2 .erp-form-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .erp-panel.erp-form {
        padding: 16px;
    }

    .erp-card > .erp-form {
        padding: 16px;
    }

    .erp-panel > .erp-grid {
        padding: 16px;
    }

    .erp-panel > .erp-table-wrapper,
    .erp-card > .erp-table-wrapper {
        margin: 0 16px 16px;
    }
}
