body.login-body {
    background: #f7f9f8;
    font-family: 'Montserrat', Arial, sans-serif;
}
.login-container {
    background: #fff;
    max-width: 370px;
    margin: 75px auto;
    padding: 42px 28px 30px 28px;
    border-radius: 17px;
    box-shadow: 0 4px 32px #e6eee7;
    text-align: center;
}
.login-logo img { margin-bottom: 10px; }
.login-title { margin-bottom: 20px; color: #176d58; font-weight: 700; }
.login-field { margin-bottom: 15px; }
.login-field input {
    width: 94%; padding: 12px 13px; font-size: 1em;
    border-radius: 9px; border: 1px solid #bdd7ca; background: #f8fbfa;
}
.login-btn {
    background: linear-gradient(90deg,#20b07f 0%,#176d58 100%);
    color:#fff; font-size:1.14em; font-weight:600;
    padding:12px 0; width:100%; border:none; border-radius:13px;
    cursor:pointer; box-shadow:0 1px 8px #d6ede1; margin-top:5px;
    transition:background .17s;
}
.login-btn:hover { background: linear-gradient(90deg,#22c092 0%,#148660 100%);}
.login-error {
    color: #d00022;
    background: #f8e0e0;
    border-radius: 8px;
    padding: 8px 0;
    margin-bottom: 15px;
    font-size: 1.05em;
}
.login-links { margin-top: 18px; }
.login-links a {
    color: #176d58; text-decoration: underline; font-size: 1.02em;
}
.table-wrap {
    width: 100%;
    overflow-x: auto;
    margin-top: 18px;
}
.years-table {
    min-width: 850px;
    width: 100%;
    border-collapse: collapse;
    background: #eafcf4;
    font-size: 1em;
}
.years-table th, .years-table td {
    border: 1px solid #d2ebdb;
    padding: 9px 8px;
    text-align: left;
    background: #f6fcfa;
    vertical-align: middle;
    font-size: 1em;
}
.years-table th {
    background: #dbf8ed;
    color: #177C6A;
    font-weight: 700;
}
.years-table tr.active td {
    background: #e1ffe9 !important;
}
.years-table td.center {
    text-align: center;
}
.years-table td.actions {
    min-width: 180px;
    white-space: nowrap;
}
.years-table .btn {
    display: inline-block;
    margin-right: 6px;
    padding: 4px 10px;
    border-radius: 7px;
    border: none;
    font-size: 1em;
    cursor: pointer;
    background: #f1f6f3;
    color: #15735e;
    transition: background .18s;
    vertical-align: middle;
}
.years-table .btn.del {
    background: #fbdede;
    color: #b54432;
    font-weight: 700;
}
.years-table .btn.del:hover {
    background: #f68585;
    color: #fff;
}
.years-table .btn.edit {
    background: #fff4d7;
    color: #d48a07;
}
.years-table .btn.edit:hover {
    background: #ffe28b;
}
.years-table .btn.active {
    background: #d5f7d1;
    color: #1d6f16;
}
.years-table .btn.active:hover {
    background: #22c16d;
    color: #fff;
}
/* ...остальные стили выше... */
th, td {
    border:1px solid #c2e9db;
    padding:10px 10px;
    text-align:left;
}
th {
    background:#bbefdf;
    color:#177C6A;
    font-weight:700;
}
tr {
    background:#f8fcfa;
    transition:background .13s;
}
tr:hover td {
    background:#e5f7ec;
}
/* --- Новый стиль для содержимого таблицы --- */
td, td.actions {
    color: #19865d !important;
    font-weight: 600;
    letter-spacing: 0.02em;
}
/* --- Новый стиль для select и option --- */
select, select option {
    color: #19865d;
    font-weight: 600;
    background: #e8f7f0;
}
select:focus, input[type="date"]:focus {
    border-color:#31a377;
    box-shadow:0 0 0 2px #e6fcf3;
}
/* Чтобы кнопка Показать не затмевала select */
.show-btn { margin-left: 12px; }
.legend {
    margin-top:28px;
    margin-bottom:2px;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:18px 20px;
    font-size:1.06em;
    font-weight:500;
}
.legend-badge {
    display:inline-block;
    min-width:95px;
    text-align:center;
    padding:7px 18px 7px 18px;
    border-radius:9px;
    font-weight:700;
    margin-right:12px;
    font-size:1em;
    letter-spacing:0.02em;
    box-shadow:0 2px 10px #f4f4f4;
}
.legend-1 { background:#99e2ae; color:#177C6A; }
.legend-2 { background:#ffe488; color:#c0930b; }
.legend-3 { background:#bbc9f7; color:#34469d; }
.legend-holiday {
    margin-left:16px;
    color:#e44d4d;
    font-weight:700;
    font-size:1em;
}
.legend-desc {
    margin-left:18px;
    color:#747474;
    font-weight:400;
    font-size:0.99em;
}
@media(max-width:600px){
    .legend { flex-direction:column; gap:10px 0; }
    .legend-badge, .legend-holiday, .legend-desc { margin:0; }
}

