/**
 * Mobile-native UX — Central de Aplicativos Rodrigo Patrício
 * Breakpoint principal: max-width 1023px (lg: Tailwind)
 */

:root {
    --mobile-touch-min: 48px;
    --mobile-font-base: 16px;
    --mobile-font-sm: 14px;
    --mobile-safe-bottom: env(safe-area-inset-bottom, 0px);
    --mobile-safe-top: env(safe-area-inset-top, 0px);
}

/* Sidebar — scrollbar invisível; scroll por wheel/trackpad/touch (só nav) */
.sidebar-nav-scroll {
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.sidebar-nav-scroll::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

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

    body {
        overflow-x: hidden;
    }

    /* Safe areas (notch / home indicator) */
    #sidebar {
        padding-top: var(--mobile-safe-top);
        padding-bottom: var(--mobile-safe-bottom);
    }

    main > header {
        padding-top: max(0px, var(--mobile-safe-top));
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
    }

    main > .flex-1.overflow-y-auto {
        padding-left: max(1rem, env(safe-area-inset-left));
        padding-right: max(1rem, env(safe-area-inset-right));
        padding-bottom: calc(1rem + var(--mobile-safe-bottom));
        -webkit-overflow-scrolling: touch;
    }

    /* Tipografia legível */
    main h2 {
        font-size: 1.25rem !important;
        line-height: 1.35 !important;
    }

    main h3 {
        font-size: 1.125rem !important;
    }

    main p,
    main label,
    main .text-sm,
    main .text-xs {
        line-height: 1.5;
    }

    main label {
        font-size: var(--mobile-font-sm) !important;
    }

    /* Botões e links de ação — touch target mínimo 48px */
    main button:not(.p-2):not(.btn-filtro),
    main a.inline-flex.items-center,
    main input[type="submit"],
    main .btn,
    main .btn-mobile {
        min-height: var(--mobile-touch-min);
        font-size: var(--mobile-font-base) !important;
    }

    main .p-2 {
        min-width: var(--mobile-touch-min);
        min-height: var(--mobile-touch-min);
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Ações primárias em largura total */
    main .flex.justify-center > button,
    main .flex.justify-center > a.inline-flex,
    main form > button[type="submit"]:last-child {
        width: 100%;
        justify-content: center;
    }

    /* Formulários */
    main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    main select,
    main textarea {
        font-size: var(--mobile-font-base) !important;
        min-height: var(--mobile-touch-min);
    }

    main textarea {
        min-height: 120px;
    }

    /* Zonas de upload / drag-and-drop */
    #dropZone,
    [id*="dropZone"],
    [id*="drop-zone"],
    .upload-zone,
    #upload-box,
    [id^="upload-box"] {
        padding: 2rem 1rem !important;
        min-height: 140px;
    }

    /* Cabeçalhos hero dos módulos */
    .bg-gradient-to-r.rounded-2xl {
        padding: 1.25rem !important;
    }

    .bg-gradient-to-r.rounded-2xl h2 {
        font-size: 1.25rem !important;
    }

    .bg-gradient-to-r.rounded-2xl p {
        font-size: var(--mobile-font-sm) !important;
    }

    /* Cards de estatísticas */
    main .grid.grid-cols-2,
    main .grid.grid-cols-2.sm\:grid-cols-4 {
        gap: 0.75rem;
    }

    main .grid.grid-cols-2 .text-3xl,
    main .resumo-card .text-2xl {
        font-size: 1.75rem !important;
    }

    /* Sidebar — itens maiores e legíveis */
    #sidebar {
        width: 18rem;
        max-width: 85vw;
    }

    #sidebar nav a,
    #sidebar footer a,
    #sidebar footer button {
        min-height: var(--mobile-touch-min);
        padding-top: 0.75rem !important;
        padding-bottom: 0.75rem !important;
    }

    #sidebar nav a span.text-sm,
    #sidebar footer span.text-sm {
        font-size: 1rem !important;
    }

    #sidebar nav p.text-\[10px\] {
        font-size: 0.6875rem !important;
    }

    /* Top bar */
    header button.lg\:hidden {
        width: var(--mobile-touch-min);
        height: var(--mobile-touch-min);
    }

    header h2 {
        font-size: 1.0625rem !important;
    }

    /* Tabelas empilhadas (classe mobile-stack-table + data-label nos td) */
    .mobile-stack-table {
        overflow-x: visible !important;
    }

    .mobile-stack-table table {
        min-width: 0 !important;
    }

    .mobile-stack-table thead {
        display: none;
    }

    .mobile-stack-table tbody tr {
        display: block;
        margin-bottom: 0.75rem;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    }

    .mobile-stack-table tbody td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0.75rem;
        padding: 0.625rem 1rem;
        border: none;
        font-size: var(--mobile-font-sm);
        text-align: right;
    }

    .mobile-stack-table tbody td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #6b7280;
        text-align: left;
        flex-shrink: 0;
        max-width: 45%;
    }

    .mobile-stack-table tbody td[data-label="Ações"] {
        justify-content: flex-end;
        padding-top: 0.75rem;
        border-top: 1px solid #f3f4f6;
    }

    .mobile-stack-table tbody td[data-label="Ações"]::before {
        display: none;
    }

    /* Esconde tabela desktop quando há versão mobile dedicada */
    .hide-on-mobile {
        display: none !important;
    }

    .show-on-mobile {
        display: block !important;
    }

    /* Filtros e chips */
    .btn-filtro,
    .resumo-card {
        min-height: 44px;
        padding: 0.625rem 1rem !important;
    }

    /* Passos de wizard — rótulos visíveis no celular */
    .step-label {
        display: inline !important;
        font-size: 0.75rem !important;
    }

    /* Botões mobile do SITRAM e similares */
    .btn-mobile {
        min-height: var(--mobile-touch-min);
        padding: 0.75rem 1rem !important;
        font-size: 0.9375rem !important;
        border-radius: 10px;
    }

    .btn-mobile-primary {
        background: #2563eb;
        color: #fff;
    }

    .btn-mobile-secondary {
        background: #f1f5f9;
        color: #1f2937;
        border: 1px solid #e2e8f0;
    }

    .btn-mobile-danger {
        background: #fef2f2;
        color: #dc2626;
        border: 1px solid #fecaca;
    }

    .btn-mobile-warning {
        background: #fffbeb;
        color: #92400e;
        border: 1px solid #fcd34d;
    }

    /* Cards administrativos */
    .admin-mobile-card {
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        padding: 1rem;
        margin-bottom: 0.75rem;
    }

    .admin-mobile-card-actions {
        display: flex;
        gap: 0.5rem;
        margin-top: 0.75rem;
        padding-top: 0.75rem;
        border-top: 1px solid #f3f4f6;
    }

    .admin-mobile-card-actions a,
    .admin-mobile-card-actions button {
        flex: 1;
        justify-content: center;
        min-height: var(--mobile-touch-min);
        border-radius: 10px;
        font-weight: 600;
        font-size: var(--mobile-font-sm);
    }

    /* Login */
    input#username,
    input#password {
        min-height: var(--mobile-touch-min);
        font-size: var(--mobile-font-base) !important;
    }

    form button[type="submit"] {
        min-height: 52px;
        font-size: 1rem !important;
    }

    /* Decoração pesada — ocultar no mobile */
    .pointer-events-none.-z-10 {
        display: none;
    }

    /* Legacy SITRAM index */
    .sitram-legacy-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
        padding: 0 1rem;
    }

    .sitram-legacy-grid .card {
        padding: 1.5rem 1rem !important;
        border-radius: 14px;
    }

    .sitram-legacy-grid .card h3 {
        font-size: 1.125rem !important;
    }

    .sitram-legacy-grid .card p {
        font-size: var(--mobile-font-sm) !important;
        margin-bottom: 1.25rem !important;
    }

    .sitram-legacy-grid .btn {
        width: 100%;
        min-height: var(--mobile-touch-min);
        font-size: var(--mobile-font-base) !important;
        justify-content: center;
    }

    .sitram-legacy-header {
        padding: 0 0.5rem;
        margin-bottom: 1.5rem !important;
    }

    .sitram-legacy-header h2 {
        font-size: 1.25rem !important;
    }

    /* ── Módulos upload SPED/FS (compartilhado) ── */
    .upload-module-mobile {
        width: 100%;
    }

    .upload-module-mobile .upload-panel {
        padding: 1rem !important;
    }

    .upload-module-mobile .upload-drop-zone {
        padding: 2rem 1rem !important;
        min-height: 148px;
        border-radius: 14px;
        -webkit-tap-highlight-color: transparent;
    }

    .upload-module-mobile .upload-drop-zone .material-icons {
        font-size: 44px !important;
    }

    .upload-module-mobile .upload-file-info {
        padding: 0.875rem 1rem !important;
        border-radius: 12px;
        gap: 0.75rem;
    }

    .upload-module-mobile .upload-file-info button {
        min-width: var(--mobile-touch-min);
        min-height: var(--mobile-touch-min);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
    }

    .upload-module-mobile .upload-actions {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        width: 100%;
    }

    .upload-module-mobile .upload-actions .btn-upload-primary,
    .upload-module-mobile .upload-actions .btn-upload-secondary,
    .upload-module-mobile .upload-actions .btn-upload-success {
        width: 100%;
        min-height: var(--mobile-touch-min);
        justify-content: center;
        font-size: var(--mobile-font-base) !important;
        border-radius: 12px;
        padding: 0.75rem 1.25rem;
    }

    .upload-module-mobile .upload-stat-grid {
        gap: 0.625rem;
    }

    .upload-module-mobile .upload-stat-card {
        padding: 0.875rem 0.625rem !important;
        border-radius: 12px;
    }

    .upload-module-mobile .upload-stat-card .stat-value {
        font-size: 1.625rem !important;
        line-height: 1.2;
    }

    .upload-module-mobile .upload-stat-card .stat-label {
        font-size: 0.6875rem !important;
        line-height: 1.35;
    }

    .upload-status-banner {
        flex-wrap: wrap;
        padding: 1rem !important;
        border-radius: 12px;
        gap: 0.75rem;
    }

    .upload-status-banner .material-icons {
        flex-shrink: 0;
    }

    .upload-status-banner p {
        font-size: var(--mobile-font-sm) !important;
        line-height: 1.5;
        flex: 1;
        min-width: 0;
    }

    .log-mobile-card {
        padding: 1rem !important;
        border-radius: 14px;
    }

    .log-mobile-card .log-header {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .log-mobile-card .log-list {
        max-height: min(50vh, 280px);
        font-size: var(--mobile-font-sm);
        -webkit-overflow-scrolling: touch;
    }

    .log-mobile-card .log-entry {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
        padding: 0.625rem 0;
    }

    .log-mobile-card .log-entry .log-line-num {
        width: auto;
        font-weight: 600;
        color: #6b7280;
    }

    .upload-loading-overlay {
        padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
    }

    .upload-loading-overlay p {
        font-size: var(--mobile-font-base) !important;
        text-align: center;
        padding: 0 1.5rem;
    }

    .upload-module-mobile .upload-config-row {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.5rem;
    }

    .upload-module-mobile .upload-config-row input[type="number"] {
        width: 100% !important;
    }

    .upload-module-mobile .upload-config-hint {
        font-size: var(--mobile-font-sm);
        line-height: 1.45;
    }

    .upload-module-mobile textarea.upload-textarea {
        min-height: 160px;
        font-size: var(--mobile-font-sm) !important;
    }

    /* Conciliar — mobile dentro do shell dashboard */
    .conciliar-app .table-container.mobile-stack-table {
        overflow-x: visible;
        max-height: none;
    }

    .conciliar-app .action-section {
        flex-direction: column;
        align-items: stretch;
    }

    .conciliar-app .action-section .btn {
        width: 100%;
        min-height: var(--mobile-touch-min);
        justify-content: center;
    }

    .conciliar-app .export-buttons {
        flex-direction: column;
        align-items: stretch;
    }

    .conciliar-app .export-buttons .btn-export {
        width: 100%;
        min-height: var(--mobile-touch-min);
        justify-content: center;
    }

    .conciliar-app .details-tabs {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .conciliar-app .detail-tab {
        flex: 1 1 auto;
        min-height: 44px;
        font-size: var(--mobile-font-sm) !important;
        padding: 0.625rem 0.75rem;
        text-align: center;
    }

    .conciliar-app .tabs {
        flex-wrap: wrap;
    }

    .conciliar-app .tab-btn {
        flex: 1;
        min-height: 44px;
        text-align: center;
    }

    .conciliar-app .main-content {
        padding: 1rem !important;
        border-radius: 14px;
    }

    .conciliar-app .conciliar-batch-header {
        padding: 1rem !important;
        border-radius: 14px;
    }

    .conciliar-app .batch-info {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .conciliar-app .btn-new-batch {
        width: 100%;
        min-height: var(--mobile-touch-min);
        text-align: center;
        justify-content: center;
    }

    .conciliar-app .layout-info {
        padding: 1rem !important;
    }

    .conciliar-app .card-body .btn-primary {
        width: 100%;
        min-height: var(--mobile-touch-min);
        justify-content: center;
    }

    .conciliar-app .siga-servidor-row > div {
        flex-direction: column !important;
    }

    .conciliar-app .siga-servidor-row select,
    .conciliar-app .siga-servidor-row .btn {
        width: 100%;
        min-height: var(--mobile-touch-min);
    }

    /* Confere — ações empilhadas */
    .confere-module-mobile .confere-method-btn {
        min-height: var(--mobile-touch-min);
    }

    .confere-module-mobile .confere-siga-actions {
        flex-direction: column;
        width: 100%;
    }

    .confere-module-mobile .confere-siga-actions button {
        width: 100%;
        min-height: var(--mobile-touch-min);
    }

    .confere-module-mobile #btn-usar-siga-servidor {
        width: 100%;
        min-height: var(--mobile-touch-min);
    }

    /* ── SIGA Lite (coleta, arquivos, extensão) ── */
    .siga-module {
        padding-bottom: calc(0.5rem + var(--mobile-safe-bottom));
    }

    .siga-module .siga-page-nav {
        display: flex;
        gap: 0.5rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 0.25rem;
        margin-bottom: 0.25rem;
    }

    .siga-module .siga-page-nav::-webkit-scrollbar {
        display: none;
    }

    .siga-module .siga-page-nav a {
        flex-shrink: 0;
        min-height: 44px;
        padding: 0.5rem 1rem;
        border-radius: 9999px;
        font-size: var(--mobile-font-sm);
        font-weight: 600;
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        border: 1px solid #e2e8f0;
        background: #fff;
        color: #475569;
        text-decoration: none;
    }

    .siga-module .siga-page-nav a.is-active {
        background: #0891b2;
        border-color: #0891b2;
        color: #fff;
    }

    .siga-module .siga-card {
        border-radius: 14px;
        padding: 1.125rem !important;
    }

    .siga-module .siga-section-title {
        font-size: 0.6875rem !important;
        letter-spacing: 0.08em;
    }

    /* Token banner */
    .siga-module #token-banner .token-banner-inner {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 0.5rem;
        padding: 1rem !important;
    }

    .siga-module #token-banner .token-banner-meta {
        margin-left: 0 !important;
        max-width: 100%;
    }

    .siga-module #token-banner .bg-amber-50 {
        padding: 1rem !important;
    }

    .siga-module #token-banner .grid.sm\:grid-cols-2 {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .siga-module #token-banner a.flex.items-center {
        width: 100%;
        justify-content: center;
        min-height: var(--mobile-touch-min);
        font-size: var(--mobile-font-base) !important;
    }

    /* Busca empresas */
    .siga-module #empresa-busca {
        min-height: var(--mobile-touch-min);
        font-size: var(--mobile-font-base) !important;
        padding-left: 2.5rem !important;
    }

    .siga-module .empresa-list {
        max-height: min(42vh, 320px);
    }

    .siga-module .empresa-item {
        min-height: var(--mobile-touch-min);
        padding: 0.75rem 0.5rem !important;
        border-radius: 10px;
        margin-bottom: 2px;
    }

    .siga-module .empresa-item.selected {
        border-left-width: 4px;
    }

    .siga-module .empresa-item p.text-xs {
        font-size: var(--mobile-font-sm) !important;
    }

    .siga-module .star-btn {
        min-width: var(--mobile-touch-min);
        min-height: var(--mobile-touch-min);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.35rem !important;
    }

    /* Chips tipos de documento */
    .siga-module .chip {
        min-height: 44px;
        padding: 0.5rem 1rem !important;
        font-size: var(--mobile-font-sm) !important;
    }

    .siga-module .mes-nav button {
        width: var(--mobile-touch-min) !important;
        height: var(--mobile-touch-min) !important;
    }

    .siga-module #mes-display {
        font-size: 1rem !important;
    }

    /* Preview grid — 1 coluna estreita, 2 colunas a partir de 360px */
    .siga-module .preview-grid {
        grid-template-columns: 1fr;
        gap: 0.5rem;
    }

    @media (min-width: 360px) {
        .siga-module .preview-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    .siga-module .preview-item {
        padding: 0.75rem !important;
    }

    .siga-module .preview-label {
        font-size: 0.625rem !important;
    }

    .siga-module .preview-valor {
        font-size: 0.9375rem !important;
    }

    /* Ações primárias — barra fixa no rodapé */
    .siga-module .siga-actions-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 25;
        padding: 0.75rem max(1rem, env(safe-area-inset-left)) calc(0.75rem + var(--mobile-safe-bottom)) max(1rem, env(safe-area-inset-right));
        background: linear-gradient(to top, #fff 85%, rgba(255, 255, 255, 0.92));
        border-top: 1px solid #e2e8f0;
        box-shadow: 0 -4px 24px rgba(15, 23, 42, 0.08);
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        transform: translateY(100%);
        opacity: 0;
        pointer-events: none;
        transition: transform 0.25s ease, opacity 0.2s ease;
    }

    .siga-module .siga-actions-bar.is-visible {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }

    .siga-module .siga-actions-bar button,
    .siga-module .siga-actions-bar a {
        width: 100%;
        justify-content: center;
        min-height: 52px;
        font-size: var(--mobile-font-base) !important;
        border-radius: 12px;
    }

    .siga-module.has-sticky-cta {
        padding-bottom: calc(6.5rem + var(--mobile-safe-bottom));
    }

    /* Fila background jobs */
    .siga-module .fila-job-item {
        padding: 0.875rem !important;
        border-radius: 12px;
    }

    .siga-module .fila-cancel-btn {
        min-height: 40px;
        min-width: 4.5rem;
        padding: 0.4rem 0.65rem !important;
        font-size: var(--mobile-font-sm) !important;
    }

    .siga-module .fila-status-badge {
        font-size: var(--mobile-font-sm) !important;
        padding: 0.25rem 0.5rem;
    }

    .siga-module .etapa-item {
        min-height: 44px;
        font-size: var(--mobile-font-sm) !important;
        padding: 0.55rem 0 !important;
    }

    .siga-module .etapa-icon {
        width: 1.75rem !important;
        height: 1.75rem !important;
    }

    .siga-module #btn-importar-empresas,
    .siga-module #btn-continuar-importar,
    .siga-module #btn-continuar-importar-lista {
        width: 100%;
        min-height: var(--mobile-touch-min);
        justify-content: center;
    }

    /* SIGA Arquivos */
    .siga-module .siga-arquivos-header {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.75rem;
    }

    .siga-module .siga-arquivos-toolbar {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.5rem;
    }

    .siga-module .siga-arquivos-toolbar > * {
        width: 100% !important;
        min-height: var(--mobile-touch-min);
        font-size: var(--mobile-font-base) !important;
    }

    .siga-module .siga-arquivos-toolbar a {
        justify-content: center;
        font-weight: 600;
    }

    .siga-module .file-card {
        padding: 1rem max(1rem, env(safe-area-inset-right)) 1rem max(1rem, env(safe-area-inset-left));
        border-bottom: 1px solid #e2e8f0;
        background: #fff;
    }

    .siga-module .file-card:first-child {
        border-top: 1px solid #f1f5f9;
    }

    .siga-module .file-card-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
        margin-top: 0.75rem;
    }

    .siga-module .file-card-actions > a,
    .siga-module .file-card-actions > button {
        min-height: var(--mobile-touch-min);
        font-size: var(--mobile-font-sm) !important;
        font-weight: 600;
        border-radius: 10px;
        flex: none;
        min-width: 0;
        width: 100%;
    }

    .siga-module .file-card-actions > button:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }

    .siga-module #loading-wrap,
    .siga-module #vazio {
        padding: 2.5rem 1rem !important;
    }

    .siga-module #loading-wrap .material-icons,
    .siga-module #vazio .material-icons {
        font-size: 3rem !important;
    }

    .siga-module #siga-acao-feedback {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.75rem;
        padding: 1rem !important;
    }

    .siga-module #siga-acao-feedback a {
        width: 100%;
        justify-content: center;
        min-height: var(--mobile-touch-min);
    }

    .siga-module .stat-chip {
        font-size: 0.6875rem !important;
        padding: 0.3rem 0.6rem;
    }

    /* SIGA extensão / settings */
    .siga-module .siga-settings-actions {
        flex-direction: column;
        align-items: stretch !important;
        gap: 0.5rem;
    }

    .siga-module .siga-settings-actions button {
        width: 100%;
        min-height: var(--mobile-touch-min);
    }

    .siga-module .siga-tab-bar {
        display: flex;
        gap: 0;
        border-bottom: 1px solid #e2e8f0;
        margin-bottom: 1rem;
    }

    .siga-module .siga-tab-btn {
        flex: 1;
        min-height: var(--mobile-touch-min);
        display: flex;
        align-items: center;
        justify-content: center;
        border-bottom: 3px solid transparent;
        margin-bottom: -1px;
    }

    .siga-module .siga-tab-btn.active {
        border-bottom-color: #2563eb;
    }

    .siga-module .siga-device-card,
    .siga-module .siga-planilha-card,
    .siga-module .siga-empresa-settings-card {
        background: #f8fafc;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        padding: 1rem;
        margin-bottom: 0.75rem;
    }

    .siga-module .siga-device-card-actions,
    .siga-module .siga-planilha-card-actions {
        display: flex;
        gap: 0.5rem;
        margin-top: 0.75rem;
        padding-top: 0.75rem;
        border-top: 1px solid #e2e8f0;
    }

    .siga-module .siga-device-card-actions button,
    .siga-module .siga-planilha-card-actions a,
    .siga-module .siga-planilha-card-actions button {
        flex: 1;
        min-height: var(--mobile-touch-min);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 10px;
        font-weight: 600;
        font-size: var(--mobile-font-sm);
    }

    .siga-module .siga-settings-table-wrap {
        display: none;
    }

    .siga-module .siga-settings-cards {
        display: block;
    }

    .siga-module #comando-display {
        font-size: 1.125rem !important;
        word-break: break-all;
        padding: 1rem !important;
    }

    @media (max-width: 768px) {
        .upload-module-mobile .upload-stat-grid.grid-cols-2.sm\:grid-cols-4 {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    @media (max-width: 414px) {
        .upload-module-mobile .upload-hero-icon {
            width: 2.5rem !important;
            height: 2.5rem !important;
        }

        .upload-module-mobile .upload-hero-icon .material-icons {
            font-size: 22px !important;
        }
    }

    @media (max-width: 375px) {
        .upload-module-mobile .upload-stat-card .stat-value {
            font-size: 1.375rem !important;
        }

        .upload-module-mobile .upload-drop-zone {
            min-height: 132px;
            padding: 1.5rem 0.75rem !important;
        }
    }

    @media (max-width: 320px) {
        .upload-module-mobile .upload-stat-grid {
            grid-template-columns: 1fr 1fr;
            gap: 0.5rem;
        }

        .upload-module-mobile .upload-stat-card .stat-label {
            font-size: 0.625rem !important;
        }
    }
}

@media (min-width: 1024px) {
    .show-on-mobile {
        display: none !important;
    }

    .siga-module .siga-page-nav {
        display: none;
    }

    .siga-module .siga-actions-bar {
        display: none !important;
    }

    .siga-module .siga-settings-table-wrap {
        display: block;
    }

    .siga-module .siga-settings-cards {
        display: none;
    }
}
