:root { 
    --coffee-dark: #2c1e1a; 
    --coffee-accent: #a67c52; 
}

body { 
    background: #f8f9fa; 
    font-family: 'Inter', system-ui, -apple-system, sans-serif; 
}

.bg-coffee-gradient { 
    background: linear-gradient(135deg, #3e2723 0%, #1a0f0d 100%); 
}

.card-promo { 
    border: none; 
    border-radius: 20px; 
    transition: 0.3s; 
    background: white; 
    border: 1px solid rgba(0,0,0,0.05); 
    overflow: hidden; 
}

.card-promo:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 15px 30px rgba(0,0,0,0.08) !important; 
}

.promo-expired { 
    filter: grayscale(0.8); 
    opacity: 0.7; 
}

.promo-archived { 
    border: 2px dashed #ccc !important; 
    background: #fdfdfd; 
    opacity: 0.8; 
}

.qr-container { 
    background: #fff; 
    padding: 10px; 
    border-radius: 12px; 
    border: 1px dashed #ddd; 
    display: inline-block; 
}

.stat-card { 
    border: none; 
    border-radius: 15px; 
    padding: 15px; 
    background: white; 
    box-shadow: 0 4px 6px rgba(0,0,0,0.02); 
    text-align: center; 
}

.search-box { 
    border-radius: 15px; 
    border: 1px solid #eee; 
    padding: 12px 20px; 
    transition: 0.3s; 
}

.btn-action { 
    border-radius: 10px; 
    font-weight: 600; 
}

.sticky-form { 
    position: sticky; 
    top: 100px; 
}

.status-badge { 
    font-size: 0.65rem; 
    font-weight: 800; 
    padding: 5px 12px; 
    border-radius: 50px; 
}

.page-link { 
    cursor: pointer; 
    border: none; 
    margin: 0 3px; 
    border-radius: 8px !important; 
}

.nav-tabs .nav-link { 
    border: none; 
    color: #666; 
    font-weight: 600; 
    cursor: pointer; 
}

.nav-tabs .nav-link.active { 
    color: #2c1e1a; 
    border-bottom: 3px solid #2c1e1a; 
    background: none; 
}

.cursor-pointer {
    cursor: pointer;
}