:root { --mv: #1f3864; }
.bg-mv { background-color: var(--mv) !important; }
.btn-primary { --bs-btn-bg: #1f3864; --bs-btn-border-color: #1f3864; --bs-btn-hover-bg: #2b4a80; --bs-btn-hover-border-color: #2b4a80; --bs-btn-active-bg: #172a4c; }
.nav-pills .nav-link.active { background-color: var(--mv); }
.card { border: 0; }
.card-header { border-bottom: 1px solid rgba(0,0,0,.06); }
.table > :not(caption) > * > * { padding-left: .75rem; padding-right: .75rem; }
details > summary { cursor: pointer; }

.selfie-preview { max-height: 420px; object-fit: contain; background: #f1f3f5; }

.selfie-box { position: relative; width: 100%; aspect-ratio: 3 / 4; max-height: 60vh; background: #f1f3f5; border-radius: .5rem; overflow: hidden; }
.selfie-box video, .selfie-box img { width: 100%; height: 100%; object-fit: cover; }
.selfie-box video { transform: scaleX(-1); }
.selfie-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #adb5bd; font-size: 4rem; }
.selfie-placeholder .small { font-size: .875rem; }
.selfie-guide { position: absolute; left: 50%; top: 45%; width: 58%; aspect-ratio: 3 / 4; transform: translate(-50%, -50%); border: 3px dashed rgba(255,255,255,.85); border-radius: 50%; box-shadow: 0 0 0 9999px rgba(0,0,0,.25); pointer-events: none; }
