/* ===== Тема оформления в стиле Сбер (Sber green) ===== */
:root {
    --sber-green: #21A038;
    --sber-green-600: #1A8A2F;
    --sber-green-700: #137025;
    --sber-teal: #00C1A0;
    --sber-dark: #1A1A1A;
    --sber-dark-2: #232323;
    --sber-bg: #F4F6F5;
    --sber-gradient: linear-gradient(135deg, #21A038 0%, #00C1A0 100%);
}

html, body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    background-color: var(--sber-bg);
}

/* Кнопки и акценты Bootstrap -> зелёный Сбер */
.btn-primary {
    --bs-btn-bg: var(--sber-green);
    --bs-btn-border-color: var(--sber-green);
    --bs-btn-hover-bg: var(--sber-green-600);
    --bs-btn-hover-border-color: var(--sber-green-600);
    --bs-btn-active-bg: var(--sber-green-700);
    --bs-btn-active-border-color: var(--sber-green-700);
}

.btn-outline-primary {
    --bs-btn-color: var(--sber-green);
    --bs-btn-border-color: var(--sber-green);
    --bs-btn-hover-bg: var(--sber-green);
    --bs-btn-hover-border-color: var(--sber-green);
    --bs-btn-active-bg: var(--sber-green-600);
}

.text-primary { color: var(--sber-green) !important; }
.bg-primary { background-color: var(--sber-green) !important; }
.bg-sber-gradient { background: var(--sber-gradient) !important; }

a { color: var(--sber-green-600); }
a:hover { color: var(--sber-green-700); }

.form-control:focus, .form-select:focus {
    border-color: var(--sber-green);
    box-shadow: 0 0 0 0.2rem rgba(33, 160, 56, 0.20);
}

.card { border: none; border-radius: 14px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }

/* Боковое меню (тёмное) */
.sber-sidebar {
    width: 250px;
    background: var(--sber-dark);
    color: #fff;
}
.sber-sidebar .nav-link {
    color: #cfd2cf;
    border-radius: 10px;
    transition: background-color .15s, color .15s;
}
.sber-sidebar .nav-link:hover { background-color: var(--sber-dark-2); color: #fff; }
.sber-sidebar .nav-link.active {
    background: var(--sber-gradient);
    color: #fff;
    font-weight: 600;
}

/* ===== Служебные стили Blazor / валидация ===== */
h1:focus { outline: none; }
.valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; }
.invalid { outline: 1px solid #e50000; }
.validation-message { color: #e50000; }

#blazor-error-ui {
    color-scheme: light only;
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}
#blazor-error-ui .dismiss { cursor: pointer; position: absolute; right: 0.75rem; top: 0.5rem; }

.blazor-error-boundary { background: #b32121; padding: 1rem; color: white; border-radius: 8px; }
.blazor-error-boundary::after { content: "Произошла ошибка."; }
