/* =========================
   GLOBAL RESET & BASE
   ========================= */

* {
    box-sizing: border-box;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    color: #ffffff;
    background: #000; 
}

.app {
    display: grid;
    grid-template-rows: 42px minmax(0, 1fr);
    grid-template-areas:
        "stats"
        "body";

    height: 100vh;
    width: 100%;
    background: #000;
}

.statsbar {
    grid-area: stats;
    height: 42px;
    background-color: #000;
    background-image: url("/images/tile_cat.gif");
    background-repeat: repeat-x;
    background-position: top left;
    overflow: hidden;
    border-bottom: 1px solid #333;
    display: flex;
    align-items: center;
    justify-content: center;
}

.app-body {
    grid-area: body;
    grid-column: 1 / -1;

    display: grid;
    grid-template-columns: 240px 1fr;
    grid-template-rows: minmax(0, 1fr) 32px;
    grid-template-areas:
        "menu content"
        "footer footer";

    background-color: #000;
    background-image: url("/images/newbg.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;

    height: 100%;
    min-height: 0;
}

.menu    { grid-area: menu; padding: 10px; background: #000; }
.content { grid-area: content; padding: 10px; overflow-y: auto; background: #000; }
.footer  { grid-area: footer; padding: 6px 10px; border-top: 1px solid #333; background: rgba(0,0,0,0.4); }

.stats-inner {
    display: flex;
    align-items: center;
    height: 100%;

    gap: 10px;
    white-space: nowrap;
    font-size: 10px;
    line-height: 1;
}

.stat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.xp-stat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.xp-bar {
    width: 100px;
    height: 8px;
    background: #990000;
    border: 1px solid #333;
}

.xp-fill {
    height: 100%;
    background: #009900;
}

.xp-text {
    font-size: 9px;
}

.stats-inner img {
    vertical-align: middle;
}

.statsbar * {
    margin: 0;
    padding: 0;
}

.spacer {
    flex: 1; 
}

.refresh {
    display: flex;
    align-items: center;
}

.logout {
    display: flex;
    align-items: center;
    margin-left: 10px;
}

.stats-logo {
    display: flex;
    align-items: center;
    height: 100%;
    flex-shrink: 0;
    margin-left: 10px;
    margin-right: 16px;
}

.stats-logo img {
    height: 90%;        
    max-height: 36px;    
    width: auto;
    display: block;
}

/* =========================
   MENU (LEFT)
   ========================= */

.menu {
    grid-area: menu;
    padding: 10px;
    overflow-y: auto;       
    padding-bottom: 10px;    
}

/* Menu links */
.menu a {
    display: block;
    padding: 2px 6px;       
    line-height: 1.2;       
    color: #ffffff;
    text-decoration: none;
    font-weight: normal;
}

.menu a:hover {
    color: #990000;
}

/* =========================
   MAIN CONTENT
   ========================= */

.content {
    grid-area: content;
    padding: 20px;
    overflow-y: auto;
    background: transparent;
}

/* =========================
   FOOTER
   ========================= */

.footer {
    grid-area: footer;
    padding: 6px 10px;
    text-align: right;
    border-top: 1px solid #333;
    background: rgba(0,0,0,0.4);
}

/* =========================
   LINKS (USER / GANG / FORUM)
   ========================= */

a {
    color: #33CCFF;
    text-decoration: none;
}

a:hover {
    color: #ffffff;
}

/* =========================
   TABLES
   ========================= */

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10px;
}

/* =========================
   TABLES (CONTENT ONLY)
   ========================= */

.content table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10px;
}

.content th {
    font-size: 11px;
    font-weight: bold;
    background: url("/images/greyh.png") repeat-x;
    padding: 4px 6px;
    text-align: left;
}

.content td {
    font-size: 10px;
    font-weight: normal;
    padding: 4px 6px;
}

/* =========================
   CONTENT PANELS
   ========================= */

.table-wrap {
    max-width: 700px;            
    margin: 0 auto 20px auto;    
    background: #000;             
    border: 1px solid #222;
    box-shadow: 0 0 10px rgba(0,0,0,0.6);
}
.table-wrap table {
    width: 100%;
    margin: 0;
}

.table-small  { max-width: 400px; }
.table-medium { max-width: 600px; }
.table-large  { max-width: 800px; }
.table-full   { max-width: 100%; }

.section-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-bottom: 15px;
}

.section-box {
    border: 1px solid #222;
    background: #000;
    box-shadow: 0 0 8px rgba(0,0,0,0.6);
}

.section-header {
    padding: 8px 10px;
    font-weight: bold;
    background: #111;
    border-bottom: 1px solid #222;
}

.option-card {
    padding: 8px 10px;
    border-bottom: 1px solid #111;
    cursor: pointer;
    transition: background 0.15s ease;
}

.option-card:hover {
    background: #111;
    border-left: 2px solid #990000;
}

.option-card:last-child {
    border-bottom: none;
}

.option-card:hover {
    background: #111;
}

.option-card input[type="radio"] {
    display: none;
}

.option-card.selected {
    background: #141414;
    box-shadow: inset 0 0 0 1px #333;
}

.option-meta {
    font-size: 10px;
    opacity: 0.8;
    margin-top: 3px;
}

.section-full {
    margin-bottom: 15px;
}

.table-wrap table tr:first-child th {
    padding-top: 4px;
}

/* Domination Table Alignment Fix */

.table-wrap.table-full table {
    table-layout: fixed;
}

.table-wrap.table-full th,
.table-wrap.table-full td {
    vertical-align: middle;
}

/* First column (Property names) */
.table-wrap.table-full th:first-child,
.table-wrap.table-full td:first-child {
    width: 220px;
    text-align: center;
}

/* Country header cells */
.table-wrap.table-full th:not(:first-child) {
    text-align: center;
}

/* Country data cells */
.table-wrap.table-full td:not(:first-child) {
    text-align: center;
}

/* =========================
   BUTTONS
   ========================= */

button,
input[type="submit"],
input[type="button"] {
    background: url("/images/button.gif") repeat-x;
    border: 1px solid #000;
    color: #ffffff;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
    padding: 3px 8px;
    cursor: pointer;
}

button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    filter: brightness(1.1);
}

