/* Responsive.css - Estilos para mobile */

/* Tablets (768px - 1024px) */
@media screen and (max-width: 1024px) {
    .container {
        max-width: 90%;
        padding: 15px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(3, 1fr);
    }
    
    table {
        font-size: 13px;
    }
    
    th, td {
        padding: 8px 5px;
    }
}

/* Mobile Landscape (480px - 768px) */
@media screen and (max-width: 768px) {
    body {
        padding: 10px;
    }
    
    .container {
        max-width: 100%;
        padding: 10px;
    }
    
    .header {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .header h1 {
        font-size: 24px;
    }
    
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
    
    .stat-card {
        padding: 15px;
    }
    
    .stat-card .value {
        font-size: 24px;
    }
    
    .form-grid {
        grid-template-columns: 1fr;
    }
    
    .form-group.full-width {
        grid-column: span 1;
    }
    
    .planos-grid {
        grid-template-columns: 1fr;
    }
    
    table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
    
    th, td {
        padding: 8px 10px;
    }
    
    .actions {
        display: flex;
        flex-direction: column;
        gap: 5px;
    }
    
    .actions a, .actions button {
        width: 100%;
        text-align: center;
    }
    
    .user-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        width: 100%;
    }
    
    .logout, .btn-config {
        width: 100%;
        text-align: center;
    }
}

/* Mobile Portrait (até 480px) */
@media screen and (max-width: 480px) {
    h1 {
        font-size: 24px;
    }
    
    h2 {
        font-size: 18px;
    }
    
    .stats-grid {
        grid-template-columns: 1fr;
    }
    
    .stat-card {
        padding: 12px;
    }
    
    .stat-card .value {
        font-size: 22px;
    }
    
    .card {
        padding: 15px;
    }
    
    .form-group label {
        font-size: 14px;
    }
    
    input, select, button {
        padding: 12px 10px;
        font-size: 16px; /* Evita zoom automático no iOS */
    }
    
    .steps {
        flex-direction: column;
        gap: 15px;
    }
    
    .step:not(:last-child):after {
        content: '↓';
        right: auto;
        top: auto;
        bottom: -15px;
        left: 50%;
        transform: translateX(-50%);
    }
    
    .payment-methods {
        grid-template-columns: 1fr;
    }
    
    .license-key {
        font-size: 14px;
        word-break: break-all;
    }
    
    .referencia-numero {
        font-size: 24px;
        word-break: break-all;
    }
    
    .test-buttons {
        grid-template-columns: 1fr;
    }
    
    .toast {
        left: 10px;
        right: 10px;
        max-width: none;
        font-size: 14px;
    }
}

/* Touch-friendly improvements */
@media (hover: none) and (pointer: coarse) {
    button, 
    .btn, 
    .payment-method,
    .plano-card {
        min-height: 44px; /* Tamanho mínimo para toque */
    }
    
    input, select {
        font-size: 16px; /* Previne zoom no iOS */
    }
    
    /* Remove hover effects em touch */
    .payment-method:hover,
    .plano-card:hover {
        transform: none;
    }
}

/* Print styles */
@media print {
    .header, .footer, .btn, .actions {
        display: none;
    }
    
    body {
        background: white;
        padding: 0;
    }
    
    .card {
        box-shadow: none;
        border: 1px solid #ddd;
    }
}
