@font-face{
    src: url(../fonts/georgia.ttf);
    font-family: 'Georgia';
}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body{
    font-family: 'Georgia';
    background-color: #f8f9fa;
}

/* Основные стили для страниц регистрации и авторизации */
.auth-container {
    min-height: 100vh;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 50%, #dee2e6 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 4vh;
    position: relative;
}

.auth-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.6vh;
    background: linear-gradient(90deg, #8B0000, #DC143C, #FF4500);
}

.auth-card {
    background: white;
    border-radius: 2vh;
    box-shadow: 0 1vh 3vh rgba(139, 0, 0, 0.15);
    padding: 6vh;
    width: 100%;
    max-width: 60vh;
    animation: slideUp 0.6s ease-out;
    border: 0.1vh solid #e0e0e0;
    position: relative;
    overflow: hidden;
}

.auth-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.4vh;
    background: linear-gradient(90deg, #8B0000, #DC143C, #FF4500);
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(10vh);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.auth-header {
    text-align: center;
    margin-bottom: 4vh;
}

.auth-logo {
    font-size: 4.8vh;
    font-weight: bold;
    color: #DC143C;
    margin-bottom: 2vh;
    display: block;
    text-shadow: 0 0.2vh 0.4vh rgba(220, 20, 60, 0.3);
}

.auth-title {
    font-size: 3.6vh;
    color: #8B0000;
    margin-bottom: 1vh;
    font-weight: 600;
}

.auth-subtitle {
    color: #666;
    font-size: 1.8vh;
    margin-bottom: 0;
}

/* Формы */
.auth-form .form-group {
    margin-bottom: 3vh;
}

.auth-form label {
    font-weight: 600;
    color: #333;
    font-size: 1.8vh;
    margin-bottom: 1vh;
    display: block;
}

.auth-form .form-control {
    height: 5vh;
    border: 0.2vh solid #ddd;
    border-radius: 1vh;
    padding: 0 2vh;
    font-size: 1.8vh;
    transition: all 0.3s ease;
    background: #f8f9fa;
}

.auth-form .form-control:focus {
    border-color: #FF4500;
    box-shadow: 0 0 0 0.4vh rgba(255, 69, 0, 0.2);
    background: white;
}

.auth-form textarea.form-control {
    height: auto;
    min-height: 10vh;
    padding: 2vh;
    resize: vertical;
}

/* Чекбокс */
.agree-terms {
    display: flex;
    align-items: flex-start;
    gap: 1vh;
    margin: 3vh 0;
}

.agree-terms input[type="checkbox"] {
    margin-top: 0.5vh;
    transform: scale(1.2);
}

.agree-terms label {
    margin-bottom: 0;
    font-weight: normal;
    line-height: 1.4;
}

.agree-terms a {
    color: #FF4500;
    text-decoration: none;
}

.agree-terms a:hover {
    text-decoration: underline;
    color: #DC143C;
}

/* Кнопки */
.auth-btn {
    height: 5vh;
    border: none;
    border-radius: 1vh;
    font-size: 1.8vh;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-bottom: 2vh;
}

.btn-primary {
    background: #f5551b;
    color: white;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #DC143C, #8B0000);
    transform: translateY(-0.2vh);
    box-shadow: 0 0.4vh 1.2vh rgba(220, 20, 60, 0.4);
}

.btn-primary:active {
    transform: translateY(0);
}

.btn-outline {
    background: transparent;
    border: 0.2vh solid #FF4500;
    color: #FF4500;
}

.btn-outline:hover {
    background: #FF4500;
    color: white;
    transform: translateY(-0.2vh);
}

/* Ссылки */
.auth-links {
    text-align: center;
    margin-top: 3vh;
}

.auth-links a {
    color: #FF4500;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.auth-links a:hover {
    color: #8B0000;
    text-decoration: underline;
}

/* Ошибки валидации */
.help-block {
    color: #DC143C;
    font-size: 1.6vh;
    margin-top: 0.5vh;
    display: block;
}

.has-error .form-control {
    border-color: #DC143C;
}

.has-error .form-control:focus {
    border-color: #DC143C;
    box-shadow: 0 0 0 0.4vh rgba(220, 20, 60, 0.2);
}

/* Уведомления */
.alert {
    padding: 2vh;
    border-radius: 1vh;
    margin-bottom: 3vh;
    border: none;
    font-size: 1.6vh;
}

.alert-success {
    background-color: #d4edda;
    color: #155724;
    border-left: 0.4vh solid #28a745;
}

.alert-error {
    background-color: #f8d7da;
    color: #721c24;
    border-left: 0.4vh solid #DC143C;
}

/* Анимации для полей ввода */
.form-control {
    position: relative;
    transition: all 0.3s ease;
}

.form-control:focus {
    transform: scale(1.02);
}

/* Микроанимации для кнопок */
@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

.auth-btn:focus {
    animation: pulse 0.6s ease-in-out;
}

/* Стили для иконок (если будут добавлены) */
.input-icon {
    position: relative;
}

.input-icon .form-control {
    padding-left: 4vh;
}

.input-icon i {
    position: absolute;
    left: 2vh;
    top: 50%;
    transform: translateY(-50%);
    color: #666;
    z-index: 2;
}

/* Стили для успешной регистрации */
.success-message {
    text-align: center;
    padding: 4vh;
}

.success-icon {
    font-size: 8vh;
    color: #28a745;
    margin-bottom: 2vh;
}

.success-title {
    font-size: 2.4vh;
    color: #333;
    margin-bottom: 1vh;
    font-weight: 600;
}

.success-text {
    color: #666;
    font-size: 1.8vh;
    margin-bottom: 3vh;
}

/* Стили для шапки */
.navbar-dark.bg-dark {
    background: linear-gradient(135deg, #a02323, #e43d3d) !important;
    border-bottom: 0.3vh solid #FF4500;
    box-shadow: 0 0.2vh 1vh rgba(139, 0, 0, 0.3);
}

.navbar-brand {
    font-weight: bold;
    font-size: 2.4vh;
    color: white !important;
    text-shadow: 0 0.1vh 0.2vh rgba(0, 0, 0, 0.3);
}

.navbar-nav .nav-link {
    color: white !important;
    font-size: 1.8vh;
    padding: 1vh 2vh !important;
    margin: 0 0.5vh;
    border-radius: 0.5vh;
    transition: all 0.3s ease;
}

.navbar-nav .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transform: translateY(-0.1vh);
}

.navbar-nav .nav-link.logout {
    background: transparent;
    border: none;
    color: white !important;
    cursor: pointer;
}

.navbar-nav .nav-link.logout:hover {
    background-color: rgba(220, 20, 60, 0.3);
}

/* Стили для подвала */
.footer-kommunalka {
    background: linear-gradient(135deg, #a02323, #e43d3d) !important;
    color: white;
    padding: 3vh 0;
    margin-top: auto;
    border-top: 0.3vh solid #FF4500;
}

.footer-kommunalka .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.footer-kommunalka .pull-left,
.footer-kommunalka .pull-right {
    margin: 1vh 0;
    font-size: 1.6vh;
}

/* Основной контент */
main#main {
    padding-top: 8vh;
    min-height: calc(100vh - 16vh);
}

.container {
    max-width: 1200px;
}

/* Хлебные крошки */
.breadcrumb {
    background-color: transparent;
    padding: 2vh 0;
    margin-bottom: 0;
}

.breadcrumb-item a {
    color: #FF4500;
    text-decoration: none;
}

.breadcrumb-item.active {
    color: #8B0000;
}

/* Декоративные элементы для форм (упрощенные) */
.form-decoration {
    position: absolute;
    width: 8vh;
    height: 8vh;
    opacity: 0.1;
    z-index: 0;
}

.decoration-1 {
    top: -2vh;
    left: -2vh;
    background: #8B0000;
    border-radius: 50%;
}

.decoration-2 {
    bottom: -2vh;
    right: -2vh;
    background: #FF4500;
    border-radius: 50%;
}

/* styles/profile.css */
.profile-index,
.profile-update,
.profile-change-password {
    max-width: 90vh;
    margin: 0 auto;
    padding: 4vh;
}

.profile-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4vh;
    padding-bottom: 2vh;
    border-bottom: 0.2vh solid #e9ecef;
}

