:root {
    --bg: #f4f6fa;
    --sidebar-bg: #1e293b;
    --sidebar-hover: #334155;
    --accent: #2c5f8a;
    --accent-light: #eaf1f7;
}

body { background: var(--bg); font-family: Arial, sans-serif; }

.layout { min-height: 100vh; }

.sidebar {
    width: 260px;
    background: var(--sidebar-bg);
    color: #cbd5e1;
}
.sidebar .brand { color: #ffffff; text-decoration: none; }
.sidebar .nav-link {
    color: #cbd5e1;
    border-radius: .5rem;
    padding: .45rem .75rem;
}
.sidebar .nav-link:hover { background: var(--sidebar-hover); color: #fff; }
.sidebar .nav-link.active { background: var(--accent); color: #fff; }
.sidebar .nav-section {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #64748b;
    margin: 1rem .75rem .25rem;
}

.content { max-width: 1400px; }

.hero {
    background: linear-gradient(135deg, var(--accent), #1d4668);
    color: #fff;
}

.menu-card { text-decoration: none; color: inherit; transition: transform .12s, box-shadow .12s; }
.menu-card:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.12); }

.page-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; margin-bottom: 1.25rem; }

.filter-bar { background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; padding: .9rem 1rem; }

.table-panel { background: #fff; border: 1px solid #e2e8f0; border-radius: .75rem; padding: 1rem; }

.badge-delta-low { background: #dc3545; color: #fff; }
.badge-delta-ok { background: #198754; color: #fff; }

.dl-header dt { font-weight: 600; color: #64748b; }
.dl-header dd { font-weight: 500; }
/* Страница входа */
.login-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.login-card {
    width: 100%;
    max-width: 380px;
    border: none;
    border-radius: .75rem;
    overflow: hidden;
}
.login-hero {
    background: linear-gradient(135deg, var(--accent), #1d4668);
    color: #fff;
    padding: 1.25rem;
    text-align: center;
}
