/**
 * ALIBRA - Melhorias Específicas para Mobile
 */

/* Otimizações gerais para touch */
@media (max-width: 768px) {
    /* Prevenir zoom indesejado no iOS */
    input[type="text"],
    input[type="email"],
    input[type="password"],
    input[type="number"],
    input[type="date"],
    select,
    textarea {
        font-size: 16px !important;
    }
    
    /* Melhorar área de toque */
    a, button, input[type="submit"], input[type="button"] {
        min-height: 44px;
        min-width: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Links em tabelas */
    table a,
    table button {
        padding: 8px 12px;
        display: inline-block;
        margin: 2px;
    }
    
    /* Espaçamento entre elementos clicáveis */
    .btn + .btn,
    a + a,
    button + button {
        margin-left: 8px;
    }
    
    /* Melhorar legibilidade */
    body {
        -webkit-text-size-adjust: 100%;
        -moz-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }
    
    /* Títulos menores */
    h1 {
        font-size: 1.8em;
    }
    
    h2 {
        font-size: 1.5em;
    }
    
    h3 {
        font-size: 1.3em;
    }
    
    h4 {
        font-size: 1.1em;
    }
    
    /* Cards com melhor espaçamento */
    .card {
        padding: 20px;
        margin-bottom: 15px;
    }
    
    .card-icon {
        font-size: 2.5em;
    }
    
    .card-info h3 {
        font-size: 1.8em;
    }
    
    /* Info boxes */
    .info-box,
    .info-section {
        padding: 15px;
        font-size: 0.95em;
    }
    
    .info-box h3,
    .info-section h3 {
        font-size: 1.1em;
    }
    
    /* Quick actions */
    .quick-actions,
    .quick-links {
        padding: 15px;
    }
    
    .action-btn,
    .link-card {
        padding: 20px 15px;
        min-height: 100px;
    }
    
    .action-icon,
    .link-icon {
        font-size: 2.5em;
    }
    
    /* Profile card */
    .profile-card {
        padding: 20px;
        gap: 20px;
    }
    
    .profile-photo img,
    .profile-placeholder {
        width: 80px;
        height: 80px;
        font-size: 2em;
    }
    
    /* Status cards */
    .status-card {
        padding: 20px;
    }
    
    .status-icon {
        font-size: 2.5em;
    }
    
    .status-text {
        font-size: 1.3em;
    }
    
    /* Formulários */
    .form-group {
        margin-bottom: 18px;
    }
    
    .form-group label {
        font-size: 1em;
        margin-bottom: 8px;
    }
    
    /* Alertas mais visíveis */
    .alert {
        padding: 12px;
        margin-bottom: 15px;
        font-size: 0.95em;
    }
    
    /* Tabelas - indicador de scroll */
    .table-container {
        position: relative;
    }
    
    .table-container::before {
        content: '👉 Deslize para ver mais';
        display: block;
        background: #fff3cd;
        color: #856404;
        padding: 8px;
        text-align: center;
        border-radius: 5px 5px 0 0;
        font-size: 0.85em;
        font-weight: bold;
    }
    
    /* Melhorar visualização de ações em tabelas */
    table td:last-child {
        position: sticky;
        right: 0;
        background: white;
        box-shadow: -2px 0 5px rgba(0,0,0,0.1);
    }
    
    table thead th:last-child {
        position: sticky;
        right: 0;
        background: #667eea;
        z-index: 11;
    }
    
    /* Scroll suave */
    * {
        -webkit-overflow-scrolling: touch;
    }
    
    /* Remover outline em touch */
    button:focus,
    a:focus,
    input:focus,
    select:focus,
    textarea:focus {
        outline: 2px solid #667eea;
        outline-offset: 2px;
    }
    
    /* Melhorar botão de logout */
    .btn-logout {
        padding: 8px 16px;
        font-size: 0.9em;
    }
    
    /* Ajustar grid de filtros */
    .filters {
        padding: 15px;
        gap: 12px;
    }
    
    .filter-group label {
        font-size: 0.95em;
    }
    
    .filter-group input,
    .filter-group select {
        padding: 10px;
    }
    
    /* Melhorar modal */
    .modal-content {
        max-height: 85vh;
        overflow-y: auto;
    }
    
    /* Botão de fechar modal maior */
    .close {
        font-size: 32px;
        padding: 5px 10px;
        min-width: 44px;
        min-height: 44px;
    }
    
    /* Ajustar colaborador item (relatórios) */
    .colaborador-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        padding: 15px;
    }
    
    .colaborador-stats {
        flex-wrap: wrap;
        gap: 8px;
        width: 100%;
    }
    
    .stat-badge {
        font-size: 0.85em;
        padding: 6px 10px;
    }
    
    /* Stats grid */
    .stats-grid {
        gap: 12px;
    }
    
    .stat-item {
        padding: 15px;
    }
    
    .stat-label {
        font-size: 0.85em;
    }
    
    .stat-value {
        font-size: 1.8em;
    }
    
    /* Relatorio section */
    .relatorio-section {
        padding: 15px;
        margin-bottom: 20px;
    }
    
    .relatorio-section h3 {
        font-size: 1.2em;
        margin-bottom: 15px;
    }
    
    /* Welcome section */
    .welcome-section {
        margin-bottom: 20px;
    }
    
    /* Ajustar espaçamento do main content */
    .main-content h2 {
        font-size: 1.5em;
        margin-bottom: 20px;
    }
    
    /* Melhorar visualização de listas */
    ul, ol {
        padding-left: 25px;
    }
    
    li {
        margin-bottom: 8px;
        line-height: 1.5;
    }
    
    /* Ajustar imagens */
    img {
        max-width: 100%;
        height: auto;
    }
    
    /* Prevenir quebra de layout */
    * {
        max-width: 100%;
        word-wrap: break-word;
    }
    
    /* Melhorar contraste em links */
    a {
        text-decoration: underline;
    }
    
    .sidebar a,
    .btn,
    .action-btn,
    .link-card {
        text-decoration: none;
    }
}

/* Landscape em celular */
@media (max-width: 768px) and (orientation: landscape) {
    .header {
        padding: 0 10px;
    }
    
    .logo h1 {
        font-size: 1em;
    }
    
    .main-content {
        padding: 10px;
    }
    
    .modal-content {
        margin: 5% auto;
        max-height: 90vh;
    }
}

/* Tablets em portrait */
@media (min-width: 769px) and (max-width: 1024px) {
    .container {
        grid-template-columns: 200px 1fr;
    }
    
    .sidebar {
        width: 200px;
    }
    
    .sidebar ul li a {
        padding: 12px 20px;
        font-size: 0.95em;
    }
}
