:root {
    --ink: #17181c;
    --muted: #6b7280;
    --line: #ececf0;
    --bg: #f6f7f9;
    --card: #ffffff;
    --brand: #ff6a45;        /* coral accent */
    --brand-ink: #e0532f;    /* darker coral (hover) */
    --brand-050: #fdeee9;    /* coral tint */
    --green: #15803d;
    --amber: #b45309;
    --red: #dc2626;
    --radius: 16px;
    --shadow: 0 1px 2px rgba(17,24,39,.04), 0 10px 30px rgba(17,24,39,.06);
    --sans: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

html, body {
    font-family: var(--sans);
    color: var(--ink);
    background: var(--bg);
    margin: 0;
    -webkit-font-smoothing: antialiased;
    letter-spacing: -0.01em;
}

a, .btn-link { color: var(--brand-ink); text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3 { color: var(--ink); letter-spacing: -0.02em; }
h1:focus { outline: none; }

.btn-primary {
    color: #fff;
    background-color: var(--brand);
    border-color: var(--brand);
}
.btn-primary:hover, .btn-primary:focus { background-color: var(--brand-ink); border-color: var(--brand-ink); }

.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(255,106,69,.25);
}
.form-check-input:checked { background-color: var(--brand); border-color: var(--brand); }

.valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; }
.invalid { outline: 1px solid #e50000; }
.validation-message { color: #e50000; }

.blazor-error-boundary { background: #b32121; padding: 1rem; color: white; }
.blazor-error-boundary::after { content: "An error has occurred." }

#blazor-error-ui {
    color-scheme: light only;
    background: #fff3cd;
    border-top: 1px solid #ffe69c;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
    font-size: 14px;
}
    #blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }
