.modal {
    display: none; /* Скрыть модальное окно по умолчанию */
    position: fixed; /* Оставаться на месте при прокрутке */
    z-index: 1050;
    left: 0;
    top: 0;
    width: 100%; /* Полная ширина */
    height: 100%; /* Полная высота */
    overflow: auto; /* Включить прокрутку, если нужно */
    background-color: rgb(0,0,0); /* Фон с непрозрачностью */
    background-color: rgba(0,0,0,0.4); /* Черный с непрозрачностью */ 
}

.modal-content {
    /* Убираем маржин для автоматического центрирования */
    margin: auto;
    display: contents! important;
    /* Центрирование с помощью transform */
    position: relative! important;
    top: 50%;
    transform: translateY(-50%);
    max-height: 80vh; /* Высота не более 80% от высоты экрана */
    overflow-y: auto; /* Добавляем прокрутку для содержимого */
    /* Ширина может оставаться 80% или настраиваться по желанию */
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}
.invoice-container {
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
    padding: 20px;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-radius: 4px;
}

.invoice-container h1 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 20px;
}

.form-group {
    flex: 1;
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
}

.form-group input[type="text"],
.form-group select,
.form-group textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-family: inherit;
    font-size: inherit;
    box-sizing: border-box;
}

.form-group textarea {
    resize: none; /* Disable manual resize */
    min-height: 44px;
    overflow: hidden; /* Hide scrollbar */
    box-sizing: border-box;
}

#service-section,
#payment-section {
    margin-bottom: 20px;
}

button {
    padding: 10px 15px;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

button:hover {
    background-color: #0056b3;
}

.totals {
    margin-top: 20px;
    font-weight: bold;
    text-align: left;
}

.totals .total-amount,
.totals .balance-amount {
    margin-bottom: 10px;
}

.form-buttons {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.invoice-button {
    padding: 10px;
    border: none;
    color: white;
    font-size: 18px;
    flex: 1; /* Разделяет доступное пространство поровну между кнопками */
    margin: 0 5px; /* Добавляет небольшой отступ между кнопками */
}

.invoice-button[type="submit"] {
    background-color: #28a745;
}

.invoice-button[type="submit"]:hover {
    background-color: #218838;
}

.invoice-button#cancel-invoice {
    background-color: #dc3545; /* Красный цвет для кнопки отмены */
}

.invoice-button#cancel-invoice:hover {
    background-color: #c82333;
}

.form-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
}
.form-group:last-child {
    margin-right: 0;
    margin-left: 10px;
}
@media print {
    .no-print {
        display: none !important;
    }
}
.totals {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.created-at, .balance, .total {
    flex: 1;
}


