:root {
    --brand: #0b6e4f;
    --brand-dark: #084c37;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.app-navbar {
    background-color: var(--brand-dark);
}

.btn-brand {
    background-color: var(--brand);
    border-color: var(--brand);
    color: #fff;
}
.btn-brand:hover {
    background-color: var(--brand-dark);
    border-color: var(--brand-dark);
    color: #fff;
}

.hero {
    background: linear-gradient(135deg, var(--brand) 0%, var(--brand-dark) 100%);
    color: #fff;
    border-radius: 1rem;
    padding: 3rem 2rem;
}

.status-badge-Clear { background-color: #198754; }
.status-badge-RecordFound { background-color: #dc3545; }
.status-badge-Inconclusive { background-color: #fd7e14; }
.status-badge-Unknown { background-color: #6c757d; }

#selfieVideo, #selfieCanvas {
    width: 100%;
    max-width: 420px;
    border-radius: .5rem;
    background: #000;
}

.fp-preview {
    max-height: 160px;
    object-fit: contain;
}

.fp-camera-video {
    width: 100%;
    max-height: 200px;
    object-fit: cover;
    border-radius: .5rem;
    background: #000;
    display: block;
    margin-bottom: .5rem;
}

.fp-progress-dot {
    width: 1.1rem;
    height: 1.1rem;
    border-radius: 50%;
    background: #e5e5e5;
    border: 2px solid transparent;
    display: inline-block;
}
.fp-progress-dot.fp-progress-done {
    background: var(--brand);
}
.fp-progress-dot.fp-progress-current {
    border-color: var(--brand-dark);
}

.stat-card {
    border-radius: .75rem;
    border: 1px solid #e5e5e5;
}