.profile-title {
    color: #8B0000;
    font-size: 3.6vh;
    font-weight: 600;
    margin: 0;
}

.profile-actions {
    display: flex;
    gap: 2vh;
}

.profile-card {
    background: white;
    border-radius: 2vh;
    box-shadow: 0 1vh 3vh rgba(139, 0, 0, 0.1);
    padding: 4vh;
    border: 0.1vh solid #e0e0e0;
    position: relative;
    overflow: hidden;
}

.profile-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.4vh;
    background: linear-gradient(90deg, #8B0000, #DC143C, #FF4500);
}

.profile-info .table {
    width: 100%;
    border-collapse: collapse;
}

.profile-info .table tr {
    border-bottom: 0.1vh solid #f0f0f0;
}

.profile-info .table tr:last-child {
    border-bottom: none;
}

.profile-label {
    font-weight: 600;
    color: #333;
    font-size: 1.8vh;
    padding: 2vh 0;
    width: 40%;
}

.profile-value {
    color: #666;
    font-size: 1.8vh;
    padding: 2vh 0;
}

.profile-form {
    background: white;
    border-radius: 2vh;
    box-shadow: 0 1vh 3vh rgba(139, 0, 0, 0.1);
    padding: 4vh;
    border: 0.1vh solid #e0e0e0;
    position: relative;
    overflow: hidden;
}

.profile-form::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.4vh;
    background: linear-gradient(90deg, #8B0000, #DC143C, #FF4500);
}

.form-grid {
    display: grid;
    gap: 3vh;
}

.form-label {
    font-weight: 600;
    color: #333;
    font-size: 1.8vh;
    margin-bottom: 1vh;
    display: block;
}

.form-control {
    height: 5vh;
    border: 0.2vh solid #ddd;
    border-radius: 1vh;
    padding: 0 2vh;
    font-size: 1.8vh;
    transition: all 0.3s ease;
    background: #f8f9fa;
    width: 100%;
}

.form-control:focus {
    border-color: #FF4500;
    box-shadow: 0 0 0 0.4vh rgba(255, 69, 0, 0.2);
    background: white;
    transform: scale(1.02);
}

textarea.form-control {
    height: auto;
    min-height: 12vh;
    padding: 2vh;
    resize: vertical;
}

.form-actions {
    display: flex;
    gap: 2vh;
    margin-top: 4vh;
    justify-content: flex-end;
}

.help-block {
    color: #DC143C;
    font-size: 1.6vh;
    margin-top: 0.5vh;
    display: block;
}

.has-error .form-control {
    border-color: #DC143C;
}

.has-error .form-control:focus {
    border-color: #DC143C;
    box-shadow: 0 0 0 0.4vh rgba(220, 20, 60, 0.2);
}

/* Кнопки */
.btn {
    height: 5vh;
    border: none;
    border-radius: 1vh;
    font-size: 1.8vh;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 3vh;
    text-decoration: none;
    white-space: nowrap;
}

