* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Arial, sans-serif; background: #f0f9ff; color: #333; } header { background: linear-gradient(135deg, #3cb4e5, #62c8f0); color: white; padding: 20px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; box-shadow: 0 3px 10px rgba(60,180,229,0.3); } header h1 { font-size: 1.8em; text-shadow: 1px 1px 3px rgba(0,0,0,0.15); } header .subtitle { font-size: 0.9em; color: #000000; font-weight: bold; } .btn-register { background: white; color: #3cb4e5; border: none; padding: 10px 20px; border-radius: 25px; font-size: 1em; font-weight: bold; cursor: pointer; box-shadow: 0 2px 5px rgba(0,0,0,0.15); } .btn-register:hover { background: #e6f7fd; transform: scale(1.02); } main { max-width: 900px; margin: 0 auto; padding: 20px; } .search-section { background: white; border-radius: 15px; padding: 20px; margin-bottom: 20px; box-shadow: 0 3px 10px rgba(60,180,229,0.1); border-top: 4px solid #cc0000; } .search-section h2 { margin-bottom: 15px; color: #2a9fd0; } .filters { display: flex; gap: 10px; flex-wrap: wrap; } .filters select { flex: 1; padding: 10px; border: 2px solid #ade4f7; border-radius: 10px; font-size: 1em; min-width: 150px; } .filters select:focus { border-color: #3cb4e5; outline: none; } .filters button { padding: 10px 25px; background: #3cb4e5; color: white; border: none; border-radius: 10px; font-size: 1em; cursor: pointer; font-weight: bold; } .filters button:hover { background: #2a9fd0; } .workers-section h2 { margin-bottom: 15px; color: #2a9fd0; } .worker-card { background: white; border-radius: 15px; padding: 18px; margin-bottom: 12px; box-shadow: 0 3px 10px rgba(60,180,229,0.1); display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 10px; border-left: 5px solid #cc0000; transition: transform 0.2s; } .worker-card:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(60,180,229,0.2); } .worker-name { font-size: 1.2em; font-weight: bold; margin-bottom: 5px; color: #2a9fd0; } .worker-municipality { color: #666; font-size: 0.9em; margin-bottom: 8px; } .worker-cats { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 8px; } .cat-badge { background: #e6f7fd; color: #2a9fd0; padding: 3px 12px; border-radius: 20px; font-size: 0.8em; font-weight: bold; border: 1px solid #ade4f7; } .worker-bio { color: #555; font-size: 0.9em; } .worker-actions { display: flex; flex-direction: column; gap: 8px; min-width: 120px; } .btn-whatsapp { background: #25d366; color: white; padding: 10px 15px; border-radius: 10px; text-decoration: none; text-align: center; font-size: 0.9em; font-weight: bold; } .btn-whatsapp:hover { background: #1da851; } .btn-call { background: #3cb4e5; color: white; padding: 10px 15px; border-radius: 10px; text-decoration: none; text-align: center; font-size: 0.9em; font-weight: bold; } .btn-call:hover { background: #2a9fd0; } .modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); display: flex; justify-content: center; align-items: center; z-index: 1000; } .modal.hidden { display: none; } .modal-content { background: white; border-radius: 15px; padding: 30px; width: 90%; max-width: 500px; max-height: 90vh; overflow-y: auto; box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .modal-content h2 { margin-bottom: 20px; color: #3cb4e5; border-bottom: 2px solid #e6f7fd; padding-bottom: 10px; } .form-group { margin-bottom: 15px; } .form-group input, .form-group select, .form-group textarea { width: 100%; padding: 12px; border: 2px solid #ade4f7; border-radius: 10px; font-size: 1em; } .form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: #3cb4e5; outline: none; } .btn-submit { width: 100%; padding: 14px; background: #3cb4e5; color: white; border: none; border-radius: 10px; font-size: 1.1em; cursor: pointer; font-weight: bold; margin-bottom: 10px; } .btn-submit:hover { background: #2a9fd0; } .btn-cancel { width: 100%; padding: 12px; background: #f0f0f0; color: #666; border: none; border-radius: 10px; font-size: 1em; cursor: pointer; } .success { color: #2a9fd0; background: #e6f7fd; padding: 10px; border-radius: 8px; margin-top: 10px; text-align: center; } .error { color: #c1121f; background: #ffe0e0; padding: 10px; border-radius: 8px; margin-top: 10px; text-align: center; } footer { text-align: center; padding: 20px; color: #666; font-size: 0.9em; background: white; margin-top: 20px; border-top: 3px solid #cc0000; } @media (max-width: 600px) { header { flex-direction: column; text-align: center; } .worker-card { flex-direction: column; } .worker-actions { width: 100%; flex-direction: row; } }