:root {
    --plice-bg: #f6f8fb;
    --plice-ink: #0b1b2b;
    --plice-muted: #5b6b7b;
    --plice-mint: #2ed1a2;
    --plice-mint-ink: #0c3b31;
    --plice-card: #ffffff;
    --plice-line: #dce3ea;
    --plice-soft: #e8eef5;
}

* {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    min-height: 100%;
}

body {
    margin: 0;
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: var(--plice-ink);
    background:
        radial-gradient(circle at 16% 12%, rgba(46, 209, 162, 0.22), transparent 26%),
        radial-gradient(circle at 88% 0%, rgba(11, 27, 43, 0.08), transparent 34%),
        var(--plice-bg);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

h1:focus {
    outline: none;
}

a,
.btn-link {
    color: var(--plice-ink);
}

a:hover,
.btn-link:hover {
    color: #07131f;
}

.btn {
    font-weight: 700;
    border-radius: 12px;
}

.btn-primary {
    color: var(--plice-mint-ink);
    background-color: var(--plice-mint);
    border-color: var(--plice-mint);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    color: var(--plice-mint-ink);
    background-color: #24c395;
    border-color: #24c395;
}

.btn-outline-primary {
    color: var(--plice-ink);
    border-color: var(--plice-line);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active {
    color: var(--plice-ink);
    border-color: var(--plice-ink);
    background-color: #edf2f8;
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(46, 209, 162, 0.3);
}

.form-control {
    border-radius: 12px;
    border-color: var(--plice-line);
}

.form-control:focus {
    border-color: var(--plice-mint);
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50440;
}

.validation-message {
    color: #e50440;
}

.blazor-error-boundary {
    background: #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: #fff;
}

.blazor-error-boundary::after {
    content: "An error has occurred.";
}

.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}