.btn-primary {
    background: linear-gradient(135deg, #FF4500, #DC143C);
    color: white;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #DC143C, #8B0000);
    transform: translateY(-0.2vh);
    box-shadow: 0 0.4vh 1.2vh rgba(220, 20, 60, 0.4);
}

.btn-outline {
    background: transparent;
    border: 0.2vh solid #FF4500;
    color: #FF4500;
}

.btn-outline:hover {
    background: #FF4500;
    color: white;
    transform: translateY(-0.2vh);
}

/* ===== СТИЛИ ДЛЯ СТРАНИЦЫ ПОКАЗАНИЙ ===== */

.readings-index,
.readings-create {
    max-width: 140vh;
    margin: 0 auto;
    padding: 3vh 2vh;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    min-height: 100vh;
}

/* Заголовок страницы */
.readings-header {
    text-align: center;
    margin-bottom: 4vh;
    padding: 3vh;
    background: white;
    border-radius: 2vh;
    box-shadow: 0 0.4vh 1.2vh rgba(160, 35, 35, 0.08);
    border: 0.1vh solid #e0e0e0;
}

.readings-title {
    color: #a02323;
    font-size: 3.8vh;
    font-weight: 700;
    margin: 0 0 1vh 0;
    text-shadow: 0 0.2vh 0.4vh rgba(160, 35, 35, 0.1);
}

.readings-subtitle {
    color: #666;
    font-size: 1.8vh;
    font-weight: 500;
}

/* Контейнер формы */
.readings-form-container {
    display: grid;
    grid-template-columns: 1fr 40vh;
    gap: 3vh;
    align-items: start;
}

/* Карточка формы */
.readings-form-card {
    background: white;
    border-radius: 2.5vh;
    box-shadow: 0 0.6vh 2vh rgba(160, 35, 35, 0.1);
    padding: 4vh;
    border: 0.1vh solid #e0e0e0;
    position: relative;
    overflow: hidden;
}

.readings-form-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.6vh;
    background: linear-gradient(90deg, #a02323, #e43d3d, #ff6b6b);
}

/* Секции формы */
.form-section {
    margin-bottom: 4vh;
    padding: 3vh;
    background: #fafafa;
    border-radius: 2vh;
    border: 0.1vh solid #e9ecef;
    transition: all 0.3s ease;
}

.form-section:hover {
    background: #f8f9fa;
    border-color: #dee2e6;
    transform: translateY(-0.2vh);
}

.section-header {
    display: flex;
    align-items: center;
    margin-bottom: 3vh;
    padding-bottom: 2vh;
    border-bottom: 0.1vh solid #e9ecef;
}

.section-icon {
    font-size: 2.4vh;
    margin-right: 1.5vh;
    background: linear-gradient(135deg, #a02323, #e43d3d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.section-title {
    color: #a02323;
    font-size: 2.2vh;
    font-weight: 600;
    margin: 0;
}

/* Сетка формы */
.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5vh;
}

.form-group {
    margin-bottom: 0;
}

/* Поля ввода */
.form-control {
    height: 5.5vh;
    border: 0.15vh solid #ddd;
    border-radius: 1.2vh;
    padding: 0 2vh;
    font-size: 1.7vh;
    font-weight: 500;
    transition: all 0.3s ease;
    background: white;
    color: #333;
}

.form-control:focus {
    border-color: #e43d3d;
    box-shadow: 0 0 0 0.3vh rgba(228, 61, 61, 0.15);
    background: white;
    transform: translateY(-0.1vh);
}

.date-input {
    background: white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23a02323' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E") no-repeat right 2vh center;
    background-size: 2vh;
    padding-right: 4vh;
}

.service-select {
    background: white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23a02323' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") no-repeat right 2vh center;
    background-size: 2vh;
    padding-right: 4vh;
}

/* Карточка предыдущих показаний */
.previous-readings-card {
    background: linear-gradient(135deg, #ffffff, #f8f9fa);
    border-radius: 1.8vh;
    padding: 3vh;
    border: 0.1vh solid #e9ecef;
    margin-bottom: 3vh;
    box-shadow: 0 0.2vh 0.8vh rgba(0, 0, 0, 0.05);
}

.previous-readings-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.5vh;
}

.previous-readings-header h4 {
    color: #333;
    font-size: 1.9vh;
    font-weight: 600;
    margin: 0;
}

.readings-date {
    color: #666;
    font-size: 1.4vh;
    font-style: italic;
}

.readings-display {
    display: flex;
    flex-direction: column;
    gap: 1.5vh;
}

.reading-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2vh;
    background: white;
    border-radius: 1.5vh;
    border: 0.1vh solid #e9ecef;
    transition: all 0.3s ease;
}

.reading-item:hover {
    border-color: #e43d3d;
    transform: translateX(0.5vh);
}

.service-info {
    display: flex;
    align-items: center;
    gap: 1.5vh;
}

.service-icon {
    font-size: 2.2vh;
}

.service-name {
    font-weight: 600;
    color: #333;
    font-size: 1.6vh;
}

.reading-value {
    font-weight: 700;
    color: #a02323;
    font-size: 1.7vh;
    background: #fff5f5;
    padding: 0.8vh 1.5vh;
    border-radius: 1vh;
    border: 0.1vh solid #ffcccc;
}

.unit {
    color: #666;
    font-weight: 500;
    font-size: 1.4vh;
}

/* Поле ввода текущих показаний */
.current-reading-input {
    margin-top: 2vh;
}

.input-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1vh;
}

.input-hint {
    color: #666;
    font-size: 1.4vh;
    font-style: italic;
}

.input-with-unit {
    position: relative;
    display: flex;
    align-items: center;
}

.current-readings-input {
    padding-right: 8vh;
    font-size: 1.8vh;
    font-weight: 600;
    text-align: right;
}

.input-unit {
    position: absolute;
    right: 2vh;
    color: #a02323;
    font-size: 1.5vh;
    font-weight: 600;
    background: #fff5f5;
    padding: 0.8vh 1.2vh;
    border-radius: 0.8vh;
    border: 0.1vh solid #ffcccc;
}

/* Кнопки */
.form-actions {
    display: flex;
    gap: 2vh;
    margin-top: 4vh;
    padding-top: 3vh;
    border-top: 0.1vh solid #e9ecef;
    justify-content: center;
}

