body {
    font-family: Arial, sans-serif;
    background-color: #121212; 
    color: #e0e0e0; 
    padding: 0 0 20px 0; 
    max-width: 500px;
    margin: auto;
}

#lobby-container { padding: 40px 20px; }
.lobby-grid { display: flex; flex-direction: column; gap: 15px; }
.btn-lobby {
    background: #1e1e1e; color: white; border: 1px solid #333; padding: 20px;
    border-radius: 8px; font-size: 18px; font-weight: bold; cursor: pointer;
    transition: 0.2s; text-align: left; box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}
.btn-lobby:hover { background: #2a2a2a; border-color: #3498db; }

.top-bar {
    display: flex; justify-content: space-between; align-items: center; padding: 10px 15px;
    background: #1a1a1a; border-bottom: 1px solid #333; margin-bottom: 20px; gap: 10px;
}
.btn-back { background: #444; color: white; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-weight: bold; font-size: 12px;}
.status-indicator { font-weight: bold; font-size: 14px; text-align: center; flex: 1; }
.btn-login { background: #333; color: white; border: none; padding: 8px 15px; border-radius: 4px; cursor: pointer; font-weight: bold; }

.identity-bar {
    background: #1a1a1a; border: 1px solid #333; padding: 12px 15px; border-radius: 8px;
    margin: 0 20px 20px 20px; display: flex; justify-content: space-between; align-items: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}
.identity-info { font-size: 13px; color: #aaa; display: flex; align-items: center; gap: 10px; }
#playerNameDisplay { color: #3498db; font-size: 15px; }
.btn-identify { background: #3498db; color: white; border: none; padding: 8px 14px; border-radius: 4px; cursor: pointer; font-weight: bold; font-size: 12px; }

h2 { text-align: center; color: #ffffff; margin-bottom: 20px; }

.scorekeeper-banner {
    background: #27ae60; color: white; text-align: center; padding: 12px; font-weight: bold;
    margin: 0 20px 20px 20px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.3); font-size: 14px;
}

.card { background: #1e1e1e; padding: 15px; border-radius: 8px; box-shadow: 0 4px 6px rgba(0,0,0,0.3); margin: 0 20px 20px 20px; }
.court-header { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid #333; padding-bottom: 5px; margin-bottom: 15px; }
.court-header h3 { border-bottom: none; padding-bottom: 0; margin: 0; }
.btn-reset-score { background: #f39c12; color: white; border: none; padding: 6px 12px; border-radius: 4px; cursor: pointer; font-weight: bold; font-size: 12px; }
h3 { margin-top: 0; color: #cccccc; border-bottom: 2px solid #333; padding-bottom: 5px; }

ul { list-style-type: none; padding: 0; margin: 0; }
li { display: flex; justify-content: space-between; align-items: center; padding: 12px 10px; border-bottom: 1px solid #333; font-size: 16px; flex-wrap: wrap; gap: 10px; }
li:last-child { border-bottom: none; }
.court-item { background-color: #eccc68; color: #111; font-weight: bold; border-radius: 4px; margin-bottom: 5px; }
.slot-empty { background-color: #2a2a2a; color: #444; font-style: italic; justify-content: center; }

.input-group { display: flex; gap: 10px; }
input { flex: 1; padding: 10px; border: 1px solid #444; background-color: #2a2a2a; color: white; border-radius: 4px; font-size: 16px; }

.btn-add { background: #2ed573; color: white; border: none; padding: 10px 15px; border-radius: 4px; cursor: pointer; font-weight: bold; font-size: 16px; }
.btn-action { background: #ff4757; color: white; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-weight: bold; font-size: 13px; }
.btn-remove { background: #444; color: white; border: none; padding: 8px 12px; border-radius: 4px; cursor: pointer; font-weight: bold; font-size: 13px; }
.btn-reset { background: #e74c3c; color: white; border: none; padding: 12px; border-radius: 4px; cursor: pointer; font-weight: bold; width: 100%; font-size: 14px; }
.btn-group { display: flex; gap: 5px; align-items: center; }

.action-select { background: #3498db; color: white; border: none; padding: 6px 8px; border-radius: 4px; font-size: 12px; font-weight: bold; cursor: pointer; outline: none; }
.action-select option { background: #2a2a2a; color: white; }
.btn-move { background: #555; color: white; border: none; padding: 6px 10px; border-radius: 4px; cursor: pointer; font-size: 12px; font-weight: bold; }

.score-board { display: flex; align-items: center; gap: 10px; background: rgba(0, 0, 0, 0.1); padding: 4px 10px; border-radius: 6px; }
.score-value { font-size: 18px; font-weight: bold; min-width: 24px; text-align: center; }
.btn-score { background: #333; color: white; border: none; border-radius: 4px; width: 24px; height: 24px; font-size: 16px; font-weight: bold; cursor: pointer; display: flex; align-items: center; justify-content: center; }

/* VISIBILIDADE */
.admin-only, .admin-only-block, .scorekeeper-only, .scorekeeper-only-block { display: none !important; }

body.is-admin .admin-only { display: inline-flex !important; }
body.is-admin .admin-only-block { display: block !important; }
body.is-admin .scorekeeper-only { display: inline-flex !important; }
body.is-admin .btn-remove { display: inline-flex !important; } 

body.is-scorekeeper .scorekeeper-only { display: inline-flex !important; }
body.is-scorekeeper .scorekeeper-only-block { display: block !important; }
body.is-scorekeeper .btn-remove { display: none !important; }