* {margin: 0; padding: 0; box-sizing: border-box;}
:root {--primary-color: rgb(120,15,15); --primary-hover: rgb(150,20,20); --primary-dark: rgb(90,10,10); --text-dark: #333; --text-light: #666; --bg-light: #f5f5f5; --white: #fff; --border-color: #ddd; --success: #28a745; --error: #dc3545;}
body {font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%); min-height: 100vh; color: var(--text-dark); line-height: 1.6;}
.container {max-width: 800px; margin: 40px auto; padding: 40px; background: var(--white); border-radius: 15px; box-shadow: 0 10px 40px rgba(0,0,0,0.1);}
.container-admin {max-width: 1200px; margin: 20px auto; padding: 20px;}
.header {text-align: center; margin-bottom: 40px; padding-bottom: 30px; border-bottom: 3px solid var(--primary-color);}
.logo {width: 80px; height: 80px; margin-bottom: 20px; object-fit: contain; filter: drop-shadow(0 4px 6px rgba(0,0,0,0.1));}
.logo-admin, .logo-small {width: 50px; height: 50px; object-fit: contain;}
.header h1 {color: var(--primary-color); font-size: 2.5em; margin-bottom: 10px; font-weight: 700;}
.subtitle {color: var(--text-light); font-size: 1.1em; margin-top: 10px;}
.alert {padding: 15px 20px; border-radius: 8px; margin-bottom: 25px; font-weight: 500; animation: slideIn 0.3s ease-out;}
.alert-success {background-color: #d4edda; color: #155724; border: 1px solid #c3e6cb;}
.alert-error {background-color: #f8d7da; color: #721c24; border: 1px solid #f5c6cb;}
.form-group {margin-bottom: 25px;}
.form-group label {display: block; color: var(--primary-color); font-weight: 600; margin-bottom: 8px; font-size: 1.1em;}
.form-group input, .form-group textarea, .form-group select {width: 100%; padding: 15px; border: 2px solid var(--border-color); border-radius: 8px; font-size: 1em; font-family: inherit; transition: all 0.3s ease; background-color: var(--white);}
.form-group select {cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23780F0F' d='M6 9L1 4h10z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 15px center; padding-right: 40px;}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus {outline: none; border-color: var(--primary-color); box-shadow: 0 0 0 3px rgba(120,15,15,0.1);}
.form-group textarea {resize: vertical; min-height: 150px;}
input[type="file"] {padding: 10px; border: 2px dashed var(--border-color); border-radius: 8px; cursor: pointer; background-color: var(--bg-light);}
.info-anonimo {display: flex; align-items: center; gap: 12px; padding: 15px 20px; background-color: rgba(120,15,15,0.05); border-left: 4px solid var(--primary-color); border-radius: 8px; margin-bottom: 25px; color: var(--text-dark);}
.icon-lock {width: 24px; height: 24px; color: var(--primary-color); flex-shrink: 0;}
.btn-enviar {width: 100%; padding: 16px 32px; background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%); color: var(--white); border: none; border-radius: 8px; font-size: 1.1em; font-weight: 600; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 15px rgba(120,15,15,0.3);}
.btn-enviar:hover {transform: translateY(-2px); box-shadow: 0 6px 20px rgba(120,15,15,0.4); background: linear-gradient(135deg, var(--primary-hover) 0%, var(--primary-color) 100%);}
.btn-formulario {padding: 10px 20px; background-color: #2196F3; color: var(--white); text-decoration: none; border-radius: 8px; font-weight: 600; transition: all 0.3s ease;}
.btn-logout {padding: 10px 25px; background-color: var(--primary-color); color: var(--white); text-decoration: none; border-radius: 8px; font-weight: 600; transition: all 0.3s ease;}
.btn-download {padding: 12px 25px; background: linear-gradient(135deg, #28a745 0%, #218838 100%); color: var(--white); text-decoration: none; border-radius: 10px; font-weight: 600; box-shadow: 0 4px 15px rgba(40,167,69,0.3); display: inline-block;}
.btn-action {padding: 8px 16px; border-radius: 6px; font-size: 0.9em; font-weight: 600; transition: all 0.3s ease; display: inline-block; border: none; cursor: pointer; font-family: inherit; text-decoration: none; color: var(--white);}
.btn-edit {background-color: #2196F3;}
.btn-deactivate {background-color: #ff9800;}
.btn-activate {background-color: var(--success);}
.btn-delete {padding: 8px 20px; background-color: var(--error); color: var(--white); border: none; border-radius: 6px; font-size: 0.9em; font-weight: 600; cursor: pointer; transition: all 0.3s ease; font-family: inherit;}
.btn-cancelar {padding: 12px 25px; background-color: #6c757d; color: var(--white); border: none; border-radius: 8px; font-size: 1em; font-weight: 600; cursor: pointer; transition: all 0.3s ease;}
.header-admin {display: flex; justify-content: space-between; align-items: center; background: var(--white); padding: 20px 30px; border-radius: 15px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); margin-bottom: 30px;}
.header-actions {display: flex; align-items: center; gap: 15px;}
.tabs-container {display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 30px;}
.tabs {display: flex; gap: 15px; flex: 1; background: var(--white); padding: 10px; border-radius: 15px; box-shadow: 0 4px 15px rgba(0,0,0,0.08);}
.tab {flex: 1; padding: 15px 25px; text-align: center; text-decoration: none; color: var(--text-dark); font-weight: 600; border-radius: 10px; transition: all 0.3s ease;}
.tab.active {background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%); color: var(--white); box-shadow: 0 4px 10px rgba(120,15,15,0.3);}
.stats {display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 30px;}
.stat-card {background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%); color: var(--white); padding: 30px; border-radius: 15px; text-align: center; box-shadow: 0 4px 15px rgba(120,15,15,0.3);}
.stat-card.stat-secondary {background: linear-gradient(135deg, #444 0%, #222 100%);}
.stat-number {font-size: 3em; font-weight: 700;}
.sugerencias-list {display: flex; flex-direction: column; gap: 20px;}
.sugerencia-card {background: var(--white); border-radius: 12px; padding: 25px; box-shadow: 0 4px 15px rgba(0,0,0,0.08); transition: all 0.3s ease; border-left: 5px solid var(--primary-color);}
.personas-section {display: flex; flex-direction: column; gap: 30px;}
.personas-forms-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 30px;}
.add-persona-box {background: var(--white); padding: 30px; border-radius: 15px; box-shadow: 0 4px 15px rgba(0,0,0,0.08);}
.add-persona-box h2 {color: var(--primary-color); margin-bottom: 20px; font-size: 1.5em;}
.personas-table {width: 100%; border-collapse: collapse; margin-top: 20px;}
.email-cell {color: #2196F3; font-family: 'Courier New', monospace; font-size: 0.9em;}
.personas-table thead {background-color: var(--primary-color); color: var(--white);}
.personas-table th {padding: 15px; text-align: left; font-weight: 600;}
.personas-table tbody tr {border-bottom: 1px solid var(--border-color);}
.personas-table tbody tr.inactive {opacity: 0.5; background-color: #f5f5f5;}
.personas-table td {padding: 15px;}
.actions-cell {display: flex; gap: 8px; flex-wrap: wrap;}
.badge-active {background-color: var(--success); color: var(--white); padding: 5px 12px; border-radius: 15px; font-size: 0.85em; font-weight: 600;}
.badge-inactive {background-color: #999; color: var(--white); padding: 5px 12px; border-radius: 15px; font-size: 0.85em; font-weight: 600;}
.cargo-badge {background-color: var(--primary-color); color: var(--white); padding: 3px 10px; border-radius: 12px; font-size: 0.85em; font-weight: 600;}
.login-box {max-width: 400px; margin: 100px auto; padding: 40px; background: var(--white); border-radius: 15px; box-shadow: 0 10px 40px rgba(0,0,0,0.1); text-align: center;}
.modal {display: none; position: fixed; z-index: 1000; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6);}
.modal-content {background-color: var(--white); margin: 5% auto; padding: 0; border-radius: 15px; width: 90%; max-width: 500px; box-shadow: 0 10px 40px rgba(0,0,0,0.3);}
.modal-header {display: flex; justify-content: space-between; align-items: center; padding: 25px 30px; border-bottom: 2px solid var(--bg-light); background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%); color: var(--white); border-radius: 15px 15px 0 0;}
.close {color: var(--white); font-size: 35px; font-weight: bold; cursor: pointer; line-height: 1;}
.modal-content form {padding: 30px;}
.modal-actions {display: flex; gap: 15px; justify-content: flex-end; margin-top: 25px;}
footer {text-align: center; padding: 20px; color: var(--text-light); margin-top: 40px;}
@keyframes slideIn {from {opacity: 0; transform: translateX(-20px);} to {opacity: 1; transform: translateX(0);}}
@media (max-width: 768px) {.container {margin: 20px; padding: 25px;} .header h1 {font-size: 2em;} .logo {width: 60px; height: 60px;} .personas-forms-grid {grid-template-columns: 1fr;} .tabs {flex-direction: column;}}