.btn {
    height: 5.5vh;
    border: none;
    border-radius: 1.5vh;
    font-size: 1.7vh;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 3.5vh;
    text-decoration: none;
    white-space: nowrap;
    gap: 1vh;
}

.btn-primary {
    background: linear-gradient(135deg, #a02323, #e43d3d);
    color: white;
    box-shadow: 0 0.4vh 1.2vh rgba(160, 35, 35, 0.3);
}

.btn-primary:hover {
    background: linear-gradient(135deg, #e43d3d, #a02323);
    transform: translateY(-0.3vh);
    box-shadow: 0 0.6vh 1.8vh rgba(160, 35, 35, 0.4);
}

.btn-primary:active {
    transform: translateY(-0.1vh);
}

.btn-outline {
    background: transparent;
    border: 0.15vh solid #e43d3d;
    color: #e43d3d;
}

.btn-outline:hover {
    background: #e43d3d;
    color: white;
    transform: translateY(-0.2vh);
}

.btn-large {
    height: 6vh;
    font-size: 1.9vh;
    padding: 0 4vh;
}

.btn-submit {
    min-width: 25vh;
}

/* Информационная карточка */
.readings-info-card {
    background: white;
    border-radius: 2.5vh;
    box-shadow: 0 0.6vh 2vh rgba(160, 35, 35, 0.1);
    padding: 3vh;
    border: 0.1vh solid #e0e0e0;
    position: sticky;
    top: 3vh;
}

.info-card-header {
    display: flex;
    align-items: center;
    margin-bottom: 3vh;
    padding-bottom: 2vh;
    border-bottom: 0.1vh solid #e9ecef;
}

.info-icon {
    font-size: 2.2vh;
    margin-right: 1.5vh;
}

.info-card-header h3 {
    color: #a02323;
    font-size: 2vh;
    font-weight: 600;
    margin: 0;
}

.tariffs-info {
    display: flex;
    flex-direction: column;
    gap: 1.5vh;
    margin-bottom: 2.5vh;
}

.tariff-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2vh;
    background: #f8f9fa;
    border-radius: 1.5vh;
    border: 0.1vh solid #e9ecef;
    transition: all 0.3s ease;
}

.tariff-item.highlighted {
    background: linear-gradient(135deg, #fff5f5, #ffe6e6);
    border-color: #ffcccc;
}

.tariff-item:hover {
    transform: translateX(0.5vh);
    border-color: #e43d3d;
}

.tariff-service {
    display: flex;
    align-items: center;
    gap: 1.2vh;
    font-weight: 600;
    color: #333;
    font-size: 1.5vh;
}

.tariff-price {
    color: #a02323;
    font-weight: 700;
    font-size: 1.5vh;
}

.info-footer {
    padding-top: 2vh;
    border-top: 0.1vh solid #e9ecef;
    text-align: center;
}

.info-footer p {
    color: #666;
    font-size: 1.4vh;
    margin: 0;
    font-style: italic;
}

/* Ошибки валидации */
.help-block {
    color: #e43d3d;
    font-size: 1.4vh;
    margin-top: 0.8vh;
    display: block;
    font-weight: 500;
}

.has-error .form-control {
    border-color: #e43d3d;
    background: #fff5f5;
}

.has-error .form-control:focus {
    border-color: #e43d3d;
    box-shadow: 0 0 0 0.3vh rgba(228, 61, 61, 0.15);
}

/* ===== УЛУЧШЕННЫЕ СТИЛИ ДЛЯ ФОРМЫ ПОКАЗАНИЙ ===== */

.services-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5vh;
}

.service-card {
    background: linear-gradient(135deg, #ffffff, #fafafa);
    border: 0.15vh solid #e9ecef;
    border-radius: 2vh;
    padding: 3vh;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0.6vh;
    height: 100%;
    background: linear-gradient(135deg, #a02323, #e43d3d);
}

.service-card:hover {
    transform: translateY(-0.3vh);
    box-shadow: 0 0.6vh 2vh rgba(160, 35, 35, 0.1);
    border-color: #e43d3d;
}

.service-header {
    display: flex;
    align-items: center;
    margin-bottom: 2.5vh;
    padding-bottom: 2vh;
    border-bottom: 0.1vh solid #f0f0f0;
}

.service-icon {
    font-size: 3vh;
    margin-right: 1.5vh;
    background: linear-gradient(135deg, #a02323, #e43d3d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.service-name {
    color: #333;
    font-size: 2vh;
    font-weight: 700;
    margin: 0;
}

.readings-comparison {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 2vh;
    align-items: center;
    margin-bottom: 2vh;
}

.previous-reading {
    background: #f8f9fa;
    padding: 2vh;
    border-radius: 1.5vh;
    border: 0.1vh solid #e9ecef;
    text-align: center;
}

.reading-label {
    display: block;
    color: #666;
    font-size: 1.4vh;
    margin-bottom: 0.5vh;
    font-weight: 500;
}

.reading-value {
    display: block;
    color: #a02323;
    font-size: 2vh;
    font-weight: 700;
}

.reading-unit {
    display: block;
    color: #888;
    font-size: 1.4vh;
    margin-top: 0.3vh;
}

.input-with-arrow {
    display: flex;
    align-items: center;
    gap: 1.5vh;
}

.arrow {
    font-size: 2.5vh;
    color: #e43d3d;
    font-weight: bold;
}

.current-reading-input {
    flex: 1;
}

.input-with-unit {
    position: relative;
}

.input-with-unit .form-control {
    text-align: right;
    font-size: 1.8vh;
    font-weight: 600;
}

.input-unit {
    position: absolute;
    right: 2vh;
    top: 50%;
    transform: translateY(-50%);
    color: #a02323;
    font-size: 1.5vh;
    font-weight: 600;
    background: #fff5f5;
    padding: 0.5vh 1vh;
    border-radius: 0.6vh;
}

.service-info {
    background: #f8f9fa;
    padding: 1.5vh 2vh;
    border-radius: 1.2vh;
    border: 0.1vh solid #e9ecef;
}

.tariff-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tariff-label {
    color: #666;
    font-size: 1.4vh;
    font-weight: 500;
}

.tariff-value {
    color: #a02323;
    font-size: 1.5vh;
    font-weight: 700;
}

.date-input-container {
    max-width: 30vh;
}

.date-hint {
    color: #666;
    font-size: 1.4vh;
    margin-top: 0.8vh;
    font-style: italic;
}

.submission-section {
    background: linear-gradient(135deg, #fff5f5, #ffe6e6);
    border-color: #ffcccc;
}

.submission-info {
    display: flex;
    align-items: flex-start;
    gap: 1.5vh;
    margin-bottom: 2.5vh;
}

.info-icon {
    font-size: 2.2vh;
    background: linear-gradient(135deg, #a02323, #e43d3d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-top: 0.3vh;
}

.info-content h4 {
    color: #a02323;
    font-size: 1.8vh;
    font-weight: 600;
    margin: 0 0 0.8vh 0;
}

.info-content p {
    color: #666;
    font-size: 1.5vh;
    margin: 0;
    line-height: 1.4;
}

/* ===== УЛУЧШЕННАЯ ТАБЛИЦА ПОКАЗАНИЙ ===== */

.readings-table-container {
    background: white;
    border-radius: 2.5vh;
    box-shadow: 0 0.6vh 2vh rgba(160, 35, 35, 0.08);
    overflow: hidden;
    margin-bottom: 3vh;
}

.readings-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.table-header {
    background: linear-gradient(135deg, #a02323, #e43d3d);
    color: white;
    font-weight: 600;
    font-size: 1.6vh;
    padding: 2.5vh 2vh;
    border: none;
    text-align: left;
    position: relative;
}

.table-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0.2vh;
    background: rgba(255, 255, 255, 0.3);
}

.table-cell {
    padding: 2vh 2vh;
    border-bottom: 0.1vh solid #f0f0f0;
    font-size: 1.5vh;
    color: #333;
    transition: all 0.2s ease;
}

.table-row:hover .table-cell {
    background: #f8f9fa;
}

.table-row:last-child .table-cell {
    border-bottom: none;
}

/* Специфичные стили для колонок */
.date-cell {
    font-weight: 600;
    color: #555;
}

.service-cell {
    font-weight: 600;
}

.readings-cell {
    text-align: right;
    font-family: 'Courier New', monospace;
}

.current-reading {
    color: #a02323;
    font-weight: 700;
}

.consumption-cell {
    text-align: right;
    font-weight: 600;
    color: #e43d3d;
}

.tariff-cell, .sum-cell {
    text-align: right;
    font-weight: 600;
}

.sum-cell {
    color: #a02323;
    font-size: 1.6vh;
}

.status-cell {
    text-align: center;
}

.status {
    padding: 0.6vh 1.2vh;
    border-radius: 1vh;
    font-size: 1.3vh;
    font-weight: 600;
    display: inline-block;
    min-width: 12vh;
}

.status-new {
    background: #fff3cd;
    color: #856404;
    border: 0.1vh solid #ffeaa7;
}

.status-accepted {
    background: #d4edda;
    color: #155724;
    border: 0.1vh solid #c3e6cb;
}

.status-rejected {
    background: #f8d7da;
    color: #721c24;
    border: 0.1vh solid #f1b0b7;
}

/* Футер таблицы */
.table-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.5vh 3vh;
    background: #f8f9fa;
    border-top: 0.1vh solid #e9ecef;
}

.summary {
    color: #666;
    font-size: 1.4vh;
}

.pagination {
    display: flex;
    gap: 0.5vh;
    margin: 0;
}

.page-link {
    padding: 1vh 1.5vh;
    border: 0.1vh solid #ddd;
    border-radius: 1vh;
    color: #a02323;
    text-decoration: none;
    font-size: 1.4vh;
    transition: all 0.3s ease;
}

.page-link:hover {
    background: #a02323;
    color: white;
    border-color: #a02323;
}

.pagination .active .page-link {
    background: #a02323;
    color: white;
    border-color: #a02323;
}

/* Сетка карточек внизу */
.summary-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3vh;
}

.summary-card {
    background: white;
    border-radius: 2vh;
    box-shadow: 0 0.4vh 1.2vh rgba(160, 35, 35, 0.08);
    padding: 3vh;
    border: 0.1vh solid #e0e0e0;
}

.card-header {
    display: flex;
    align-items: center;
    margin-bottom: 2vh;
    padding-bottom: 1.5vh;
    border-bottom: 0.1vh solid #e9ecef;
}

.card-icon {
    font-size: 2.2vh;
    margin-right: 1.5vh;
    background: linear-gradient(135deg, #a02323, #e43d3d);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.card-header h3 {
    color: #a02323;
    font-size: 1.9vh;
    font-weight: 600;
    margin: 0;
}

.instructions-list {
    color: #555;
    font-size: 1.5vh;
    line-height: 1.6;
    margin: 0;
    padding-left: 2vh;
}

.instructions-list li {
    margin-bottom: 1.2vh;
}

.instructions-list li:last-child {
    margin-bottom: 0;
}

.status-info {
    display: flex;
    flex-direction: column;
    gap: 1.5vh;
}

.status-item {
    display: flex;
    align-items: center;
    gap: 1.5vh;
}

.status-indicator {
    font-size: 1.8vh;
    width: 3vh;
    text-align: center;
}

.status-text {
    color: #555;
    font-size: 1.5vh;
    font-weight: 500;
}

/* Статистика */
.stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 1.5vh;
    margin-bottom: 2.5vh;
}

.stat-item {
    background: #f8f9fa;
    padding: 2vh;
    border-radius: 1.5vh;
    text-align: center;
    border: 0.1vh solid #e9ecef;
}

.stat-value {
    color: #a02323;
    font-size: 2.2vh;
    font-weight: 700;
    margin-bottom: 0.5vh;
}

.stat-label {
    color: #666;
    font-size: 1.3vh;
    font-weight: 500;
}

/* Основные стили главной страницы */
.site-index {
    min-height: 100vh;
}

/* Герой секция */
.hero-section {
    background: linear-gradient(135deg, #a02323 0%, #e43d3d 50%, #ff6b6b 100%);
    color: white;
    padding: 8vh 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.hero-background {
    position: relative;
    z-index: 2;
}

.hero-content {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 4vh;
}

.hero-logo {
    margin-bottom: 6vh;
}

.logo-icon {
    font-size: 12vh;
    margin-bottom: 2vh;
    filter: drop-shadow(0 0.4vh 1vh rgba(0,0,0,0.3));
}

.logo-title {
    font-size: 6vh;
    font-weight: 700;
    margin-bottom: 1vh;
    text-shadow: 0 0.2vh 0.4vh rgba(0,0,0,0.3);
}

.logo-subtitle {
    font-size: 2.4vh;
    opacity: 0.9;
    font-weight: 300;
}

.hero-actions {
    display: flex;
    gap: 3vh;
    justify-content: center;
    flex-wrap: wrap;
}

/* Секции */
.welcome-section,
.instructions-section,
.contacts-section,
.news-section,
.additional-sections {
    padding: 8vh 0;
}

.welcome-section {
    background: #f8f9fa;
}

.instructions-section {
    background: white;
}

.contacts-section {
    background: #f8f9fa;
}

.news-section {
    background: white;
}

.additional-sections {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 4vh;
}

.section-header {
    text-align: center;
    margin-bottom: 6vh;
}

.section-title {
    color: #a02323;
    font-size: 4vh;
    font-weight: 700;
    margin-bottom: 1vh;
}

.section-subtitle {
    color: #666;
    font-size: 2vh;
    font-weight: 400;
}

/* Features Grid */
.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3vh;
    margin-top: 4vh;
}

.feature-card {
    background: white;
    padding: 4vh;
    border-radius: 2vh;
    text-align: center;
    box-shadow: 0 0.4vh 1.2vh rgba(160, 35, 35, 0.1);
    border: 0.1vh solid #e0e0e0;
    transition: all 0.3s ease;
}

.feature-card:hover {
    transform: translateY(-0.5vh);
    box-shadow: 0 0.8vh 2.5vh rgba(160, 35, 35, 0.15);
}

.feature-icon {
    font-size: 5vh;
    margin-bottom: 2vh;
}

.feature-title {
    color: #333;
    font-size: 2.2vh;
    font-weight: 600;
    margin-bottom: 1.5vh;
}

.feature-description {
    color: #666;
    font-size: 1.6vh;
    line-height: 1.4;
}

/* Instructions Steps */
.instructions-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 3vh;
    margin-bottom: 6vh;
}

.step-card {
    display: flex;
    align-items: flex-start;
    gap: 2vh;
    background: #f8f9fa;
    padding: 3vh;
    border-radius: 2vh;
    border-left: 0.4vh solid #e43d3d;
}

.step-number {
    background: linear-gradient(135deg, #a02323, #e43d3d);
    color: white;
    width: 4vh;
    height: 4vh;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.8vh;
    flex-shrink: 0;
}

.step-content h3 {
    color: #333;
    font-size: 1.9vh;
    font-weight: 600;
    margin-bottom: 1vh;
}

.step-content p {
    color: #666;
    font-size: 1.5vh;
    line-height: 1.4;
}

/* Tips Grid */
.tips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 3vh;
}

.tip-card {
    display: flex;
    align-items: flex-start;
    gap: 2vh;
    padding: 3vh;
    border-radius: 2vh;
    border: 0.1vh solid;
}

.tip-card.important {
    background: #fff5f5;
    border-color: #ffcccc;
}

.tip-card.warning {
    background: #fffbf0;
    border-color: #ffeaa7;
}

.tip-icon {
    font-size: 2.5vh;
    flex-shrink: 0;
}

.tip-content h4 {
    font-size: 1.8vh;
    font-weight: 600;
    margin-bottom: 1vh;
}

.tip-content p {
    font-size: 1.5vh;
    line-height: 1.4;
    color: #666;
}

/* Contacts Grid */
.contacts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6vh;
    align-items: start;
}

.contact-methods {
    display: flex;
    flex-direction: column;
    gap: 3vh;
}

.contact-card {
    display: flex;
    align-items: flex-start;
    gap: 2vh;
    padding: 3vh;
    background: white;
    border-radius: 2vh;
    box-shadow: 0 0.4vh 1.2vh rgba(0,0,0,0.1);
    border: 0.1vh solid #e0e0e0;
}

.contact-icon {
    font-size: 3vh;
    flex-shrink: 0;
}

.contact-info h4 {
    color: #333;
    font-size: 1.8vh;
    font-weight: 600;
    margin-bottom: 0.5vh;
}

.contact-info p {
    color: #a02323;
    font-size: 1.7vh;
    font-weight: 600;
    margin-bottom: 0.5vh;
}

.contact-hours {
    color: #666;
    font-size: 1.4vh;
    font-style: italic;
}

.support-info {
    background: white;
    padding: 4vh;
    border-radius: 2vh;
    box-shadow: 0 0.4vh 1.2vh rgba(0,0,0,0.1);
    border: 0.1vh solid #e0e0e0;
}

.support-info h3 {
    color: #333;
    font-size: 2.2vh;
    font-weight: 600;
    margin-bottom: 2vh;
}

.support-info p {
    color: #666;
    font-size: 1.5vh;
    margin-bottom: 1.5vh;
    line-height: 1.4;
}

.emergency-contacts {
    margin-top: 3vh;
    padding-top: 2vh;
    border-top: 0.1vh solid #e9ecef;
}

.emergency-contacts h4 {
    color: #333;
    font-size: 1.7vh;
    font-weight: 600;
    margin-bottom: 1.5vh;
}

.emergency-grid {
    display: flex;
    flex-direction: column;
    gap: 1vh;
}

.emergency-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5vh;
    background: #f8f9fa;
    border-radius: 1vh;
    border: 0.1vh solid #e9ecef;
}

.service-name {
    color: #333;
    font-size: 1.5vh;
    font-weight: 500;
}

.service-phone {
    color: #a02323;
    font-size: 1.5vh;
    font-weight: 600;
}

/* News Grid */
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 3vh;
    margin-bottom: 6vh;
}

.news-card {
    background: white;
    padding: 3vh;
    border-radius: 2vh;
    box-shadow: 0 0.4vh 1.2vh rgba(0,0,0,0.1);
    border: 0.1vh solid #e0e0e0;
    position: relative;
    transition: all 0.3s ease;
}

.news-card:hover {
    transform: translateY(-0.3vh);
    box-shadow: 0 0.6vh 2vh rgba(0,0,0,0.15);
}

.news-badge {
    position: absolute;
    top: 2vh;
    right: 2vh;
    padding: 0.5vh 1.5vh;
    border-radius: 1vh;
    font-size: 1.2vh;
    font-weight: 600;
    text-transform: uppercase;
}

.news-card.important .news-badge {
    background: #fff5f5;
    color: #e43d3d;
    border: 0.1vh solid #ffcccc;
}

.news-card.update .news-badge {
    background: #f0f8ff;
    color: #1e90ff;
    border: 0.1vh solid #b0e0e6;
}

.news-card.deadline .news-badge {
    background: #fffbf0;
    color: #ffa500;
    border: 0.1vh solid #ffeaa7;
}

.news-date {
    color: #666;
    font-size: 1.3vh;
    margin-bottom: 1vh;
}

.news-title {
    color: #333;
    font-size: 1.8vh;
    font-weight: 600;
    margin-bottom: 1.5vh;
    line-height: 1.3;
}

.news-excerpt {
    color: #666;
    font-size: 1.5vh;
    line-height: 1.4;
}

/* Deadline Reminder */
.deadline-reminder {
    display: flex;
    align-items: center;
    gap: 3vh;
    background: linear-gradient(135deg, #fff5f5, #ffe6e6);
    padding: 4vh;
    border-radius: 2vh;
    border: 0.1vh solid #ffcccc;
}

.reminder-icon {
    font-size: 5vh;
    flex-shrink: 0;
}

.reminder-content h3 {
    color: #333;
    font-size: 2vh;
    font-weight: 600;
    margin-bottom: 0.5vh;
}

.deadline-date {
    color: #a02323;
    font-size: 1.8vh;
    font-weight: 700;
    margin-bottom: 0.5vh;
}

.deadline-days {
    color: #666;
    font-size: 1.5vh;
}

/* Additional Sections */
.sections-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3vh;
}

.section-card {
    background: white;
    padding: 4vh;
    border-radius: 2vh;
    text-align: center;
    box-shadow: 0 0.4vh 1.2vh rgba(160, 35, 35, 0.1);
    border: 0.1vh solid #e0e0e0;
    transition: all 0.3s ease;
}

.section-card:hover {
    transform: translateY(-0.5vh);
    box-shadow: 0 0.8vh 2.5vh rgba(160, 35, 35, 0.15);
}

.section-icon {
    font-size: 4vh;
    margin-bottom: 2vh;
}

.section-card-title {
    color: #333;
    font-size: 2vh;
    font-weight: 600;
    margin-bottom: 1.5vh;
}

.section-card-description {
    color: #666;
    font-size: 1.5vh;
    line-height: 1.4;
    margin-bottom: 2vh;
}

.section-link {
    color: #e43d3d;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.5vh;
    transition: color 0.3s ease;
}

.section-link:hover {
    color: #a02323;
    text-decoration: underline;
}

/* Кнопки */
.btn {
    height: 5.5vh;
    border: none;
    border-radius: 1.5vh;
    font-size: 1.7vh;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 3.5vh;
    text-decoration: none;
    white-space: nowrap;
    gap: 1vh;
}

.btn-primary {
    background: linear-gradient(135deg, #a02323, #e43d3d);
    color: white;
    box-shadow: 0 0.4vh 1.2vh rgba(160, 35, 35, 0.3);
}

.btn-primary:hover {
    background: linear-gradient(135deg, #e43d3d, #a02323);
    transform: translateY(-0.3vh);
    box-shadow: 0 0.6vh 1.8vh rgba(160, 35, 35, 0.4);
}

.btn-outline {
    background: transparent;
    border: 0.15vh solid #e43d3d;
    color: #e43d3d;
}

.btn-outline:hover {
    background: #e43d3d;
    color: white;
    transform: translateY(-0.2vh);
}

.btn-large {
    height: 6vh;
    font-size: 1.9vh;
    padding: 0 4vh;
}

.admin-index {
    max-width: 160vh;
    margin: 0 auto;
    padding: 3vh 2vh;
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    min-height: 100vh;
}

.admin-header {
    text-align: center;
    margin-bottom: 4vh;
    padding: 3vh;
    background: white;
    border-radius: 2vh;
    box-shadow: 0 0.4vh 1.2vh rgba(160, 35, 35, 0.08);
    border: 0.1vh solid #e0e0e0;
}

.admin-title {
    color: #a02323;
    font-size: 3.8vh;
    font-weight: 700;
    margin: 0 0 1vh 0;
    text-shadow: 0 0.2vh 0.4vh rgba(160, 35, 35, 0.1);
}

.admin-subtitle {
    color: #666;
    font-size: 1.8vh;
    font-weight: 500;
}

/* Статистика */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2vh;
    margin-bottom: 4vh;
}

.stat-card {
    background: white;
    padding: 3vh;
    border-radius: 2vh;
    box-shadow: 0 0.4vh 1.2vh rgba(0,0,0,0.1);
    border: 0.1vh solid #e0e0e0;
    display: flex;
    align-items: center;
    gap: 2vh;
    transition: all 0.3s ease;
}

.stat-card:hover {
    transform: translateY(-0.3vh);
    box-shadow: 0 0.6vh 2vh rgba(0,0,0,0.15);
}

.stat-card.new {
    border-left: 0.4vh solid #ffa500;
}

.stat-card.accepted {
    border-left: 0.4vh solid #28a745;
}

.stat-card.rejected {
    border-left: 0.4vh solid #dc3545;
}

.stat-card.users {
    border-left: 0.4vh solid #17a2b8;
}

.stat-icon {
    font-size: 3vh;
    width: 6vh;
    height: 6vh;
    background: #f8f9fa;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stat-value {
    color: #a02323;
    font-size: 2.4vh;
    font-weight: 700;
    line-height: 1;
}

.stat-label {
    color: #666;
    font-size: 1.4vh;
    font-weight: 500;
}

/* Быстрые действия */
.quick-actions {
    background: white;
    padding: 3vh;
    border-radius: 2vh;
    box-shadow: 0 0.4vh 1.2vh rgba(0,0,0,0.1);
    border: 0.1vh solid #e0e0e0;
    margin-bottom: 4vh;
}

.actions-title {
    color: #333;
    font-size: 2vh;
    font-weight: 600;
    margin-bottom: 2vh;
}

.actions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 2vh;
}

.action-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1vh;
    padding: 2vh;
    background: #f8f9fa;
    border: 0.1vh solid #e9ecef;
    border-radius: 1.5vh;
    color: #333;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.6vh;
    transition: all 0.3s ease;
}

