/* App do parceiro: mesmo tema do app de membros (eloforte.css) com as telas de leitura. */
.ef-login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.ef-login { width: 100%; max-width: 400px; }
.ef-login-logo { height: 56px; width: auto; }

.ef-scan { max-width: 480px; }
.ef-today { max-width: 640px; }

.ef-camera {
    position: relative;
    aspect-ratio: 1 / 1;
    border-radius: 16px;
    overflow: hidden;
    background: var(--ef-surface);
    border: 1px solid var(--ef-border);
    cursor: pointer;
}
.ef-camera video { width: 100%; height: 100%; object-fit: cover; display: block; }
.ef-camera-frame {
    position: absolute;
    inset: 16%;
    border-radius: 14px;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, .35);
    border: 2px solid rgba(255, 255, 255, .85);
    pointer-events: none;
    opacity: 0;
    transition: opacity .2s;
}
.ef-camera.is-live .ef-camera-frame { opacity: 1; }
.ef-camera-msg {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 24px;
    color: var(--ef-muted);
}
.ef-camera.is-live .ef-camera-msg { display: none; }

.ef-result { background: var(--ef-bg); border: 1px solid var(--ef-border); }
.ef-result-icon {
    width: 84px;
    height: 84px;
    margin: 0 auto;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.6rem;
}
.ef-result-icon.ok { background: rgba(34, 197, 94, .16); color: var(--ef-good); }
.ef-result-icon.bad { background: rgba(239, 68, 68, .16); color: var(--ef-bad); }
.ef-result-icon.wait { background: var(--ef-surface-2); color: var(--ef-muted); }
.ef-result .ef-member-code { font-size: 1.3rem; }

.ef-today-row { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--ef-border); }
.ef-today-row:last-child { border-bottom: 0; }

.toast { background: var(--ef-surface-2); color: var(--ef-text); }

@media (max-width: 767.98px) {
    .ef-scan, .ef-today { max-width: none; }
}