/* =========================
   UTILITY (OPTIONAL)
   ========================= */

.clear {
    clear: both;
}

/* MENU CSS */

.menu-sections {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.menu-section {
    border-bottom: 1px solid #333;
    padding-bottom: 6px;
}

.menu-header {
    padding: 4px 6px;  
    font-size: 11px;
    font-weight: bold;
    background: url("/images/greyh.png") repeat-x;
    border-bottom: 1px solid #222;
}

.menu-items a {
    display: block;
    padding: 4px 6px;
    color: #ffffff;
    text-decoration: none;
}

.menu-items a:hover {
    color: #990000;
}

.gold { color: gold; font-weight: bold; }
.red  { color: red;  font-weight: bold; }

/* =========================
   CONTENT BOXES (TABLE REPLACEMENT)
   ========================= */

.content-title {
    font-size: 11px;
    font-weight: bold;
    margin-bottom: 12px;
}

.content-box {
    background: rgba(0,0,0,0.6);
    border: 1px solid #333;
    margin-bottom: 20px;
}

/* Header = table header replacement */
.content-header {
    font-size: 11px;
    font-weight: bold;
    padding: 6px 8px;
    background: url("/images/greyh.png") repeat-x;
}

/* Body = table cell replacement */
.content-body {
    padding: 8px;
    font-size: 10px;
    font-weight: normal;
}

/* News text spacing */
.news-text {
    margin-bottom: 8px;
}

/* Footer/meta text */
.news-meta {
    text-align: right;
    font-size: 9px;
}

/* =========================
   FORMS (CONTENT AREA)
   ========================= */

.form-group {
    margin-bottom: 10px;
}

.form-group label {
    display: block;
    font-weight: bold;
    margin-bottom: 2px;
}

.form-group input,
.form-group textarea {
    width: 100%;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 10px;
}

/* =========================
   CONTENT LINKS
   ========================= */

.content a {
    color: #33CCFF;
    font-weight: bold;
}

.content a:hover {
    color: #ffffff;
}

/* =========================
   FOOTER CONTENT
   ========================= */

.footer {
    grid-area: footer;
    height: 32px;
    border-top: 1px solid #333;
    background: rgba(0,0,0,0.6);

    display: flex;
    align-items: center;
}

.footer-inner {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 12px;
}

.footer-clock {
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 1px;
    color: #99CCFF;
}

.footer-brand {
    font-size: 10px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.table-wrap a.user-admin { color: #F9B024; font-weight: bold; }
.table-wrap a.user-mod { color: #FFFF00; font-weight: bold; }
.table-wrap a.user-hdop { color: #008000; font-weight: bold; }
.table-wrap a.user-fmod { color: #3399CC; font-weight: bold; }
.table-wrap a.user-legend { color: #990000; font-weight: bold; }
.table-wrap a.user-normal { color: #ffffff; }

/* OC status */
.oc-status { color: #aaa; font-size: 10px; }
.oc-busy { color: orange; }
.oc-available { color: gray; }

/* Key boxes */
.key-box {
    border: 1px solid #fff;
    padding: 6px;
    font-size: 10px;
    text-align: center;
}

/* =========================
   LEADERBOARD SECTIONS
   ========================= */

.leaderboard-box {
    border: 1px solid #222;
    background: #000;
}

.leaderboard-table {
    width: 100%;
    border-collapse: collapse;
}

.leaderboard-table th {
    text-align: center;
    border-bottom: 1px solid #222;
}

.leaderboard-table td {
    padding: 4px 6px;
    border-top: 1px solid #222;
}

/* Remove top border from first data row */
.leaderboard-table tr:first-child td {
    border-top: none;
}

/* =========================
   RANK 1 STYLING
   ========================= */

/* Make row text red */
.leaderboard-rank-1 td {
    color: #ff0000;
}

/* Keep username link blue even inside rank 1 */
.leaderboard-rank-1 .leaderboard-name a {
    color: #33ccff;
}

/* =========================
   USERNAME LINK STYLING
   ========================= */

.leaderboard-name a {
    color: #33ccff;
    font-weight: bold;
    text-decoration: none;
}

/* Hover effect */
.leaderboard-name a:hover {
    color: #ffffff;
}

.mission-req {
    margin-bottom: 12px;
}

.mission-label {
    display: flex;
    justify-content: space-between;
    font-size: 10px;
    margin-bottom: 4px;
}

.mission-label.complete {
    color: #4CAF50;
}

.mission-label.incomplete {
    color: #cc4444;
}

.mission-bar {
    width: 100%;
    height: 8px;
    background: #0a0a0a;
    border: 1px solid #222;
    position: relative;
    overflow: hidden;
}

.mission-bar-inner {
    height: 100%;
    width: 0%;
    display: block;
    transition: width 0.3s ease;
}

.bar-green {
    background-color: #4CAF50;
}

.bar-red {
    background-color: #cc4444;
}

.credit-store {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
}

/* Tabs */
.store-tabs {
    display: flex;
    gap: 8px;
    margin-bottom: 15px;
}

.store-tab {
    padding: 6px 14px;
    border: 1px solid #222;
    cursor: pointer;
    background: #000;
    transition: all 0.15s ease;
}

.store-tab.active {
    background: #111;
    border-color: #444;
}

.store-tab:hover {
    background: #111;
}

/* Cards */
.store-card {
    border: 1px solid #222;
    padding: 12px;
    margin-bottom: 10px;
    cursor: pointer;
    transition: all 0.15s ease;
}

.store-card:hover {
    background: #111;
}

.store-card.active {
    border-color: #900;
    box-shadow: 0 0 10px rgba(255,0,0,0.2);
}

/* Checkout */
.checkout-panel {
    border: 1px solid #222;
    padding: 15px;
    background: #000;
}

.checkout-title {
    font-weight: bold;
    margin-bottom: 10px;
}

.hidden {
    display: none;
}

/* ===== Top Credit Tabs ===== */

.top-credit-tabs {
    display: flex;
    gap: 6px;
    margin-top: 6px;
}

.top-credit-tab {
    padding: 6px 14px;
    background: #000;
    border: 1px solid #222;
    color: #ccc;
    text-decoration: none;
    font-size: 11px;
    font-weight: bold;
}

.top-credit-tab:hover {
    background: #111;
    border-color: #333;
}

.top-credit-tab.active {
    background: #111;
    border-color: #444;
    color: #fff;
}

/* ===== Buy Credits Layout ===== */

.buy-credits-wrapper {
    display: flex;
    gap: 20px;
}

.buy-packages {
    flex: 2;
}

.buy-security {
    flex: 1;
}

.buy-info {
    padding: 10px;
    margin-bottom: 10px;
    border: 1px solid #222;
    background: #000;
    font-size: 11px;
}

.buy-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    border: 1px solid #222;
    background: #000;
    margin-bottom: 8px;
}

.buy-card:hover {
    background: #111;
    border-color: #333;
}

.buy-price {
    font-size: 14px;
    font-weight: bold;
    color: #fff;
}

.buy-credits {
    font-size: 11px;
    color: #aaa;
}

.security-box {
    padding: 12px;
    border: 1px solid #222;
    background: #000;
    font-size: 11px;
}

/* ===== Racketeering Tabs ===== */

.rack-tabs {
    display: flex;
    gap: 6px;
    margin-top: 6px;
}

.rack-tab {
    padding: 6px 14px;
    background: #000;
    border: 1px solid #222;
    color: #ccc;
    text-decoration: none;
    font-size: 11px;
    font-weight: bold;
}

.rack-tab:hover {
    background: #111;
    border-color: #333;
}

.rack-tab.active {
    background: #111;
    border-color: #444;
    color: #fff;
}

.rack-home-box {
    padding: 20px;
    border: 1px solid #222;
    background: #000;
    font-size: 11px;
}

/* ===== Racketeering Result Box ===== */

.rack-result-box {
    border: 1px solid #222;
    background: #000;
    padding: 20px;
    text-align: center;
    font-size: 11px;
}

.rack-success {
    color: #4caf50;
    font-weight: bold;
}

.rack-failure {
    color: #cc3333;
    font-weight: bold;
}

/* ===== Rack Action Card ===== */

.rack-action-card {
    border: 1px solid #222;
    background: #000;
    padding: 20px;
    text-align: center;
}

.rack-image img {
    width: 120px;
    height: auto;
    margin-bottom: 15px;
}

.rack-description {
    margin-bottom: 15px;
    color: #aaa;
    font-size: 11px;
}

.crime-card-grid {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-top: 15px;
}

.crime-card {
    flex: 1;
    background: #000;
    border: 1px solid #222;
    padding: 10px;
    text-align: center;
    cursor: pointer;
    transition: 0.2s ease;
    color: #ccc;
}

.crime-card img {
    width: 120px;
    height: 120px;
    object-fit: contain;
}

.crime-card-title {
    margin-top: 8px;
    font-weight: bold;
    color: #fff;
}

.crime-card-cost {
    margin-top: 4px;
    font-size: 11px;
    color: #7FF000;
}

.crime-card:hover {
    border-color: #555;
    background: #111;
    transform: translateY(-2px);
}

/* ================= HEAT SYSTEM ================= */

.heat-wrapper {
    margin: 10px 0 20px 0;
}

.heat-label {
    font-size: 11px;
    color: #ccc;
    margin-bottom: 6px;
}

.heat-bar-modern {
    width: 220px;
    height: 18px;
    background: #111;
    border: 1px solid #222;
    border-radius: 10px;
    padding: 2px;
    box-shadow: inset 0 0 6px rgba(0,0,0,0.8);
}

.heat-fill-modern {
    height: 100%;
    border-radius: 8px;
    transition: width 0.4s ease, background 0.4s ease;
}

/* Heat Levels */

.heat-level-1 { width: 20%; background: linear-gradient(90deg,#2ecc71,#27ae60); }
.heat-level-2 { width: 40%; background: linear-gradient(90deg,#f1c40f,#f39c12); }
.heat-level-3 { width: 60%; background: linear-gradient(90deg,#e67e22,#d35400); }
.heat-level-4 { width: 80%; background: linear-gradient(90deg,#e74c3c,#c0392b); }
.heat-level-5 {
    width: 100%;
    background: linear-gradient(90deg,#b71c1c,#ff0000);
    box-shadow: 0 0 10px rgba(255,0,0,0.6);
}

/* ================= CARD GRID ================= */

.smuggle-grid {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-top: 10px;
}

.smuggle-card {
    flex: 1 1 48%;
    background: #000;
    border: 1px solid #222;
    padding: 12px;
    cursor: pointer;
    transition: 0.2s ease;
    color: #ccc;
    position: relative;
}

.smuggle-card:hover {
    border-color: #555;
    background: #111;
    transform: translateY(-2px);
}

.smuggle-card.active {
    border-color: #7FF000;
    box-shadow: 0 0 8px rgba(127,240,0,0.4);
}

.smuggle-title {
    font-weight: bold;
    color: #fff;
    font-size: 12px;
}

.smuggle-cost {
    font-size: 11px;
    color: #7FF000;
    margin-top: 4px;
}

.smuggle-small {
    font-size: 10px;
    color: #888;
    margin-top: 6px;
}

/* Country select cleaner */
.smuggle-select {
    margin-top: 15px;
    text-align: center;
}

/* Result box consistent with rack */
.smuggle-result {
    margin-bottom: 15px;
}

/* Selected card highlight */
.smuggle-card.active {
    border-color: #7FF000;
    box-shadow: 0 0 10px rgba(127,240,0,0.4);
    background: #0a0a0a;
}

/* Prevent text selection highlight */
.smuggle-card {
    user-select: none;
}

.smuggle-summary {
    margin-top: 12px;
    padding: 8px;
    border: 1px solid #222;
    background: #050505;
    font-size: 11px;
    color: #ccc;
    text-align: center;
}

/* ================= GTA TABS ================= */

.gta-tabs {
    display: flex;
    gap: 6px;
    margin-top: 6px;
}

.gta-tab {
    padding: 6px 14px;
    background: #000;
    border: 1px solid #222;
    color: #ccc;
    text-decoration: none;
    font-size: 11px;
    font-weight: bold;
}

.gta-tab:hover {
    background: #111;
    border-color: #333;
}

.gta-tab.active {
    background: #111;
    border-color: #444;
    color: #fff;
}

/* ================= GTA RESULT IMAGE ================= */

.gta-car-img {
    display: block;
    margin: 15px auto 0 auto;
    max-width: 420px;
    width: 100%;
    height: auto;
    border-radius: 8px;
    transition: transform 0.2s ease;
}

.gta-car-img:hover {
    transform: scale(1.03);
}

/* Rarity Glow */

.car-common {
    filter: drop-shadow(0 0 4px rgba(255,255,255,0.15));
}

.car-uncommon {
    filter: drop-shadow(0 0 6px rgba(0,200,0,0.4));
}

.car-rare {
    filter: drop-shadow(0 0 8px rgba(0,120,255,0.5));
}

.car-epic {
    filter: drop-shadow(0 0 10px rgba(180,0,255,0.6));
}

.car-legendary {
    filter: drop-shadow(0 0 12px rgba(255,170,0,0.7));
}

/* ===== GARAGE GRID ===== */

.garage-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.garage-card {
    background: #000;
    border: 1px solid #222;
    border-radius: 10px;
    overflow: hidden;
}

/* Subtle rarity glow */

.rarity-common { border-color: #222; }
.rarity-uncommon { border-color: #2ecc71; }
.rarity-rare { border-color: #3498db; }
.rarity-epic { border-color: #9b59b6; }
.rarity-legendary {
    border-color: #f1c40f;
    box-shadow: 0 0 8px rgba(241,196,15,0.4);
}

/* Summary */

.garage-summary {
    display: flex;
    align-items: center;
    padding: 10px;
    cursor: pointer;
}

.garage-thumb {
    width: 70px;
    height: auto;
}

.garage-summary-right {
    flex: 1;
    padding-left: 12px;
}

.garage-name {
    font-weight: bold;
    color: #fff;
}

.garage-meta {
    font-size: 11px;
    color: #aaa;
}

.garage-expand {
    font-size: 18px;
    color: #888;
}

/* Expanded */

.garage-expanded {
    display: none;
    padding: 10px;
    border-top: 1px solid #111;
    background: #0a0a0a;
}

.garage-car-row {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 8px 0;
    border-bottom: 1px solid #111;
}

.garage-car-image img {
    width: 90px;
}

.garage-car-info {
    flex: 1;
    font-size: 11px;
    color: #ccc;
}

.garage-bulk-actions {
    margin-top: 10px;
    text-align: center;
}

/* Elite Bodyguard Section Fix */

.bodyguard-banner {
    padding: 0 !important;
    line-height: 0;
    background: none;
}

.bodyguard-img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.section-box .bodyguard-banner {
    padding: 0 !important;
}

.slot-machine {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}

.wheel {
    width: 64px;
    height: 64px;
    border: 1px solid #333;
    border-radius: 8px;
    background: #000;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
    box-shadow: 0 0 6px rgba(0,0,0,0.6);
}

.wheel img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Spinning effect */
.spin {
    animation: slotSpin 0.2s linear infinite;
}

@keyframes slotSpin {
    0% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
    100% { transform: translateY(0); }
}

/* =========================
   ROULETTE TABLE
========================= */

.roulette-table {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-bottom: 10px;
}

.roulette-zero {
    display: flex;
    align-items: center;
}

.roulette-grid {
    display: grid;
    grid-template-columns: repeat(3, 50px);
    gap: 4px;
}

.roulette-cell {
    width: 50px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #222;
    font-size: 11px;
    cursor: pointer;
    background: #111;
    transition: 0.15s;
}

.roulette-cell.red {
    background: #8b0000;
    color: #fff;
}

.roulette-cell.black {
    background: #111;
    color: #ccc;
}

.roulette-cell.green {
    background: #006400;
    color: #fff;
}

.roulette-cell:hover {
    transform: scale(1.05);
    border-color: #555;
}

/* =========================
   BOTTOM BETS
========================= */

.roulette-bottom {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    margin-top: 10px;
}

.roulette-bet {
    padding: 8px;
    text-align: center;
    border: 1px solid #222;
    background: #000;
    cursor: pointer;
    font-size: 10px;
}

.roulette-bet:hover {
    background: #111;
}

.red-bg {
    background: #8b0000;
}

.black-bg {
    background: #111;
}


/* Prevent weird collapse */
.roulette-table label,
.roulette-bottom label {
    display: block;
}

/* Keep layout stable */
.roulette-table,
.roulette-bottom {
    user-select: none;
}

.roulette-grid {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* EACH ROW = 4 ITEMS */
.roulette-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}

/* EACH CELL */
.bet-cell {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 10px;
}

/* LABEL */
.bet-cell span {
    width: 40px;
    text-align: right;
}

/* INPUT */
.bet-cell input {
    width: 55px;
    font-size: 10px;
    padding: 2px;
}

.roulette-bg {
    background: url("/images/rtableNEW.png") no-repeat center top;
    background-size: cover;
}

.roulette-info-bar {
    margin-top: 10px;
    border: 1px solid #222;
    background: rgba(0,0,0,0.8);
    text-align: center;
}

.roulette-result {
    text-align: center;
    font-size: 12px;
    color: #fff;
    margin: 10px 0;
}


.roulette-transparent {
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid #222;
    backdrop-filter: blur(2px);
}

.bj-bg {
    background: url("/images/blackjack/bjbg.png") no-repeat center top;
    background-size: cover;
}

.bj-transparent {
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid #222;
    backdrop-filter: blur(2px);
}

.forum-layout {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 15px;
}

.forum-right {
    max-width: 900px;
    width: 100%;
    justify-self: center;
}


.forum-topic {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 0;
    width: 100%;
}

.forum-topic-user {
    border: 1px solid #222;
    border-right: none;
    padding: 8px;
    background: #050505;
    font-size: 10px;
}

.forum-topic-content {
    border: 1px solid #222;
    padding: 8px;
    background: #000;
    width: 100%;
}

.section-box {
    width: 100%;
}

.option-card a {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    max-width: 200px;
}

.active-topic {
    background: #111;
    border-left: 3px solid #cc0000;
}

.section-box.forum-right {
    margin-bottom: 12px;
    transition: 0.15s ease;
}

.section-box.forum-right:hover {
    border-color: #444;
}

.forum-topic-user {
    background: #0a0a0a;
    border-right: 1px solid #333;
}

.forum-topic-user strong {
    color: #33CCFF;
}

.forum-topic-content,
.section-box .content-body {
    line-height: 1.4;
    color: #ddd;
}

.forum-admin-actions {
    display: flex;
    gap: 6px;
    margin: 10px 0;
    flex-wrap: wrap;
}

.forum-admin-actions input {
    padding: 3px 8px;
}

.gold { color: #FFD700; }
.red { color: #FF4444; }

textarea {
    background: #050505;
    border: 1px solid #222;
    color: #fff;
}

textarea:focus {
    border-color: #555;
    outline: none;
}

.bbcode-toolbar {
    margin-bottom: 5px;
}

.bbcode-toolbar button {
    font-size: 10px;
    margin-right: 4px;
    padding: 2px 6px;
    cursor: pointer;
}
.emoji-bar {
    margin-top: 8px;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 6px; /* spacing between emojis */
}

.emoji-bar img {
    cursor: pointer;
    transition: transform 0.1s ease, filter 0.1s ease;
}

.emoji-bar img:hover {
    transform: scale(1.2);
    filter: brightness(1.2);
}

.ticket-unread {
    background: #0a0a0a;
    border-left: 3px solid #7FF000;
}

.ticket-unread a {
    font-weight: bold;
}

.ticket-unread:hover {
    background: #111;
}

.ticket-unread {
    border-left: 3px solid #ff9900;
}

.ticket-unread .option-meta {
    color: #fff;
}

/* =========================
   ONLINE PAGE
========================= */

.online-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 6px;
}

.online-user {
    padding: 4px 6px;
    border: 1px solid #111;
    background: #050505;
    text-align: center;
    transition: 0.15s ease;
}

.online-user:hover {
    background: #111;
    border-color: #333;
    transform: translateY(-1px);
}

.online-key {
    text-align: center;
    font-size: 10px;
    margin-bottom: 8px;
    opacity: 0.9;
}

.user-boss {
    text-decoration: underline;
}

.online-key {
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px solid #222;
}