:root {
    color-scheme: light;
}

html {
    scroll-behavior: smooth;
}

html, body {
    font-family: "Inter", Arial, sans-serif;
    margin: 0;
}

body {
    background: #f4f5f1;
    color: #101419;
}

a, .btn-link {
    color: #176d59;
}

.btn-primary {
    --bs-btn-bg: #101419;
    --bs-btn-border-color: #101419;
    --bs-btn-hover-bg: #2d343b;
    --bs-btn-hover-border-color: #2d343b;
    --bs-btn-active-bg: #101419;
    --bs-btn-active-border-color: #101419;
    border-radius: 5px;
    font-size: 0.9rem;
    font-weight: 800;
    min-height: 50px;
}

.btn:focus, .btn:active:focus, .btn-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(22, 122, 98, 0.2);
}

h1:focus { outline: none; }

.valid.modified:not([type=checkbox]) { outline: 1px solid #167a62; }
.invalid { outline: 1px solid #c73324; }
.validation-message, .text-danger { color: #b32e21 !important; font-size: 0.75rem; }
.darker-border-checkbox.form-check-input { border-color: #687078; }

.account-form-surface h1 {
    font-family: "Manrope", sans-serif;
    font-size: clamp(2rem, 4vw, 3.1rem);
    font-weight: 800;
    line-height: 1.05;
    margin: 0 0 0.8rem;
}

.account-form-surface h2 {
    color: #687078;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;
}

.account-form-surface h3 { font-size: 1rem; }
.account-form-surface hr { border-color: #e0e4de; margin: 1.5rem 0; }
.account-form-surface .row { margin: 0; width: 100%; }
.account-form-surface .row > * { padding: 0; }
.account-form-surface p { color: #5f676e; font-size: 0.82rem; line-height: 1.6; }
.account-form-surface form { max-width: 520px; }

.form-control {
    border-color: #cfd5cf;
    border-radius: 5px;
}

.form-control:focus {
    border-color: #167a62;
}

.form-floating > label { color: #626a72; }
.account-footnote { margin-top: 1rem; text-align: center; }
.confirmation-mark { align-items: center; background: #daf0e8; color: #14614c; display: flex; font-size: 1.7rem; font-weight: 900; height: 54px; justify-content: center; margin-bottom: 1.5rem; width: 54px; }
.operator-login-badge { background: #f7dfdc; color: #982c21; display: inline-block; font-size: 0.67rem; font-weight: 800; margin-bottom: 1rem; padding: 0.4rem 0.55rem; text-transform: uppercase; }

.mail-preview { border: 1px solid #dfe3dd; margin-top: 1rem; }
.mail-meta { background: #f7f8f5; border-bottom: 1px solid #dfe3dd; display: flex; flex-direction: column; padding: 0.8rem; }
.mail-meta strong { font-size: 0.78rem; }
.mail-meta span { color: #737b82; font-size: 0.67rem; }
.mail-preview iframe { border: 0; height: 430px; width: 100%; }

.alert { border-radius: 5px; }
.nav-pills .nav-link.active { background: #101419; }

.blazor-error-boundary {
    background: #b32e21;
    color: white;
    padding: 1rem;
}

.blazor-error-boundary::after {
    content: "An error has occurred.";
}

.form-floating > .form-control::placeholder {
    color: transparent;
}
