body {
    background-color: #f4f6f9;
}

.card-stat {
    border: none;
    border-radius: 14px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    transition: transform .15s ease;
}
.card-stat:hover {
    transform: translateY(-3px);
}

.publico-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #0b3d63 0%, #145387 100%);
    padding: 20px;
}

.logo-publico {
    width: min(280px, 70vw);
    margin-bottom: 1.75rem;
    filter: drop-shadow(0 3px 10px rgba(0,0,0,0.3));
}

.publico-card {
    background: white;
    border-radius: 18px;
    max-width: 460px;
    width: 100%;
    padding: 2.2rem;
    box-shadow: 0 15px 40px rgba(0,0,0,0.25);
}

.qr-box {
    border: 2px dashed #0b3d63;
    border-radius: 14px;
    padding: 1.2rem;
    background: #f8fbff;
}

#scan-input {
    font-size: 1.4rem;
    text-align: center;
    letter-spacing: 2px;
}

.scan-feedback {
    min-height: 90px;
}
