.mesa {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px solid var(--color-forest-dark);
    font-family: var(--font-pdf-title);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--color-forest-dark);
    cursor: pointer;
    user-select: none;
    border-radius: 6px;
    background-clip: padding-box;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.6),
      0 3px 8px rgba(13,59,46,.15);
    transition:
      transform .16s ease,
      box-shadow .16s ease,
      filter .16s ease;
}

.mesa.ret { width: 52px; height: 33px; }
.mesa.high { width: 52px; height: 62px; }
.mesa.redonda { width: 46px; height: 46px; border-radius: 50%; }

/* Cores Padronizadas Elegantes (Verde Único, Vermelho/Rosa Único, Amarelo Único, Cinza Único) */
.mesa.green, .mesa.greenStrong { 
    background: linear-gradient(180deg, #A2E8B4 0%, #68C980 100%);
    border-color: #2F7A44;
    color: #0A301E;
}

.mesa.yellow { 
    background: linear-gradient(180deg, #FFF199 0%, #EFE38A 100%);
    border-color: #9E8F3B;
    color: #423A0F;
}

.mesa.red, .mesa.redStrong { 
    background: linear-gradient(180deg, #F9B2AD 0%, #EE9690 100%);
    border-color: #B54A46;
    color: #4A1311;
}

.mesa.gray {
    background: linear-gradient(180deg, #D4D4D0 0%, #B8B8B4 100%);
    color: #353836;
    border-color: #6D706E;
}

.mesa.small { width: 46px; height: 33px; }
.mesa.wide { width: 55px; height: 34px; }

.mesa:hover {
    transform: translateY(-2px) scale(1.1);
    z-index: 50;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.8),
      0 10px 22px rgba(13,59,46,.3);
    filter: brightness(1.05);
}

.line {
    position: absolute;
    background: linear-gradient(90deg, transparent, var(--color-gold), transparent);
    opacity: .9;
}

.txt {
    position: absolute;
    font-family: var(--font-pdf-title);
    color: var(--color-forest);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
    white-space: nowrap;
}

.txt.small {
    font-family: var(--font-pdf-title);
    font-size: 11px;
    letter-spacing: 2px;
    color: var(--color-forest-light);
}

.label-box {
    position: absolute;
    background: rgba(250, 246, 238, 0.95);
    border: 1.5px solid var(--color-gold-dark);
    border-radius: 6px;
    padding: 5px 12px;
    color: var(--color-forest);
    font-family: var(--font-pdf-title);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 1.5px;
    box-shadow: 0 3px 10px rgba(13,59,46,.08);
}

.vertical {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

