body { font-family: 'Poppins', sans-serif; background:#f0f2f5; margin:0; }
.header { background: linear-gradient(90deg, #0052D4, #65C7F7, #9CECFB); color:white; padding:40px 20px; text-align:center; }
.header h1 { margin:0; font-size:2.5rem; }
.header p { margin:10px 0 0 0; font-size:1.1rem; opacity:0.9; }
.main { max-width:1000px; margin:40px auto; padding:20px; }
.deportes-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px, 1fr)); gap:25px; }
.deporte-card { background:white; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.08); text-align:center; padding:30px; transition:all 0.3s ease; }
.deporte-card:hover { transform:translateY(-5px); box-shadow:0 6px 15px rgba(0,0,0,0.12); }
.deporte-card a { text-decoration:none; color:#333; display:block; }
.deporte-card i { font-size:3rem; color:#0052D4; margin-bottom:15px; }
.deporte-card h2 { margin:0; font-size:1.5rem; }
.footer { text-align:center; margin:50px 0; color:#777; font-size:0.9rem; }

.container { max-width: 1200px; margin: 30px auto; padding: 20px; }
.admin-header { background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 20px 30px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }
.admin-header h1 { font-size: 1.8rem; color: #333; }
.admin-header .user-info { display: flex; align-items: center; }
.admin-header .user-info p { margin: 0 15px 0 0; font-weight: 600; }
.admin-header .logout-btn { background: #0052D4; color: white; padding: 10px 15px; border-radius: 8px; text-decoration: none; font-weight: 500; transition: 0.3s; }
.admin-header .logout-btn:hover { background: #0041a8; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; }
.card { background: white; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08); padding: 25px; transition: all 0.3s ease; }
.card:hover { transform: translateY(-5px); box-shadow: 0 6px 15px rgba(0,0,0,0.12); }
.card h2 { font-size: 1.5rem; color: #0052D4; margin-top: 0; margin-bottom: 20px; }
.quick-links { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.quick-links a { background-color: #f0f2f5; color: #333; padding: 15px; border-radius: 8px; text-decoration: none; font-weight: 600; display: flex; align-items: center; transition: 0.3s; }
.quick-links a:hover { background-color: #e0e4e8; }
.quick-links a i { margin-right: 10px; color: #0052D4; }
.summary-cards { display: flex; gap: 20px; }
.summary-card { background: linear-gradient(135deg, #0052D4, #65C7F7); color: white; padding: 20px; border-radius: 10px; flex: 1; text-align: center; }
.summary-card h3 { font-size: 2.5rem; margin: 0; }
.summary-card p { margin: 5px 0 0 0; font-size: 1.1rem; }

.login-box { background:#fff; padding:40px; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.1); width:360px; text-align:center; }
.login-box h2 { margin-bottom:25px; color:#333; font-size:1.8rem; }
.login-box input { width:100%; padding:12px; margin:10px 0; border-radius:8px; border:1px solid #ddd; box-sizing:border-box; }
.login-box button { padding:12px 20px; border:none; border-radius:8px; background:#0052D4; color:white; cursor:pointer; width:100%; font-weight:600; transition:0.3s; }
.login-box button:hover { background:#0041a8; }
.login-box .error { color:#e74c3c; margin-bottom:15px; font-weight:500; }
.login-box .options { margin-top:25px; }
.login-box .options a { display:block; color:#0052D4; text-decoration:none; font-size:0.95rem; margin-top:10px; transition:0.3s; }
.login-box .options a:hover { color:#0041a8; text-decoration:underline; }

.register-box { background:#fff; padding:40px; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.1); width:380px; text-align:center; }
.register-box h2 { margin-bottom:25px; color:#333; font-size:1.8rem; }
.register-box input[type="text"], .register-box input[type="password"], .register-box select { width:100%; padding:12px; margin:10px 0; border-radius:8px; border:1px solid #ddd; box-sizing:border-box; }
.register-box input[type="file"] { width:100%; padding:12px 0; margin:10px 0; }
.register-box button { padding:12px 20px; border:none; border-radius:8px; background:#0052D4; color:white; cursor:pointer; width:100%; font-weight:600; transition:0.3s; }
.register-box button:hover { background:#0041a8; }
.register-box .error { color:#e74c3c; margin-bottom:15px; font-weight:500; }
.register-box .success { color:#28a745; margin-bottom:15px; font-weight:500; }
.register-box .options { margin-top:25px; }
.register-box .options a { display:block; color:#0052D4; text-decoration:none; font-size:0.95rem; margin-top:10px; transition:0.3s; }
.register-box .options a:hover { color:#0041a8; text-decoration:underline; }
.register-box .preview { margin:15px auto; width:100px; height:100px; border-radius:50%; overflow:hidden; background:#f0f2f5; display:flex; justify-content:center; align-items:center; border:2px solid #ddd; }
.register-box .preview img { max-width:100%; height:auto; display:block; }

.deporte-body { background: #f4f6f9; color: #333; padding: 20px; }
.deporte-h1 { color: #0d6efd; font-weight: 700; }
.deporte-card { border-radius: 12px; box-shadow: 0 4px 10px rgba(0,0,0,0.08); }
.deporte-card h4 { color: #0d6efd; font-weight: 600; }
.no-data { background: #fff3cd; padding: 15px; border-radius: 8px; color: #856404; margin-top: 10px; }
.bracket-container { display: flex; flex-direction: column; gap: 15px; margin-top: 20px; }
.match { background: white; border: 1px solid #dee2e6; border-radius: 10px; padding: 15px; display: flex; justify-content: space-between; align-items: center; }
.match .team { flex: 1; text-align: center; font-weight: 600; }
.match .score { width: 100px; text-align: center; background: #0d6efd; color: white; border-radius: 8px; padding: 5px; font-weight: bold; }

.diploma-body { background: linear-gradient(135deg, #e3f2fd, #f1f8e9); font-family: 'Inter', sans-serif; min-height: 100vh; }
.diploma-card { border-radius: 1rem; box-shadow: 0 4px 12px rgba(0,0,0,0.1); }
.diploma-h1 { font-weight: 600; color: #0d6efd; }
.diploma-label { font-weight: 500; }
.diploma-button:disabled { opacity: 0.5; }
#search-results { border:1px solid #dee2e6; border-radius:0.5rem; margin-top:5px; max-height:200px; overflow-y:auto; background: #fff; }
.result-item { padding:10px; cursor:pointer; transition: all 0.2s ease; }
.result-item:hover { background:#f0f8ff; }
.result-item small { color:#6c757d; }

.manage-players-body { font-family: 'Poppins', sans-serif; background:#f0f2f5; margin:0; }
.manage-players-container { max-width:1200px; margin:30px auto; padding:20px; }
.manage-players-h1 { text-align:center; color:#333; margin-bottom:30px; }
.form-card { background:white; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.08); padding:25px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-card h2 { color:#0052D4; margin-top:0; margin-bottom:20px; }
.manage-players-label, .manage-players-select, .manage-players-input, .manage-players-button, .manage-players-textarea { width:100%; padding:12px; border:1px solid #ccc; border-radius:8px; box-sizing:border-box; margin-top:5px; }
.manage-players-select { appearance:none; background-image:url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22/%3E%3C/svg%3E'); background-repeat:no-repeat; background-position:right 1rem center; background-size:.8em; }
.manage-players-button { background:#0052D4; color:white; font-weight:600; border:none; cursor:pointer; transition:0.3s; }
.manage-players-button:hover { background:#0041a8; }
.manage-players-table { width:100%; border-collapse:collapse; margin-top:20px; }
.manage-players-th, .manage-players-td { padding:12px 15px; text-align:left; border-bottom:1px solid #ddd; }
.manage-players-th { background:#f8f9fa; font-weight:600; }

.back-link {
    display: inline-block;
    margin-bottom: 20px;
    padding: 10px 20px;
    background-color: #0052D4;
    color: white;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    transition: background-color 0.3s ease;
}

.back-link:hover {
    background-color: #0041a8;
    text-decoration: none;
}

.medals-body { font-family: 'Poppins', sans-serif; background:#f0f2f5; margin:0; }
.medals-container { max-width:900px; margin:30px auto; padding:20px; }
.medals-h1 { text-align:center; color:#333; margin-bottom:30px; }
.table-card { background:white; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.08); padding:25px; margin-bottom:25px; }
.table-card h2 { color:#0052D4; margin-top:0; margin-bottom:20px; border-bottom: 2px solid #0052D4; padding-bottom: 10px;}
.medals-table { width:100%; border-collapse:collapse; margin-top:20px; }
.medals-th, .medals-td { padding:12px 15px; text-align:left; border-bottom:1px solid #ddd; }
.medals-th { background:#f8f9fa; font-weight:600; }
.medal-gold { color: #FFD700; }
.medal-silver { color: #C0C0C0; }
.medal-bronze { color: #CD7F32; }

.stats-body { font-family: 'Poppins', sans-serif; background:#f0f2f5; margin:0; }
.stats-container { max-width:1200px; margin:30px auto; padding:20px; }
.stats-h1 { text-align:center; color:#333; margin-bottom:30px; }
.stats-cards { display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:20px; margin-bottom:30px; }
.stat-card { background:white; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.08); padding:25px; text-align:center; }
.stat-card h3 { margin:0; font-size:18px; color:#666; }
.stat-card p { margin:10px 0 0; font-size:36px; font-weight:600; color:#0052D4; }
.charts-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 25px; }
.chart-card { background:white; border-radius:12px; box-shadow:0 4px 12px rgba(0,0,0,0.08); padding:25px; }
.chart-card h2 { color:#0052D4; margin-top:0; margin-bottom:20px; text-align:center; }