.action-btn:hover {
    background: #e43d3d;
    color: white;
    transform: translateY(-0.2vh);
}

.action-btn.users:hover {
    background: #17a2b8;
}

.action-btn.tariffs:hover {
    background: #28a745;
}

.action-btn.stats:hover {
    background: #6f42c1;
}

/* Таблица */
.table-header-section {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2vh;
    padding: 0 1vh;
}

.table-title {
    color: #333;
    font-size: 2.2vh;
    font-weight: 600;
    margin: 0;
}

.table-actions {
    display: flex;
    gap: 2vh;
    align-items: center;
}

.filter-info {
    color: #666;
    font-size: 1.4vh;
}

.readings-table-container {
    background: white;
    border-radius: 2.5vh;
    box-shadow: 0 0.6vh 2vh rgba(160, 35, 35, 0.08);
    overflow: hidden;
    margin-bottom: 3vh;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.table-header {
    background: linear-gradient(135deg, #a02323, #e43d3d);
    color: white;
    font-weight: 600;
    font-size: 1.6vh;
    padding: 2.5vh 2vh;
    border: none;
    text-align: left;
    position: relative;
}

.table-header::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0.2vh;
    background: rgba(255, 255, 255, 0.3);
}

.table-cell {
    padding: 2vh 2vh;
    border-bottom: 0.1vh solid #f0f0f0;
    font-size: 1.5vh;
    color: #333;
    transition: all 0.2s ease;
}

.table-row:hover .table-cell {
    background: #f8f9fa;
}

.table-row:last-child .table-cell {
    border-bottom: none;
}

/* Специфичные стили для колонок */
.id-cell {
    font-weight: 600;
    color: #555;
    font-family: 'Courier New', monospace;
}

.user-cell {
    font-weight: 600;
}

.date-cell {
    font-weight: 500;
}

.service-cell {
    font-weight: 600;
}

.readings-cell,
.consumption-cell,
.sum-cell {
    text-align: right;
    font-family: 'Courier New', monospace;
    font-weight: 600;
}

.sum-cell {
    color: #a02323;
}

.status-cell {
    text-align: center;
}

.status {
    padding: 0.6vh 1.2vh;
    border-radius: 1vh;
    font-size: 1.3vh;
    font-weight: 600;
    display: inline-block;
    min-width: 12vh;
}

.status-new {
    background: #fff3cd;
    color: #856404;
    border: 0.1vh solid #ffeaa7;
}

.status-accepted {
    background: #d4edda;
    color: #155724;
    border: 0.1vh solid #c3e6cb;
}

.status-rejected {
    background: #f8d7da;
    color: #721c24;
    border: 0.1vh solid #f1b0b7;
}

.actions-cell {
    text-align: center;
    white-space: nowrap;
}

.btn-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 3.5vh;
    height: 3.5vh;
    border: none;
    border-radius: 0.8vh;
    margin: 0 0.3vh;
    text-decoration: none;
    font-size: 1.4vh;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-action.view {
    background: #17a2b8;
    color: white;
}

.btn-action.accept {
    background: #28a745;
    color: white;
}

.btn-action.reject {
    background: #dc3545;
    color: white;
}

.btn-action:hover {
    transform: scale(1.1);
    opacity: 0.9;
}

/* Футер таблицы */
.table-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.5vh 3vh;
    background: #f8f9fa;
    border-top: 0.1vh solid #e9ecef;
}

.summary {
    color: #666;
    font-size: 1.4vh;
}

.pagination {
    display: flex;
    gap: 0.5vh;
    margin: 0;
}

.page-link {
    padding: 1vh 1.5vh;
    border: 0.1vh solid #ddd;
    border-radius: 1vh;
    color: #a02323;
    text-decoration: none;
    font-size: 1.4vh;
    transition: all 0.3s ease;
}

.page-link:hover {
    background: #a02323;
    color: white;
    border-color: #a02323;
}

.pagination .active .page-link {
    background: #a02323;
    color: white;
    border-color: #a02323;
}
