body { background: #f0f4f8; color: #1b1b2f; font-family: 'Gill Sans', 'Gill Sans MT', 'Calibri', 'Trebuchet MS', sans-serif; line-height: 1.6; margin-bottom: 1rem; padding: 0; } /* Navigation Styles */ .navbar { background: linear-gradient(90deg, #1b1b2f, #4a6fa5) } .navbar .nav-link { color: #fff; transition: color 0.3s, background-color 0.3s, border-color 0.3s; margin: 0 5px; border: 2px solid transparent; border-radius: 6px; } .navbar .nav-link:hover { background-color: rgba(255, 209, 102, 0.7); color: #1b1b2f; border-color: rgba(255, 209, 102, 0.9); padding: 5px 10px; } .navbar .nav-link.active { background-color: #ffd166; color: #1b1b2f; font-weight: bold; border: 2px solid #ffd166; border-radius: 6px; padding: 5px 10px; } .navbar .nav-link.has-unread-messages { background-color: #dc3545; color: #ffffff; font-weight: bold; border: 2px solid #ffd166; border-radius: 6px; padding: 5px 10px; } .navbar .nav-link.has-unread-messages { background-color: #dc3545; color: #ffffff; font-weight: bold; border-radius: 6px; padding: 5px 10px; } .navbar .nav-link.has-unread-messages::after { content: ""; display: inline-block; width: 8px; height: 8px; margin-left: 8px; border-radius: 50%; background: #ffffff; } /* Main content styles */ .container-dashboard { flex-wrap: wrap; justify-content: center; gap: 20px; padding: 20px; } /* Cards/Scores styles */ .container > div:not(.modal) { background-color:#ffffff; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); padding: 25px; flex: 1 1 100%; transition: transform 0.3s, box-shadow 0.3s; } .container > div:not(.modal):hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.2); } /* Keep Bootstrap modal sizing/layout intact */ #password-modal { padding: 0; background: transparent; box-shadow: none; border-radius: 0; font-size: 1rem; } #password-modal .modal-dialog { max-width: 560px; } /* Überschriften und Abstände */ h1, h2, h3, h4, h5, h6 { margin-top: 1rem; margin-bottom: 20px; color: #1b1b2f; } p { margin-top: 0.5rem; margin-bottom: 1rem; color: #333; } /* Button Styles */ .btn { background-color: #4a6fa5; color: #fff; border: none; padding: 10px 20px; border-radius: 6px; cursor: pointer; font-size: 16px; transition: background-color 0.3s; } .btn:hover { background-color: #2b4a7c; } .btn:disabled, .btn.disabled { background-color: #adb5bd; color: #495057; cursor: not-allowed; opacity: 1; } .btn-danger { background-color: #a84848; color: #fff; border: none; padding: 10px 20px; border-radius: 6px; cursor: pointer; font-size: 16px; transition: background-color 0.3s; } .btn-danger:hover { background-color: #8a3b3b; } #page-wrapper { display: flex; min-height: 100vh; font-family: 'Segoe UI', sans-serif; } /* Sidebar Styles */ #sidebar { width: 240px; min-height: auto; background: linear-gradient(180deg, #1b1b2f, #4a6fa5); color: white; padding: 25px; } #sidebar .nav-link { margin: 0.5rem 0; transition: color 0.3s, background-color 0.3s, border-color 0.3s; color: white; padding: 5px 10px; border: 2px solid transparent; border-radius: 6px; } #sidebar .nav-link:hover { color: #1b1b2f; background-color: rgba(255, 209, 102, 0.7); border-color: rgba(255, 209, 102, 0.9); border-radius: 6px; } #sidebar .nav-link.active { color: #1b1b2f; font-weight: bold; background-color: #ffd166; border: 2px solid #ffd166; border-radius: 6px; padding: 5px 10px; } #logo_img { max-width: 300px; width: 50%; height: auto; } #main-area { flex: 1; background: #f3f4f6; display: flex; flex-direction: column; } /* Topbar Styles */ #topbar { height: 70px; background: white; padding: 0px 30px; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 10px rgba(0,0,0,0.1); } #main-content { background-color: #f0f4f8; padding: 30px; } /* Card Styles */ .card { background: white; border-radius: 12px; box-shadow: 0 5px 15px rgba(0,0,0,0.08); padding: 25px; margin-bottom: 20px; } .card h2 { margin-bottom: 10px; } /* Responsive Styles */ @media (max-width: 768px) { body { font-size: 0.9rem; } .container > div:not(.modal) { flex: 1 1 calc(50% - 40px); } #page-wrapper { flex-direction: column; } #sidebar { width: 100%; display: flex; overflow-x: auto; } #sidebar .nav-link { flex: 0 0 auto; margin: 0 10px; } } @media (min-width: 1200px) { body { font-size: 1.1rem; } .container > div:not(.modal) { flex: 1 1 calc(25% - 40px); } p.columns{ column-count: 2; column-gap: 2rem; } #sidebar .nav-link { flex: 0 0 auto; margin: 0 15px; } } /* Table styles leaderboard */ .leaderboard-table { border-collapse: collapse; width: 100%; background: #ffffff; border-radius: 10px; overflow: hidden; font-size: 1rem; } .leaderboard-table th, .leaderboard-table td { padding: 8px; text-align: left; border-bottom: 1px solid #ddd; font-size: 16px; } .leaderboard-table thead th { background: #1b1b2f; color: #ffffff; font-weight: 600; letter-spacing: 0.02em; } .leaderboard-table tbody tr { transition: background-color 0.2s ease; } .leaderboard-table tbody tr:nth-child(even) { background-color: #f7f9fc; } .leaderboard-table tbody tr:hover { background-color: #dbe6f7; } .leaderboard-table tbody tr.leaderboard-row-current-user, .leaderboard-table tbody tr.leaderboard-row-current-user:nth-child(even), .leaderboard-table tbody tr.leaderboard-row-current-user:hover { background-color: #dff3df; } .leaderboard-table tbody tr.leaderboard-row-current-user td { font-weight: 600; } .leaderboard-table tbody tr.leaderboard-row-gap td { border-bottom: none; padding: 0; height: 16px; background: transparent; } .leaderboard-table tbody tr.leaderboard-row-gap:hover, .leaderboard-table tbody tr.leaderboard-row-gap:hover td { background: transparent; } .leaderboard-table tbody tr.leaderboard-row-current-user-extra td { border-top: 2px solid #b8dfb8; } .leaderboard-table tbody tr:last-child td { border-bottom: none; } /* Messages */ .container > .messages-card:not(.modal), .messages-card { text-align: left; font-size: 1rem; } .container > .messages-card:not(.modal):hover, .messages-card:hover { transform: none; } .messages-header, .messages-inbox-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; } .messages-panel { background: #f8f9fa; border: 1px solid #dbe3ef; border-radius: 8px; padding: 18px; } .messages-panel h3 { font-size: 1.1rem; margin: 0 0 14px; } .messages-user-list { display: grid; gap: 10px; } .messages-user-button { width: 100%; border: 1px solid #c9d6e8; border-radius: 6px; background: #ffffff; color: #1b1b2f; padding: 10px 12px; text-align: left; transition: background-color 0.2s, border-color 0.2s; } .messages-user-button:hover { background: #e8f0fb; border-color: #4a6fa5; } .message-form textarea { resize: vertical; } .message-list { display: grid; gap: 12px; } .message-item { border-left: 4px solid #4a6fa5; border-radius: 8px; background: #ffffff; padding: 12px 14px; } .message-item-unread { border-left-color: #dc3545; background: #fff4f4; } .challenge-message-group { border-left-color: #6f7fb7; } .challenge-thread { display: grid; gap: 8px; margin-top: 12px; border-top: 1px solid #e5e7eb; padding-top: 10px; } .challenge-thread.d-none { display: none; } .challenge-thread-toggle { border: none; background: transparent; color: #4a6fa5; display: inline-flex; font-size: 0.9rem; font-weight: 600; margin-top: 10px; padding: 0; } .challenge-thread-toggle:hover { color: #2b4a7c; text-decoration: underline; } .challenge-thread-item { border-radius: 6px; background: #f8fafc; padding: 8px 10px; } .challenge-thread-item span { display: block; color: #64748b; font-size: 0.82rem; margin-bottom: 4px; } .message-meta { display: flex; justify-content: space-between; gap: 1rem; color: #1b1b2f; font-size: 0.9rem; margin-bottom: 8px; } .message-meta span, .messages-empty { color: #667085; } .message-item p, .messages-empty { margin: 0; } .challenge-status-button:disabled { background-color: #e5e7eb; border: 1px solid #cbd5e1; color: #64748b; } .challenge-result-graphic, .play-challenge-result { margin-top: 12px; border-radius: 8px; border: 1px solid #dbe3ef; background: #ffffff; overflow: hidden; } .challenge-result-headline, .play-challenge-result-title { padding: 10px 14px; font-weight: 700; color: #ffffff; } .challenge-outcome { align-items: center; background: #f8fafc; display: flex; gap: 12px; padding: 14px; } .challenge-outcome img { border-radius: 8px; height: 72px; object-fit: cover; width: 72px; } .challenge-outcome strong { color: #1b1b2f; font-size: 1.5rem; } .challenge-outcome-win { background: #e8f7ee; } .challenge-outcome-loss { background: #fdecec; } .challenge-outcome-draw { background: #eef3fb; } .challenge-result-win, .play-challenge-result-winner .play-challenge-result-title { background: #198754; } .challenge-result-draw, .play-challenge-result-draw .play-challenge-result-title { background: #4a6fa5; } .play-challenge-result-loser .play-challenge-result-title { background: #a84848; } .challenge-result-scores, .play-challenge-result-scores { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #dbe3ef; } .challenge-result-score, .play-challenge-result-score { display: grid; gap: 4px; background: #ffffff; padding: 12px; } .challenge-result-score span, .play-challenge-result-score span { color: #4a6fa5; font-size: 1.25rem; font-weight: 700; } .challenge-hint { display: inline-block; margin-top: 8px; border-radius: 6px; background: #fff4cc; color: #1b1b2f; padding: 6px 10px; font-size: 0.95rem; font-weight: 600; } @media (max-width: 768px) { .messages-header, .messages-inbox-title, .message-meta { align-items: flex-start; flex-direction: column; } .challenge-result-scores, .play-challenge-result-scores { grid-template-columns: 1fr; } }