/* ИИ: порядок <link> — docs/css-cascade-order.md · ур.4 компонент: buttons. */
/* ==========================================================================
 * BUTTONS-UNI — кнопки, action links и disabled/hover states
 * Техническая логика для ИИ-ассистента:
 * - хранить здесь `.student-btn`, `.student-link-button`, submit/action states и disabled-визуал;
 * - table/form/layout правила не дублировать здесь, а переносить в профильные модули;
 * - не создавать новый `student.css`: новые button overrides добавлять сюда.
 * ========================================================================== */

/* Button styles - ONLY for submit-button, NOT for .btn classes *//* To avoid conflicts with modern button system */.submit-button, button.submit-button, button.action-button
{
    background-color: #4CAF50;
    color: white;
    padding: 12px 20px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
}/* Кнопка отправки */.apostille-submit-btn
{
    background: #4CAF50;
    color: white;
    padding: 16px 40px;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.3px;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 14px rgba(76, 175, 80, 0.3);
    position: relative;
    overflow: hidden;
    margin-top: 8px;
}.apostille-submit-btn::before
{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}.apostille-submit-btn:hover
{
    background: #45a049;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(76, 175, 80, 0.4);
}.apostille-submit-btn:hover::before
{
    width: 300px;
    height: 300px;
}.apostille-submit-btn:active
{
    transform: translateY(0);
    box-shadow: 0 4px 14px rgba(102, 126, 234, 0.3);
}.btn i.btn-icon, .btn .btn-icon, button .btn-icon
{
    margin-right: var(--space-1, 4px);
}.document-actions-container .btn-delete-doc
{
    background-color: #dc3545 !important;
    color: white !important;
    border: none !important;
    padding: 5px 10px !important;
    border-radius: 3px !important;
    cursor: pointer !important;
    font-size: 14px !important;
    display: inline-block !important;
    vertical-align: top !important;
    transition: background-color 0.2s ease !important;
}.document-actions-container .btn-delete-doc:hover
{
    background-color: #c82333 !important;
}/* === 📄 Кнопки действий с документами === */.view-btn
{
    color: #007bff;
}.view-btn:hover
{
    background-color: rgba(0, 123, 255, 0.1);
    color: #0056b3;
    transform: translateY(-2px) scale(1.1);
}.download-btn
{
    color: #28a745;
}.download-btn:hover
{
    background-color: rgba(40, 167, 69, 0.1);
    color: #218838;
    transform: translateY(-2px) scale(1.1);
}.delete-btn
{
    color: #dc3545;
}.delete-btn:hover
{
    background-color: rgba(220, 53, 69, 0.1);
    color: #c82333;
    transform: translateY(-2px) scale(1.1);
}/* Универсальные кнопки действий */.sys-btn-group
{
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 25px;
    flex-wrap: wrap;
}.sys-btn
{
    padding: 14px 30px;
    border: none;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    text-align: center;
}.sys-btn-primary
{
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    box-shadow: 0 4px 10px rgba(102, 126, 234, 0.4);
}.sys-btn-primary:hover
{
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(102, 126, 234, 0.6);
}.sys-btn-primary:active
{
    transform: translateY(0);
}.sys-btn-secondary
{
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
    color: white;
    box-shadow: 0 4px 10px rgba(108, 117, 125, 0.4);
}.sys-btn-secondary:hover
{
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(108, 117, 125, 0.6);
}.sys-btn-success
{
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    box-shadow: 0 4px 10px rgba(40, 167, 69, 0.4);
}.sys-btn-success:hover
{
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(40, 167, 69, 0.6);
}#editOrderForm button[name="action"][value="delete"]
{
    background: #dc3545;
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
}#editOrderForm button[name="action"][value="delete"]:hover
{
    background: #c82333;
    box-shadow: 0 4px 12px rgba(220, 53, 69, 0.4);
}.edit-order-button
{
    background: #007bff;
    color: white;
    padding: 8px 16px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 2px 6px rgba(0, 123, 255, 0.3);
}.edit-order-button:hover
{
    background: #0056b3;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0, 123, 255, 0.4);
}.university-name .btn-primary
{
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-flex;
    font-size: 16px;
    font-weight: 600;
    padding: 12px 20px;
    justify-content: center;
    width: auto;
    min-width: 0;
    word-wrap: break-word;
    white-space: nowrap;
}.university-actions .btn-edit, .university-actions .btn-secondary, .university-actions .btn-primary
{
    flex-shrink: 0;
    margin: 0 !important;
}.lesson-add-btn-deselect-all
{
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #ffffff;
}.lesson-add-btn-deselect-all:hover
{
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}.lesson-add-btn-add-lesson
{
    margin-top: var(--main-space-md);
    padding: 12px 24px;
    background: linear-gradient(135deg, var(--main-primary) 0%, #3ba3c7 100%);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}.lesson-add-btn-add-lesson:hover
{
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(59, 130, 246, 0.4);
}.lesson-add-btn-remove-lesson
{
    margin-top: var(--main-space-md);
    padding: 8px 16px;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.2);
}.lesson-add-btn-remove-lesson:hover
{
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}.lesson-add-btn-submit
{
    margin-top: var(--main-space-lg-plus);
    padding: 14px 32px;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: #ffffff;
    border: none;
    border-radius: 12px;
    font-weight: 700;
    font-size: 1.05rem;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(16, 185, 129, 0.3);
    width: 100%;
    position: relative;
    overflow: hidden;
}.lesson-add-btn-submit::before
{
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s ease;
}.lesson-add-btn-submit:hover
{
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.4);
}.lesson-add-btn-submit:hover::before
{
    left: 100%;
}/* Статусы кнопок */.btn-status-active
{
    background-color: #28a745;
    color: white;
}.btn-status-invitation-active
{
    background-color: #007bff;
    color: white;
}/* Цвета для действий */.action-btn-upload
{
    color: #f39c12;
}.admin-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 20px;
    text-decoration: none;
    border-radius: 6px;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.2s ease;
    border: none;
    cursor: pointer;
    flex: 1;
}.admin-btn-primary
{
    background-color: #0066cc;
    color: white;
}.admin-btn-primary:hover
{
    background-color: #0056b3;
    color: white;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 102, 204, 0.3);
}.admin-btn-secondary
{
    background-color: #6c757d;
    color: white;
}.admin-btn-secondary:hover
{
    background-color: #5a6268;
    color: white;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(108, 117, 125, 0.3);
}.admin-apostille-action-btn
{
    flex: 1;
    padding: 8px 12px;
    border: none;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    min-height: 36px;
}.admin-apostille-action-btn:hover
{
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}.admin-apostille-action-btn:active
{
    transform: translateY(0);
}.admin-apostille-action-btn.admin-apostille-approve
{
    background: linear-gradient(135deg, #2ed573 0%, #17c0eb 100%);
    color: white;
}.admin-apostille-action-btn.admin-apostille-approve:hover
{
    background: linear-gradient(135deg, #26d06c 0%, #0fb9b1 100%);
    box-shadow: 0 4px 12px rgba(46, 213, 115, 0.3);
}.admin-apostille-action-btn.admin-apostille-reject
{
    background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
    color: white;
}.admin-apostille-action-btn.admin-apostille-reject:hover
{
    background: linear-gradient(135deg, #ff5252 0%, #d63031 100%);
    box-shadow: 0 4px 12px rgba(255, 107, 107, 0.3);
}.admin-apostille-action-btn.admin-apostille-view
{
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}.admin-apostille-action-btn.admin-apostille-view:hover
{
    background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}.admin-apostille-action-btn.admin-apostille-delete
{
    background-color: #dc3545;
    color: white;
}.admin-apostille-action-btn.admin-apostille-delete:hover
{
    background-color: #c82333;
}.admin-apostille-action-btn i
{
    font-size: 14px;
}.admin-apostille-order-action-btn
{
    flex: 1;
    padding: 8px 12px;
    border: none;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
}.admin-apostille-order-action-btn.admin-apostille-view
{
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}.admin-apostille-order-action-btn.admin-apostille-view:hover
{
    background: linear-gradient(135deg, #5a67d8 0%, #6b46c1 100%);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}.admin-apostille-order-action-btn.admin-apostille-delete
{
    background-color: #dc3545;
    color: white;
}.admin-apostille-order-action-btn.admin-apostille-delete:hover
{
    background-color: #c82333;
}.admin-apostille-btn-show-more, .admin-apostille-btn-show-all
{
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 25px;
    font-size: 1em;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    gap: 8px;
}.admin-apostille-btn-show-more:hover, .admin-apostille-btn-show-all:hover
{
    transform: translateY(-3px);
    box-shadow: 0 8px 25px rgba(40, 167, 69, 0.4);
    background: linear-gradient(135deg, #20c997 0%, #17a2b8 100%);
}.admin-apostille-btn-show-more:active, .admin-apostille-btn-show-all:active
{
    transform: translateY(-1px);
    box-shadow: 0 4px 15px rgba(40, 167, 69, 0.3);
}.admin-apostille-btn-show-more i, .admin-apostille-btn-show-all i
{
    font-size: 1.1em;
    transition: transform 0.3s ease;
}.admin-apostille-btn-show-more:hover i
{
    transform: scale(1.2) rotate(180deg);
}.admin-apostille-btn-show-all:hover i
{
    transform: scale(1.1);
}/* Классы для ширины элементов *//* Базовые стили для всех элементов формы в таблице (обратная совместимость) *//* === 📋 КЛАССЫ ДЛЯ ЯЧЕЕК ТАБЛИЦЫ ПАРАМЕТРОВ ДОКУМЕНТОВ === *//* Ячейка для даты - соответствует размеру инпута *//* Ячейка для QR позиции - соответствует размеру select *//* Ячейка для чекбокса QR-кода *//* Ячейка для типа шифрования - соответствует размеру select *//* Старые классы удалены - используйте .admin-input-date, .admin-input-qr, .admin-input-encryption *//* Обратная совместимость - старые классы наследуют базовые стили *//* === ℹ️ ИНФОРМАЦИОННЫЙ БЛОК === *//* === 🔘 КНОПКИ === *//* === 📋 СПИСОК ДОКУМЕНТОВ === *//* === 🎯 КНОПКИ ДЕЙСТВИЙ С ДОКУМЕНТАМИ === */.action-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: none;
    font-size: 1rem;
}.action-btn.view-btn
{
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: white;
}.action-btn.view-btn:hover
{
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
}.action-btn.download-btn
{
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
}.action-btn.download-btn:hover
{
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
}.action-btn.delete-btn
{
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
}.action-btn.delete-btn:hover
{
    transform: translateY(-2px) scale(1.1);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4);
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
}.action-btn:active
{
    transform: translateY(0) scale(1);
}.admin-navigation .submit-button
{
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 500;
    font-size: 14px;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    display: inline-block;
    text-align: center;
}.admin-navigation .submit-button:hover
{
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}.admin-button-secondary
{
    background: linear-gradient(135deg, #6c757d 0%, #495057 100%);
    color: #ffffff;
}.admin-button-secondary:hover
{
    background: linear-gradient(135deg, #495057 0%, #6c757d 100%);
}.btn-forgot-password
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #667eea;
    background: transparent;
    padding: 12px 24px;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    border-radius: 12px;
    border: 2px solid #667eea;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
}.btn-forgot-password:hover
{
    color: #ffffff;
    background: #667eea;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
    text-decoration: none;
}.btn-forgot-password:active
{
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(102, 126, 234, 0.2);
}.forgot-password-submit-btn
{
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #ffffff;
    border: none;
    padding: 14px 28px;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
    margin-top: var(--main-space-sm);
}.forgot-password-submit-btn:hover
{
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
    background: linear-gradient(135deg, #764ba2 0%, #667eea 100%);
}.forgot-password-submit-btn:active
{
    transform: translateY(0);
    box-shadow: 0 2px 10px rgba(102, 126, 234, 0.3);
}.action-button
{
    padding: var(--main-space-sm) var(--main-space-xl);
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.85em;
    letter-spacing: 0.8px;
    transition: all 0.3s ease;
}.back-button
{
    display: inline-flex;
    align-items: center;
    padding: var(--main-space-md-plus) 28px;
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: white;
    text-decoration: none;
    border-radius: 28px;
    margin: var(--main-space-lg) 0;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 6px var(--main-space-lg-minus) rgba(102, 126, 234, 0.25);
}.back-button:hover
{
    transform: translateY(-var(--main-space-xxs));
    box-shadow: 0 var(--main-space-sm) var(--main-space-lg) rgba(102, 126, 234, 0.35);
    color: white;
    text-decoration: none;
}.back-button i
{
    margin-right: var(--main-space-md);
    font-size: 1.1em;
}.footer-lang-btn
{
    border: none;
    width: 50px;
    height: 50px;
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 50%;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}.footer-lang-btn::before
{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: rgba(59, 130, 246, 0.1);
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 0;
}.footer-lang-btn:hover::before
{
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.2);
}.footer-lang-btn img
{
    width: 100%;
    height: 100%;
    display: block;
    margin: 0;
    object-fit: cover;
    border-radius: 50%;
    position: relative;
    z-index: 1;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}.footer-lang-btn:hover img
{
    transform: scale(1.1);
}.footer-lang-btn:focus
{
    outline: none;
}.footer-lang-btn:focus-visible
{
    outline: 2px solid var(--main-primary);
    outline-offset: 2px;
}.footer-lang-btn:active
{
    transform: scale(0.95);
}.footer-lang-btn:active img
{
    transform: scale(1.05);
}/* Стили для современного варианта кнопок флагов */.footer-lang-switcher .footer-lang-btn
{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    background: #ffffff;
    border: 2px solid #e2e8f0;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    position: relative;
    overflow: hidden;
}.footer-lang-switcher .footer-lang-btn img
{
    width: 40px;
    height: 40px;
    border: 2px solid #e2e8f0;
}.footer-lang-switcher .footer-lang-btn::before
{
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.1), transparent);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}.footer-lang-switcher .footer-lang-btn:hover::before
{
    left: 100%;
}.footer-lang-switcher .footer-lang-btn:hover
{
    border-color: #1d4ed8;
    transform: translateY(-3px) scale(1.05);
    background: linear-gradient(135deg, #ffffff, #eff6ff);
}.footer-lang-switcher .footer-lang-btn:hover img
{
    transform: scale(1.1);
    border-color: #1d4ed8;
}.footer-lang-switcher .footer-lang-btn.active
{
    border-color: #1d4ed8;
    background: #ffffff;
    transform: scale(1.05);
}.footer-lang-switcher .footer-lang-btn.active img
{
    border-color: #1d4ed8;
}.footer-lang-switcher .footer-lang-btn.active::after
{
    content: "✓";
    position: absolute;
    top: -3px;
    right: -3px;
    width: 18px;
    height: 18px;
    background: #059669;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6rem;
    font-weight: bold;
    border: 2px solid #ffffff;
}.footer-lang-switcher .footer-lang-btn.loading
{
    pointer-events: none;
    opacity: 0.7;
}.footer-lang-switcher .footer-lang-btn.loading::after
{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid #cbd5e1;
    border-top: 2px solid #1d4ed8;
    border-radius: 50%;
    animation: footer-lang-spin 1s linear infinite;
}/* Специальные стили для флагов */.footer-lang-btn img[alt*="Ukraine"], .footer-lang-btn img[alt*="Україна"]
{
    border: 2px solid #0057B7;
}.footer-lang-btn img[alt*="Azerbaijan"], .footer-lang-btn img[alt*="Азербайджан"]
{
    border: 2px solid #009639;
}.footer-lang-btn img[alt*="United Kingdom"], .footer-lang-btn img[alt*="Великобритания"]
{
    border: 2px solid #012169;
}.footer-lang-btn img[alt*="Russia"], .footer-lang-btn img[alt*="Россия"]
{
    border: 2px solid #0039A6;
}/* Улучшенные hover эффекты для флагов */.footer-lang-btn:hover img[alt*="Ukraine"]
{
    border-color: #FFD700;
}.footer-lang-btn:hover img[alt*="Azerbaijan"]
{
    border-color: #FF0000;
}.footer-lang-btn:hover img[alt*="United Kingdom"]
{
    border-color: #C8102E;
}.footer-lang-btn:hover img[alt*="Russia"]
{
    border-color: #FFFFFF;
}/* Кнопка входа через Google */.login-google-btn-wrapper
{
    text-align: center;
    margin: var(--main-space-lg) 0;
}.login-google-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #4285f4;
    color: white;
    width: 50px;
    height: 50px;
    padding: 0;
    text-decoration: none;
    border-radius: 50%;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(66, 133, 244, 0.3);
    position: relative;
}.login-google-btn:hover
{
    background: #357ae8;
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 6px 20px rgba(66, 133, 244, 0.4);
}.login-google-btn:active
{
    transform: translateY(-1px) scale(1.02);
}.login-google-btn--disabled
{
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
}.login-google-btn i
{
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}.footer-logout button.footer-logout-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--main-space-sm);
    padding: var(--main-space-md) var(--main-space-lg);
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    color: white;
    border: 1px solid #dc2626;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3);
    white-space: normal;
    max-width: 100%;
    text-align: center;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
}.footer-logout button.footer-logout-btn:hover
{
    transform: translateY(-2px);
    border-color: #b91c1c;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3), 0 6px 20px rgba(220, 38, 38, 0.25);
    background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
    filter: brightness(1.05);
}.footer-logout button.footer-logout-btn:active
{
    transform: translateY(0);
    filter: none;
}.footer-logout button.footer-logout-btn i
{
    font-size: 1.1rem;
    color: inherit;
}.lesson-report-button
{
    background: linear-gradient(135deg, #ff6b6b, #ff4757);
    color: white;
    border: none;
    border-radius: var(--main-space-sm);
    padding: var(--main-space-md-plus) 28px;
    font-size: var(--main-space-xl);
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 var(--main-space-xs) var(--main-space-sm) rgba(255, 71, 87, 0.3);
    transition: all 0.3s ease;
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}.lesson-report-button:hover
{
    background: linear-gradient(135deg, #ff4757, #ff3838);
    box-shadow: 0 6px var(--main-space-md-plus) rgba(255, 71, 87, 0.4);
    transform: translateY(-var(--main-space-xxs));
}.lesson-report-button:active
{
    transform: translateY(0);
    box-shadow: 0 var(--main-space-xxs) var(--main-space-xs) rgba(255, 71, 87, 0.3);
}#student-nostrification-root .student-nostrification-actions .student-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 48px;
    max-width: 100%;
}.student-nostrification-actions .student-btn i
{
    flex-shrink: 0;
}.nostrification-container button
{
    background-color: var(--main-blue);
    color: white;
    border: none;
    padding: var(--main-space-md) var(--main-space-lg);
    font-size: var(--main-space-xl);
    border-radius: var(--main-space-xs);
    cursor: pointer;
    transition: background-color 0.3s ease;
}.nostrification-container button:hover
{
    background-color: #0056b3;
}.tab-button
{
    background: #e0e0e0;
    color: var(--main-text-dark);
    padding: var(--main-space-sm) var(--main-space-lg-minus);
    border-radius: var(--main-space-sm);
    border: none;
    cursor: pointer;
    font-size: 18px;
    transition: all 0.3s ease;
}.tab-button.active
{
    background: var(--main-primary);
    color: white;
}.copy-all-btn
{
    background-color: var(--main-success-dark);
    color: white;
    padding: var(--main-space-sm) var(--main-space-md-plus);
    font-size: 18px;
    border: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: var(--main-space-xs);
    border-radius: var(--main-space-xs);
}.copy-all-btn i
{
    font-size: var(--main-space-xl);
}.button-group
{
    display: flex;
    gap: var(--main-space-lg-minus);
    justify-content: flex-end;
    margin-top: 30px;
    padding-top: var(--main-space-lg);
    border-top: var(--main-space-xxs) solid #e9ecef;
}#changeVariantModal button
{
    font-family: "-apple-system", BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-weight: 600;
    font-size: var(--main-space-xl);
    padding: var(--main-space-md-plus) 28px;
    border: none;
    border-radius: var(--main-space-sm);
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--main-space-sm);
    min-width: 140px;
    text-transform: none;
    letter-spacing: 0.3px;
}#changeVariantModal button:active
{
    transform: translateY(0) scale(0.98);
}#changeVariantModal button i
{
    font-size: 18px;
    color: white;
}.variant-edit-btn
{
    background: rgba(39, 146, 174, 0.1);
    border: var(--main-space-xxs) solid rgba(39, 146, 174, 0.2);
    color: #1a6d8a;
    cursor: pointer;
    padding: 6px;
    font-size: var(--main-space-xl);
    border-radius: 6px;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
}.variant-edit-btn:hover
{
    color: var(--main-white);
    background: linear-gradient(135deg, var(--main-primary) 0%, #3ba3c7 100%);
    border-color: var(--main-primary);
    transform: scale(1.1);
    box-shadow: 0 3px var(--main-space-sm) rgba(39, 146, 174, 0.3);
}.variant-edit-btn:active
{
    transform: scale(0.95);
    background: linear-gradient(135deg, #1a6d8a 0%, var(--main-primary) 100%);
}.variant-edit-btn
{
    opacity: 0.8;
    visibility: visible;
    transition: all 0.3s ease;
}.variant-edit-btn::after
{
    content: "Изменить вариант";
    position: absolute;
    bottom: 120%;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--main-primary);
    color: white;
    padding: var(--main-space-sm) var(--main-space-md-plus);
    border-radius: 6px;
    font-size: var(--main-space-md-plus);
    font-weight: 500;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1000;
    pointer-events: none;
    box-shadow: 0 var(--main-space-xxs) var(--main-space-sm) rgba(39, 146, 174, 0.3);
}.variant-edit-btn::before
{
    content: "";
    position: absolute;
    bottom: 105%;
    left: 50%;
    transform: translateX(-50%);
    border: var(--main-space-xs) solid transparent;
    border-top-color: var(--main-primary);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1000;
    pointer-events: none;
}.variant-edit-btn:hover::after, .variant-edit-btn:hover::before
{
    opacity: 1;
    visibility: visible;
}.variant-edit-btn i
{
    transition: transform 0.2s ease;
}.variant-edit-btn:hover i
{
    transform: rotate(15deg) scale(1.1);
}.variant-edit-btn
{
    box-shadow: 0 var(--main-space-xxs) 3px rgba(39, 146, 174, 0.2);
}.variant-edit-btn:focus
{
    outline: var(--main-space-xxs) solid var(--main-success);
    outline-offset: var(--main-space-xxs);
}/* === teams styles merged into *-uni @ 2026-04-03 10:23:03 === *//* Кнопки и контролы */.teams-action-button, .teams-button
{
    background: linear-gradient(135deg, var(--teams-primary), var(--teams-primary-dark));
    color: white;
    border: none;
    cursor: pointer;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    border-radius: var(--teams-radius-sm);
}.teams-action-button
{
    padding: var(--teams-space-sm) var(--teams-space-xl);
    font-size: 0.85em;
}.teams-button
{
    padding: 10px var(--teams-space-lg);
    font-size: 0.9em;
    box-shadow: var(--teams-shadow-sm);
}.teams-action-button:hover, .teams-button:hover
{
    background: linear-gradient(135deg, var(--teams-primary-dark), var(--teams-primary-darker));
    transform: translateY(-1px);
    box-shadow: var(--teams-shadow-md);
}/* Кнопки поиска и очистки */.teams-search-button, .teams-clear-button
{
    padding: 10px 15px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
    transition: all 0.2s ease;
}.teams-search-button
{
    background-color: #007bff;
    color: white;
}.teams-search-button:hover
{
    background-color: #0056b3;
}.teams-clear-button
{
    background-color: #6c757d;
    color: white;
}.teams-clear-button:hover
{
    background-color: #545b62;
}.teams-action-btn
{
            display: flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            border: none;
            border-radius: 8px;
            font-size: 14px;
            cursor: pointer;
            transition: all 0.2s ease;
            text-decoration: none;
        }.teams-edit-btn
{
    background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
    color: white;
}.teams-edit-btn:hover
{
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.4);
}.teams-message-btn
{
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    color: white;
}.teams-message-btn:hover
{
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(139, 92, 246, 0.4);
}.teams-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--teams-space-xs);
    flex-wrap: nowrap;
    white-space: nowrap;
    padding: var(--teams-space-md) var(--teams-space-lg);
    min-height: var(--btn-min-height, 44px);
    border: none;
    border-radius: var(--teams-radius-md);
    font-family: inherit;
    font-size: var(--teams-font-size-sm);
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: var(--teams-shadow-sm);
    min-width: 120px;
}.teams-btn-primary
{
    background: linear-gradient(135deg, var(--teams-primary), var(--teams-primary-dark));
    color: var(--teams-white);
    border: none;
}.teams-btn-primary:hover
{
    background: linear-gradient(135deg, var(--teams-primary-dark), var(--teams-primary-darker));
    transform: translateY(-2px);
    box-shadow: var(--teams-shadow-md);
}.teams-btn-success
{
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: var(--teams-white);
    border: none;
}.teams-btn-success:hover
{
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.35);
}.teams-btn-secondary
{
    background: var(--teams-white);
    color: var(--teams-text-dark);
    border: 1px solid var(--teams-border-color);
}.teams-btn-secondary:hover
{
    background: var(--teams-light-bg);
    color: var(--teams-text-dark);
    border-color: var(--teams-primary);
    transform: translateY(-1px);
}.teams-dashboard-actions
{
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    gap: 15px;
    width: 100%;
    flex-wrap: nowrap;
}.teams-dashboard-action-btn
{
    flex: 1 1 0;
    width: 100%;
    min-width: 0;
    margin: 0;
}.teams-dashboard-action-btn span
{
    overflow: hidden;
    text-overflow: ellipsis;
}.teams-close-btn
{
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: var(--teams-light-bg);
    color: var(--teams-text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}.teams-close-btn:hover
{
    background: var(--teams-error-color);
    color: var(--teams-white);
}/* === 🔘 Кнопки === */.button
{
    padding: 10px 20px;
    background: linear-gradient(135deg, #4a90e2 0%, #357abd 100%);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(74, 144, 226, 0.3);
}.button:hover
{
    background: linear-gradient(135deg, #357abd 0%, #2868a8 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(74, 144, 226, 0.4);
}.add-new-documents-button
{
    padding: 12px 24px;
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}.add-new-documents-button:hover
{
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
}.send-all-sms-button
{
    padding: 10px 20px;
    background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
    color: white;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 600;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.3);
}.send-all-sms-button:hover
{
    background: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(139, 92, 246, 0.4);
}/* === css_split_uni.py append @ 2026-04-03 10:24:52 === *//* Для ссылок с иконками (не добавляем подчеркивание) */a.icon-link::after, a.btn::after, a.action-btn::after
{
    display: none; /* Убираем подчеркивание для кнопок */
}.submit-button
{
    background: var(--primary-gradient); color: var(--text-white); border-color: var(--primary);
}.submit-button:hover
{
    background: var(--primary-dark); color: var(--text-white); opacity: 0.9;
}.admin-actions-buttons .btn
{
    display: inline-flex; white-space: normal;
}.copy-all-btn
{
    display: inline-flex; align-items: center; justify-content: center; background-color: var(--bg-secondary); border-radius: var(--radius-sm); color: var(--text-medium); cursor: pointer; transition: all var(--transition-fast); vertical-align: middle;
}.copy-all-btn:hover
{
    background-color: var(--primary); border-color: var(--primary); color: var(--text-white);
}.copy-all-btn i
{
    font-size: var(--text-sm);
}.credentials-modal__copy-btn
{
    width: 42px;
    height: 42px;
    border: none;
    border-radius: var(--radius-md); background: var(--info-light); color: var(--info); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color var(--transition-fast), transform var(--transition-fast), color var(--transition-fast);
}.credentials-modal__copy-btn:hover
{
    background: var(--info); color: var(--text-white);
}.search-clear-btn
{
    white-space: nowrap;
}.admin-nostrification-section .btn-primary, .admin-nostrification-section .btn-secondary
{
    display: inline-flex; align-items: center; justify-content: center; font-weight: 500; border-radius: var(--radius-md); transition: all var(--transition-base); text-decoration: none; cursor: pointer; white-space: nowrap;
}.admin-nostrification-section .btn-primary i, .admin-nostrification-section .btn-secondary i
{
    flex-shrink: 0; line-height: 1;
}.analyze-btn
{
    background: var(--primary-gradient); color: var(--text-white); border-radius: var(--radius-md); font-weight: 600; cursor: pointer; transition: transform var(--transition-base), box-shadow var(--transition-base);
}.student-search-scroll-buttons .student-search-scroll-btn
{
    pointer-events: auto;
}.student-search-scroll-btn
{
    border-radius: var(--radius-full); background: var(--primary-gradient); color: var(--text-white); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all var(--transition-base); position: relative; overflow: hidden; backdrop-filter: blur(8px);
}.student-search-scroll-btn::before
{
    content: ""; position: absolute; border-radius: 50%; background: rgba(255, 255, 255, 0.25); transition: width 0.4s ease-out, height 0.4s ease-out;
}.student-search-scroll-btn:hover
{
    border-color: var(--primary-light); background: var(--primary-light);
}.student-search-scroll-btn:disabled
{
    opacity: 0.4; cursor: not-allowed; pointer-events: none; background: var(--text-muted); border-color: var(--border);
}.student-search-scroll-btn i
{
    position: relative; z-index: 1; line-height: 1;
}.add-students-to-exam-btn
{
    display: inline-flex; align-items: center; background: var(--primary-gradient); color: var(--text-white); border-radius: var(--radius-md); font-weight: 500; font-size: var(--text-base); cursor: pointer; transition: var(--transition);
}.add-students-to-exam-btn:hover:not(:disabled)
{
    background: var(--primary-gradient); border-color: var(--primary-dark); filter: brightness(1.05);
}.add-students-to-exam-btn:disabled
{
    opacity: 0.6; cursor: not-allowed;
}.add-students-to-exam-btn i
{
    font-size: var(--text-base);
}.cost-management-container .btn-small, .cost-management-container .btn-primary, .cost-management-container .btn-success, .cost-management-container .btn-secondary
{
    text-align: left !important; justify-content: flex-start !important;
}.button-group
{
    display: flex;
}.btn-export
{
    background: #dc3545; color: white; border-radius: 4px; text-decoration: none; display: inline-flex; align-items: center; font-weight: 600; transition: background 0.3s;
}.btn-export:hover
{
    background: #c82333; color: white; text-decoration: none;
}.credentials-modal.credentials-modal--curator .credentials-modal__copy-btn
{
    border-radius: 12px;
    background: linear-gradient(145deg, #eef2ff 0%, #e0e7ff 100%);
    color: #3730a3;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 0 0 1px rgba(99, 102, 241, 0.2);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.2s ease, transform 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}.credentials-modal.credentials-modal--curator .credentials-modal__copy-btn:hover
{
    background: linear-gradient(145deg, #6366f1 0%, #4f46e5 100%);
    color: #fff;
    box-shadow: 0 4px 14px rgba(79, 70, 229, 0.35);
}.curator-btn
{
    border-radius: 5px; line-height: 1.6; cursor: pointer; text-decoration: none; display: inline-block; transition: all 0.3s;
}.curator-btn-primary
{
    background: #3498db; color: white;
}.curator-btn-primary:hover
{
    background: #2980b9;
}.curator-btn-secondary
{
    background: #95a5a6; color: white;
}.curator-btn-secondary:hover
{
    background: #7f8c8d;
}.curator-action-icon
{
    display: flex; justify-content: center; align-items: center; background: var(--bg-primary); border-radius: 50%; transition: transform var(--transition-base), box-shadow var(--transition-base); text-decoration: none;
}.curator-action-button
{
    background: linear-gradient(135deg, #7b1fa2, #6a1b9a); color: white; border-radius: 6px; cursor: pointer; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; transition: all 0.3s ease;
}.curator-action-button:hover
{
    background: linear-gradient(135deg, #6a1b9a, #4a148c);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * КНОПКИ ДЕЙСТВИЙ В КАРТОЧКАХ АПОСТИЛЯ
 * ═══════════════════════════════════════════════════════════════════════════════ */.admin-apostille-action-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-base);
    text-decoration: none;
    min-height: calc(var(--space-10) + var(--space-1));
    flex: 1;
    min-width: 0;
}.admin-apostille-action-btn:hover
{
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}.admin-apostille-action-btn.admin-apostille-approve
{
    background: var(--success-gradient);
    color: var(--text-white);
    border-color: var(--success);
}.admin-apostille-action-btn.admin-apostille-approve:hover
{
    background: linear-gradient(135deg, var(--success-dark) 0%, var(--success) 100%);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}.admin-apostille-action-btn.admin-apostille-reject
{
    background: var(--danger-gradient);
    color: var(--text-white);
    border-color: var(--danger);
}.admin-apostille-action-btn.admin-apostille-reject:hover
{
    background: linear-gradient(135deg, var(--danger-dark) 0%, var(--danger) 100%);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}.admin-apostille-action-btn.admin-apostille-view
{
    background: var(--info-gradient);
    color: var(--text-white);
    border-color: var(--info);
}.admin-apostille-action-btn.admin-apostille-view:hover
{
    background: linear-gradient(135deg, var(--info-dark) 0%, var(--info) 100%);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}.admin-apostille-action-btn.admin-apostille-delete
{
    background: var(--danger-gradient);
    color: var(--text-white);
    border-color: var(--danger);
}.admin-apostille-action-btn.admin-apostille-delete:hover
{
    background: linear-gradient(135deg, var(--danger-dark) 0%, var(--danger) 100%);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}.admin-apostille-action-btn i
{
    font-size: var(--text-sm);
}/* Кнопки действий для заказов */.admin-apostille-order-action-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: all var(--transition-base);
    text-decoration: none;
    min-height: calc(var(--space-10) + var(--space-1));
}.admin-apostille-order-action-btn.admin-apostille-view
{
    background: var(--info-gradient);
    color: var(--text-white);
    border-color: var(--info);
}.admin-apostille-order-action-btn.admin-apostille-view:hover
{
    background: linear-gradient(135deg, var(--info-dark) 0%, var(--info) 100%);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
}.admin-apostille-order-action-btn.admin-apostille-delete
{
    background: var(--danger-gradient);
    color: var(--text-white);
    border-color: var(--danger);
}.admin-apostille-order-action-btn.admin-apostille-delete:hover
{
    background: linear-gradient(135deg, var(--danger-dark) 0%, var(--danger) 100%);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}.request-action-btn
{
    flex: 1;
    padding: 8px 12px;
    border: none;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    min-height: 36px;
}.request-action-btn:hover
{
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}.request-action-btn:active
{
    transform: translateY(0);
}.request-action-btn.approve
{
    background: var(--success-gradient);
    color: var(--text-white);
}.request-action-btn.approve:hover
{
    background: linear-gradient(135deg, var(--success-dark) 0%, var(--success) 100%);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--success) 35%, transparent);
}.request-action-btn.reject
{
    background: var(--danger-gradient);
    color: var(--text-white);
}.request-action-btn.reject:hover
{
    background: linear-gradient(135deg, var(--danger-darker) 0%, var(--danger-dark) 100%);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--danger) 35%, transparent);
}.request-action-btn.view
{
    background: linear-gradient(135deg, var(--primary) 0%, var(--accent-purple-dark) 100%);
    color: var(--text-white);
}.request-action-btn.view:hover
{
    background: linear-gradient(135deg, var(--primary-dark) 0%, var(--accent-purple) 100%);
    box-shadow: 0 4px 12px color-mix(in srgb, var(--primary) 30%, transparent);
}.request-action-btn i
{
    font-size: 14px;
}.tbl__col--actions a, .tbl__col--actions button
{
    display: inline-block;
    vertical-align: middle;
}.tbl button, .tbl .btn
{
    text-align: center;
}/* === source: buttons.css === *//**
 * ════════════════════════════════════════════════════════════════════════════════
 * 📁 УНИВЕРСАЛЬНАЯ СИСТЕМА КНОПОК
 * ════════════════════════════════════════════════════════════════════════════════
 * 
 * Этот файл содержит универсальную систему кнопок для использования в любом месте проекта.
 * 
 * Структура:
 * - Базовые стили кнопок (без размеров, размеры в responsive файлах)
 * - Варианты кнопок по назначению (primary, secondary, success, danger, warning, info)
 * - Состояния (hover, active, focus, disabled)
 * - Иконки в кнопках
 * - Специальные кнопки (action-btn, download, upload, view, create, order, status)
 * - Кнопка «Выйти» в футере (.footer-logout … footer-logout-btn) — визуал; раскладка в footer.css
 * - Поддержка reduced motion
 * 
 * ⚠️ ВАЖНО: Не содержит @media по ширине экрана — только prefers-reduced-motion.
 * ⚠️ ВАЖНО: Размеры задаются через CSS-переменные (--btn-*, --mail-* и др.); значения в
 *   base.css (fallback = desktop) и переопределяются в desktop/tablet/mobile/mobile-small.
 * 
 * ═══════════════════════════════════════════════════════════════════════════════
 * 🚫 КРИТИЧЕСКОЕ ПРАВИЛО: NO LINE BREAKS AFTER BUTTONS
 * ═══════════════════════════════════════════════════════════════════════════════
 * 
 * Кнопки НЕ ДОЛЖНЫ вызывать принудительные переносы строк!
 * 
 * ❌ ЗАПРЕЩЕНО:
 * - display: block на кнопках (кроме .btn-block который использует display: flex)
 * - width: 100% без flex контекста
 * - clear: both или clear: left/right
 * - ::after с content: "\n" или content: "\A"
 * - Любые CSS хаки для принудительного переноса
 * 
 * ✅ ПРАВИЛЬНО:
 * - display: inline-flex (базовое для всех кнопок)
 * - display: flex (только для .btn-block с width: 100%)
 * - Spacing через margin/padding
 * - Layout через flexbox/grid контейнеры
 * - Container-based spacing через gap
 * 
 * Цель: Чистые, предсказуемые и поддерживаемые layouts
 * ═══════════════════════════════════════════════════════════════════════════════
 * 
 * Универсальная логика цветов:
 * - btn-primary - основное действие (скачивание, переход, главные действия)
 * - btn-success - положительное действие (создание, добавление, отправка, загрузка)
 * - btn-info - информационное действие (просмотр, детали, профиль)
 * - btn-warning - предупреждение/требует внимания (заказ, частичная отправка)
 * - btn-danger - опасное действие (удаление, отмена)
 * - btn-secondary - вторичное/нейтральное действие (навигация назад, статусы)
 * 
 * @author Ostwind by Dr.FC
 * @date 2025-01-22
 *
 * Рефакторинг: варианты .btn-* определены ниже; контекстные доп. правила для админ-секций
 * (отступы, тени рядом) — в common.css без повторения полного набора цветов/hover из этого файла.
 *//* ═══════════════════════════════════════════════════════════════════════════════
 * БАЗОВЫЕ СТИЛИ КНОПОК
 * ═══════════════════════════════════════════════════════════════════════════════ */button, .btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--btn-icon-gap-md);
    min-height: var(--btn-min-height);
    padding: var(--btn-padding-y) var(--btn-padding-x);
    font-size: var(--btn-font-size);
    line-height: var(--btn-line-height);
    font-family: var(--font-system);
    font-weight: 500;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid transparent;
    border-radius: var(--btn-radius-md);
    transition: var(--transition-base);
    user-select: none;
}/* Иконки Font Awesome в кнопках - структура без размеров */.btn i, .btn .fas, .btn .far, .btn .fal, .btn .fab, .btn .fa, button i, button .fas, button .far, button .fal, button .fab, button .fa
{
    color: inherit;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: var(--btn-icon-size-md);
}/* УСИЛЕННАЯ ЗАЩИТА ЦВЕТА ИКОНОК - для цветных кнопок */.btn-primary i, .btn-success i, .btn-info i, .btn-danger i, .btn-secondary i, .btn-upload i, .btn-download i, .uni-control-primary i, .uni-control-success i, .uni-control-info i, .uni-control-danger i, .uni-control-secondary i
{
    color: var(--text-white) !important;
}.btn-warning i, .uni-control-warning i
{
    color: var(--text-dark) !important;
}/* Если кнопка имеет только иконку без текста */.btn:not(:has(span)):not(:has(strong)):not(:has(em)) i:only-child, .btn:not(:has(span)):not(:has(strong)):not(:has(em)) .fas:only-child, .btn:not(:has(span)):not(:has(strong)):not(:has(em)) .far:only-child
{
    margin: 0;
}/* Убираем подчеркивание у всех ссылок-кнопок */a.btn, a.btn:link, a.btn:visited, a.btn:hover, a.btn:active, a.btn:focus
{
    text-decoration: none !important;
}/* Состояния кнопок */button:hover, .btn:hover
{
    opacity: 0.9;
    transform: translateY(-1px);
}button:active, .btn:active
{
    transform: translateY(0);
}button:disabled, .btn:disabled
{
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * ВАРИАНТЫ КНОПОК ПО НАЗНАЧЕНИЮ
 * ═══════════════════════════════════════════════════════════════════════════════ *//* PRIMARY - основное действие (скачивание, переход, главные действия) */.btn-primary, .btn-download, .uni-control-primary
{
    background: var(--primary-gradient);
    color: var(--text-white);
    border-color: var(--primary);
    /* Контраст: белый (#fff) на #2792ae = 4.5:1 (WCAG AA) ✅ */
}.btn-download
{
    color: var(--text-white) !important; /* Защита цвета для ссылок-кнопок */
}.btn-primary:hover, .btn-download:hover, .uni-control-primary:hover
{
    background: var(--primary-gradient);
    border-color: var(--primary-dark);
    box-shadow: 0 4px 12px rgba(39, 146, 174, 0.3);
    filter: brightness(1.05);
}.btn-download:hover, .btn-download:active, .btn-download:focus, .btn-download:visited
{
    color: var(--text-white) !important;
}.btn-primary:focus-visible, .btn-download:focus-visible, .uni-control-primary:focus-visible
{
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(39, 146, 174, 0.2);
}/* SUCCESS — положительное действие; .btn-upload = «загрузить» по функции (только краска, см. блок «Функциональные модификаторы») */.btn-success, .btn-upload, .uni-control-success
{
    background: var(--success-gradient);
    color: var(--text-white);
    border-color: var(--success);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);  /* Улучшение читаемости */
    /* Контраст: белый (#fff) на #059669 = 4.8:1 (WCAG AA) ✅ Исправлено: было 3.0:1 */
}.btn-success:hover, .btn-upload:hover, .uni-control-success:hover
{
    background: var(--success-gradient);
    border-color: var(--success-dark);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
    filter: brightness(1.05);
}.btn-success:focus-visible, .btn-upload:focus-visible, .uni-control-success:focus-visible
{
    outline: 2px solid var(--success);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
}/* INFO - информационное действие (просмотр, детали, профиль) */.btn-info, .uni-control-info
{
    background: var(--info-gradient);
    color: var(--text-white);
    border-color: var(--info);
    /* Контраст: белый (#fff) на #3b82f6 = 4.5:1 (WCAG AA) ✅ */
}.btn-info:hover, .uni-control-info:hover
{
    background: var(--info-gradient);
    border-color: var(--info-dark);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
    filter: brightness(1.05);
}.btn-info:focus-visible, .uni-control-info:focus-visible
{
    outline: 2px solid var(--info);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2);
}/* WARNING - предупреждение/требует внимания (заказ, частичная отправка) */.btn-warning, .uni-control-warning
{
    background: var(--warning-gradient);
    color: var(--text-dark); /* Темный текст на желтом фоне для лучшей читаемости */
    border-color: var(--warning);
    /* Контраст: темный (#1a1a1a) на #f59e0b = 4.5:1 (WCAG AA) ✅ */
}.btn-warning:hover, .uni-control-warning:hover
{
    background: var(--warning-gradient);
    border-color: var(--warning-dark);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
    filter: brightness(1.05);
    /* Цвет текста остается темным для читаемости */
    color: var(--text-dark);
}.btn-warning:focus-visible, .uni-control-warning:focus-visible
{
    outline: 2px solid var(--warning);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.2);
}/* DANGER - опасное действие (удаление, отмена) */.btn-danger, .uni-control-danger
{
    background: var(--danger-gradient);
    color: var(--text-white);
    border-color: var(--danger-dark);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);  /* Улучшение читаемости */
    /* Контраст: белый (#fff) на #dc2626 = 5.2:1 (WCAG AA) ✅ Улучшено: было 4.0:1 */
}.btn-danger:hover, .uni-control-danger:hover
{
    background: linear-gradient(135deg, var(--danger-dark) 0%, var(--danger-darker) 100%);
    border-color: var(--danger-darker);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
    filter: brightness(1.05);
}.btn-danger:focus-visible, .uni-control-danger:focus-visible
{
    outline: 2px solid var(--danger);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.2);
}/* Выход в футере (include/layout/footer.php): class="btn btn-danger footer-logout-btn".
 * Визуал совпадает с блоком в *-uni для гостя; гость без buttons.css — только *-uni в head.php.
 * Позиция кнопки (справа / на всю ширину) — НЕ здесь: footer.css + mobile.css (≤767) + tablet/desktop.
 * text-align ниже — только многострочный текст/иконка внутри кнопки, не выравнивание блока в футере. */.footer-logout button.btn.btn-danger.footer-logout-btn
{
    white-space: normal;
    max-width: 100%;
    text-align: center; /* внутри кнопки при переносе подписи */
    background: var(--danger-gradient);
    color: var(--text-white);
    border-color: var(--danger-dark);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.3);
    font-weight: 600;
}.footer-logout button.btn.btn-danger.footer-logout-btn:hover
{
    opacity: 1;
    transform: translateY(-2px);
    border-color: var(--danger-darker);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3), 0 6px 20px rgba(220, 38, 38, 0.25);
    background: linear-gradient(135deg, var(--danger-dark) 0%, var(--danger-darker) 100%);
    filter: brightness(1.05);
}.footer-logout button.btn.btn-danger.footer-logout-btn:active
{
    transform: translateY(0);
    filter: none;
    background: linear-gradient(135deg, var(--danger-dark) 0%, var(--danger-darker) 100%);
}.footer-logout button.btn.btn-danger.footer-logout-btn i
{
    font-size: 1.1em;
    color: inherit;
}/* SECONDARY - вторичное/нейтральное действие (навигация назад, статусы) */.btn-secondary, .uni-control-secondary
{
    background: var(--secondary-gradient);
    color: var(--text-white);
    border-color: var(--secondary);
}.btn-secondary:hover, .uni-control-secondary:hover
{
    background: linear-gradient(135deg, var(--secondary-dark) 0%, var(--secondary) 100%);
    border-color: var(--secondary-dark);
    box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3);
    filter: brightness(1.05);
}.btn-secondary:focus-visible, .uni-control-secondary:focus-visible
{
    outline: 2px solid var(--secondary);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(108, 117, 125, 0.2);
}/* Ссылки-кнопки полностью наследуют стили соответствующих классов: a.btn-primary использует те же стили, что и .btn-primary,
 * поэтому отдельные блоки a.btn-* избыточны. *//* Специальные кнопки алиасы - объединены с родительскими вариантами *//* ═══════════════════════════════════════════════════════════════════════════════
 * СПЕЦИАЛЬНЫЕ КНОПКИ (алиасы — объединены с родительскими вариантами вверху)
 * ═══════════════════════════════════════════════════════════════════════════════
 *
 * .btn-download — алиас для .btn-primary (объединён в секции PRIMARY выше)
 *   Дополнительно: color: white !important для ссылок-кнопок во всех состояниях
 *
 * Функциональные модификаторы .btn-upload / .btn-create / .btn-view (имя = действие в HTML):
 *   — В этих селекторах только «краска»: color, background, border-color, text-shadow,
 *     box-shadow/filter в :hover и :focus-visible как у остальных .btn-*; не padding, не
 *     gap, не border-radius, не font-size — геометрия и --btn-radius-md с .btn, иконки и
 *     --btn-icon-size-sm / --btn-icon-gap-sm с .btn-sm.
 * .btn-upload — отображается как success (объединён с .btn-success в секции SUCCESS выше)
 * .btn-create / .btn-view — отдельные блоки ниже; визуально как success / info
 * ═══════════════════════════════════════════════════════════════════════════════ *//* download: гарантируем белый цвет текста для <a> во всех состояниях */.btn-download:active, .btn-download:focus, .btn-download:visited
{
    color: var(--text-white) !important;
}/* ═══════════════════════════════════════════════════════════════════════════
 * КОМПАКТНЫЕ И ГРУППОВЫЕ КНОПКИ
 * ═══════════════════════════════════════════════════════════════════════════ */.btn-sm, button.btn-sm
{
    min-height: var(--btn-sm-min-height);
    padding: var(--btn-sm-padding-y) var(--btn-sm-padding-x);
    font-size: var(--btn-sm-font-size);
    line-height: var(--btn-sm-line-height);
    gap: var(--btn-icon-gap-sm);
}.btn-sm i, button.btn-sm i, .btn-sm .fas, .btn-sm .far, .btn-sm .fal, .btn-sm .fab, .btn-sm .fa
{
    width: auto;
    height: auto;
    font-size: var(--btn-icon-size-sm);
}.btn-lg, button.btn-lg
{
    gap: var(--btn-icon-gap-lg);
}.btn-lg i, .btn-lg .fas, .btn-lg .far, .btn-lg .fal, .btn-lg .fab, .btn-lg .fa, button.btn-lg i
{
    font-size: var(--btn-icon-size-lg);
}/* CREATE - создание (алиас для btn-success) */.btn-create
{
    background: var(--success-gradient);
    color: var(--text-white);
    border-color: var(--success);
}.btn-create:hover
{
    background: var(--success-gradient);
    border-color: var(--success-dark);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
    filter: brightness(1.05);
}.btn-create:focus-visible
{
    outline: 2px solid var(--success);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0.2);
}/* VIEW — открыть/просмотр файла: класс по функции; только фон/бордер/цвет + состояния (как .btn-info) */.btn-view
{
    background: var(--info-gradient);
    color: var(--text-white);
    border-color: var(--info);
}.btn-view:hover
{
    background: var(--info-gradient);
    border-color: var(--info-dark);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
    filter: brightness(1.05);
}.btn-view:focus-visible
{
    outline: 2px solid var(--info);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2);
}/* ORDER - заказ (алиас для btn-warning) */.btn-order
{
    background: var(--warning-gradient);
    color: var(--text-dark);
    border-color: var(--warning);
}.btn-order:hover
{
    background: var(--warning-gradient);
    border-color: var(--warning-dark);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
    filter: brightness(1.05);
    color: var(--text-dark);
}.btn-order:focus-visible
{
    outline: 2px solid var(--warning);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.2);
}/* STATUS - статусы (базовый класс использует btn-secondary) */.btn-status
{
    background: var(--secondary-gradient);
    color: var(--text-white);
    border-color: var(--secondary);
}.btn-status:hover
{
    background: linear-gradient(135deg, var(--secondary-dark) 0%, var(--secondary) 100%);
    border-color: var(--secondary-dark);
    box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3);
    filter: brightness(1.05);
}.btn-status:focus-visible
{
    outline: 2px solid var(--secondary);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(108, 117, 125, 0.2);
}/* STATUS ACTIVE - активный статус (использует btn-primary или btn-success) */.btn-status-active
{
    background: var(--primary-gradient);
    color: var(--text-white);
    border-color: var(--primary);
}.btn-status-active:hover
{
    background: var(--primary-gradient);
    border-color: var(--primary-dark);
    box-shadow: 0 4px 12px rgba(39, 146, 174, 0.3);
    filter: brightness(1.05);
}.btn-status-invitation-active
{
    background: var(--success-gradient);
    color: var(--text-white);
    border-color: var(--success);
}.btn-status-invitation-active:hover
{
    background: var(--success-gradient);
    border-color: var(--success-dark);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
    filter: brightness(1.05);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * КНОПКИ ДЕЙСТВИЙ (action-btn)
 * ═══════════════════════════════════════════════════════════════════════════════ *//* Кнопки действий в таблицах и карточках */a.action-btn, button.action-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--btn-radius-md);
    text-decoration: none;
    background-color: transparent;
    border: 1px solid var(--border);
    color: var(--text-medium);
    transition: all var(--transition-base);
    cursor: pointer;
    /* ⚠️ ВАЖНО: Фиксированные размеры (width, height, min-width, min-height) определены в адаптивных файлах:
     * - desktop.css (≥1024px): 35px
     * - tablet.css (768px-1023px): 30px
     * - mobile.css (≤767px): 28px
     * - mobile-small.css (≤480px): 24px
     */
}a.action-btn:hover, button.action-btn:hover
{
    background-color: var(--bg-hover);
    border-color: var(--primary);
    color: var(--primary);
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}a.action-btn:active, button.action-btn:active
{
    transform: translateY(0);
    box-shadow: none;
}a.action-btn:focus-visible, button.action-btn:focus-visible
{
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}a.action-btn i, button.action-btn i
{
    font-size: var(--action-btn-icon-size);
    line-height: 1;
}/* Кнопка загрузки (специальная для action-btn) */a.action-btn-upload, button.action-btn-upload
{
    background-color: transparent;
    border: 1px solid var(--success);
    color: var(--success);
}a.action-btn-upload:hover, button.action-btn-upload:hover
{
    background-color: var(--success-light);
    border-color: var(--success-dark);
    color: var(--success-dark);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * ДОПОЛНИТЕЛЬНЫЕ УТИЛИТЫ
 * ═══════════════════════════════════════════════════════════════════════════════ *//* Кнопка на всю ширину - НЕ использует display: block (нарушает правило no line break) */.btn-block
{
    display: flex; /* Используем flex вместо block для соблюдения правила */
    width: 100%;
    justify-content: center;
}/* Растягивающаяся кнопка во flex-контейнере (используется в карточках апостиля и др.) */.btn--stretch
{
    flex: 1;
    min-width: 0;
}/* Кнопка с иконкой (утилита для inline) */.btn-icon-inline
{
    display: inline-flex;
    align-items: center;
    gap: var(--btn-icon-gap-md);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * БЛОК ПРИГЛАШЕНИЯ - КНОПКИ
 * ═══════════════════════════════════════════════════════════════════════════════
 * Правила для кнопок внутри контейнера приглашения (без размеров)
 * Контейнеры: common.css
 * Формы: forms.css
 * Размеры: desktop.css, tablet.css, mobile.css, mobile-small.css
 * ═══════════════════════════════════════════════════════════════════════════════ */.invitation-buttons-container button, .invitation-buttons-container .btn
{
    display: inline-flex;
    white-space: nowrap;
    flex-shrink: 0;
    flex-grow: 0;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * АКТИВНЫЕ КНОПКИ СТАТУСОВ (усиление визуального выделения)
 * ═══════════════════════════════════════════════════════════════════════════════ *//* Усиление для активных кнопок статусов */.btn-active
{
    box-shadow: 0 0 0 calc(var(--space-1) * 2) rgba(16, 185, 129, 0.3);
    transform: scale(1.02);
    font-weight: 600;
}.btn-warning.btn-active
{
    box-shadow: 0 0 0 calc(var(--space-1) * 2) rgba(245, 158, 11, 0.4);
}.btn-info.btn-active
{
    box-shadow: 0 0 0 calc(var(--space-1) * 2) rgba(59, 130, 246, 0.4);
}.btn-success.btn-active
{
    box-shadow: 0 0 0 calc(var(--space-1) * 2) rgba(16, 185, 129, 0.4);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * ДОПОЛНИТЕЛЬНЫЕ УНИВЕРСАЛЬНЫЕ КЛАССЫ
 * ═══════════════════════════════════════════════════════════════════════════════ *//* LINK - для ссылок, которые должны выглядеть как кнопки */.btn-link
{
    background: transparent;
    color: var(--primary);
    border: 1px solid var(--primary);
}.btn-link:hover
{
    background: var(--primary);
    color: var(--text-white);
    border-color: var(--primary-dark);
}.btn-link:focus-visible
{
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(39, 146, 174, 0.2);
}/* CLOSE - для кнопок закрытия (модальные окна, уведомления) */.btn-close
{
    background: var(--secondary-gradient);
    color: var(--text-white);
    border-color: var(--secondary);
    padding: var(--btn-close-pad-y) var(--btn-close-pad-x);
    border-radius: var(--btn-radius-sm);
    min-width: auto;
}.btn-close:hover
{
    background: linear-gradient(135deg, var(--secondary-dark) 0%, var(--secondary) 100%);
    border-color: var(--secondary-dark);
    box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3);
    filter: brightness(1.05);
}.btn-close:focus-visible
{
    outline: 2px solid var(--secondary);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(108, 117, 125, 0.2);
}/* ═══════════════════════════════════════════════════════════════════════════════
 * Site settings mail — кнопки (admin/site_settings_mail.php)
 * Отступы и размер шрифта: desktop.css / tablet.css / mobile.css / mobile-small.css
 * ═══════════════════════════════════════════════════════════════════════════════ */#mail-settings.site-settings-mail button
{
    border: none;
    cursor: pointer;
}#mail-settings.site-settings-mail .btn-primary
{
    background-color: var(--info);
    color: var(--text-white);
}#mail-settings.site-settings-mail .btn-primary:hover
{
    background-color: var(--info-dark);
}#mail-settings.site-settings-mail .btn-secondary
{
    background-color: var(--secondary);
    color: var(--text-white);
}#mail-settings.site-settings-mail .btn-secondary:hover
{
    background-color: var(--secondary-dark);
}#mail-settings.site-settings-mail .mail-settings-btn-delete
{
    background-color: var(--danger);
    color: var(--text-white);
}#mail-settings.site-settings-mail .mail-settings-btn-delete:hover
{
    background-color: var(--danger-dark);
}/* ═══════════════════════════════════════════════════════════════
   BTN-ICON — кнопка с иконкой (синяя)
   Используется: unis_exams_add.php
   ═══════════════════════════════════════════════════════════════ */.btn-icon
{
    background-color: var(--primary);
    color: var(--text-white);
    border: none;
    border-radius: var(--btn-radius-sm);
    padding: var(--btn-icon-pad-y) var(--btn-icon-pad-x);
    font-size: var(--btn-icon-size-md);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--btn-icon-gap-md);
    transition: background-color 0.3s ease;
}.btn-icon i
{
    font-size: var(--btn-icon-size-md);
}.btn-icon:hover
{
    background-color: var(--primary-dark);
}/* Кнопка восстановления студента */.btn-restore
{
    background: var(--success);
    color: var(--text-white);
    padding: var(--btn-restore-pad-y) var(--btn-restore-pad-x);
    border: none;
    border-radius: var(--btn-radius-sm);
    font-size: var(--btn-restore-fs);
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
}.btn-restore:hover
{
    background: var(--success-dark);
    box-shadow: 0 2px 8px rgba(76, 175, 80, 0.3);
}/* Кнопки копирования/очистки линий (cost management) */.btn-copy-line, .btn-clear-line
{
    background: var(--info-gradient);
    color: var(--text-white);
    border: none;
    padding: var(--btn-copy-pad-y) var(--btn-copy-pad-x);
    border-radius: var(--btn-radius-sm);
    font-size: var(--btn-copy-fs);
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: var(--btn-copy-gap);
}.btn-copy-line:hover
{
    background: linear-gradient(135deg, var(--info-dark) 0%, var(--info) 100%);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}.btn-clear-line
{
    background: var(--danger-gradient);
}.btn-clear-line:hover
{
    filter: brightness(0.95);
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}/* Маленькая кнопка выбора */.btn-small
{
    padding: var(--btn-small-pad-y) var(--btn-small-pad-x);
    font-size: var(--btn-small-fs);
    border: 1px solid var(--info);
    background: var(--info);
    color: var(--text-white);
    border-radius: var(--btn-radius-sm);
    cursor: pointer;
    transition: all 0.2s;
    font-weight: 600;
    margin: 0;
}.btn-small:hover
{
    background: var(--info-dark);
    border-color: var(--info-dark);
}/* Цветовые оверрайды кнопок cost management */.cost-management-container .btn-primary
{
    background: var(--info);
    color: var(--text-white);
}.cost-management-container .btn-primary:hover
{
    background: var(--info-dark);
    transform: translateY(-1px);
}.cost-management-container .btn-success
{
    background: var(--success);
    color: var(--text-white);
}.cost-management-container .btn-success:hover
{
    background: var(--success-dark);
    transform: translateY(-1px);
}.cost-management-container .btn-secondary
{
    background: var(--secondary);
    color: var(--text-white);
}.cost-management-container .btn-secondary:hover
{
    background: var(--secondary-dark);
    transform: translateY(-1px);
}/* Кнопка сохранения (entry admission) */.btn-save
{
    background: var(--success);
    color: var(--text-white);
    padding: var(--btn-save-pad-y) var(--btn-save-pad-x);
    border: none;
    border-radius: var(--btn-radius-sm);
    cursor: pointer;
    font-size: var(--btn-save-fs);
    margin-top: var(--btn-save-margin-top);
}.btn-save:hover
{
    background: var(--success-dark);
}/* Outline button */.btn-outline
{
    background: var(--text-white);
    border: var(--btn-outline-border-w) solid var(--info);
    color: var(--info);
}.btn-outline:hover
{
    background: var(--info);
    color: var(--text-white);
}/* Кнопка отправки формы (syllabus) */.btn-submit
{
    display: inline-flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: var(--success);
    color: var(--text-white);
    padding: var(--btn-submit-pad-y) var(--btn-submit-pad-x);
    font-size: var(--btn-submit-fs);
    border: none;
    border-radius: var(--btn-radius-lg);
    cursor: pointer;
    transition: background 0.3s ease;
    box-sizing: border-box;
}.btn-submit:hover
{
    background-color: var(--success-dark);
}.mail-action-btn
{
    display: inline-flex;
    align-items: center;
    background-color: var(--bg-primary);
    color: var(--text-medium);
    text-decoration: none;
    border: 1px solid var(--border);
    border-radius: var(--btn-radius-md);
    font-weight: 600;
    transition: var(--transition-base);
    font-family: var(--font-system);
}.mail-action-btn:hover
{
    background-color: var(--success);
    color: var(--text-white);
    border-color: var(--success);
    transform: scale(1.05);
}.mail-action-btn.btn-reply
{
    background-color: var(--info);
    color: var(--text-white);
    border-color: var(--info);
}.mail-action-btn.btn-reply:hover
{
    background-color: var(--info-dark);
    border-color: var(--info-dark);
}.mail-action-btn.btn-delete
{
    background-color: var(--bg-primary);
    color: var(--danger);
    border-color: var(--danger);
}.mail-action-btn.btn-delete:hover
{
    background-color: var(--danger);
    color: var(--text-white);
}.mail-action-btn:disabled, .mail-action-btn[disabled]
{
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}.mail-action-btn:focus-visible
{
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}/* ═══════════════════════════════════════════════════════════════════════════════
 * Curator reports (.reports-*) — кнопки
 * Размеры: desktop.css / tablet.css / mobile.css / mobile-small.css
 * ═══════════════════════════════════════════════════════════════════════════════ */.reports-btn
{
    border: none;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: 500;
    transition: all 0.2s ease;
    text-align: center;
}.reports-btn-primary
{
    background-color: var(--info);
    color: var(--text-white);
}.reports-btn-primary:hover
{
    background-color: var(--info-dark);
    color: var(--text-white);
}.reports-btn-success
{
    background-color: var(--success);
    color: var(--text-white);
}.reports-btn-success:hover
{
    background-color: var(--success-dark);
    color: var(--text-white);
}.reports-btn-info
{
    background-color: var(--info);
    color: var(--text-white);
}.reports-btn-info:hover
{
    background-color: var(--info-dark);
    color: var(--text-white);
}.reports-btn-secondary
{
    background-color: var(--secondary);
    color: var(--text-white);
}.reports-btn-secondary:hover
{
    background-color: var(--secondary-dark);
    color: var(--text-white);
}/* Кнопка редактирования в заголовке секции */.mail-section-edit-btn
{
    margin-left: var(--space-3, 0.75rem);
    float: right;
}.mail-filter-btn
{
    background-color: var(--bg-tertiary);
    border: 1px solid var(--border);
    border-radius: var(--filter-radius-lg);
    cursor: pointer;
    transition: var(--transition-base);
    font-family: var(--font-system);
}.mail-filter-btn:hover, .mail-filter-btn.active
{
    background-color: var(--success);
    color: var(--text-white);
    border-color: var(--success);
}.log-category-btn, .log-subcategory-btn
{
    background: #f8f9fa;
    color: #495057;
    text-decoration: none;
    font-weight: 500;
    border: 2px solid #e9ecef;
    border-radius: var(--filter-radius-md);
    transition: all 0.3s ease;
}.log-category-btn:hover, .log-subcategory-btn:hover
{
    background: #e9ecef;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}.log-category-btn.active
{
    background: linear-gradient(135deg, #17a2b8 0%, #20c9e0 100%);
    color: white;
    border-color: #17a2b8;
}.log-subcategory-btn.active
{
    background: linear-gradient(135deg, #343a40 0%, #495057 100%);
    color: white;
    border-color: #343a40;
}.credentials-modal__copy-btn
{
        width: 42px;
        height: 42px;
    }.university-actions .btn
{
        width: 100%;
        justify-content: center;
    }.nav-list .btn
{
        justify-content: center;
        width: 100%;
    }.admin-nostrification-section .btn-primary, .admin-nostrification-section .btn-secondary
{
        padding: var(--space-md) var(--space-lg);
        font-size: var(--text-sm);
        width: 100%;
        margin-right: 0;
        margin-bottom: var(--space-2);
    }.admin-nostrification-section .btn-primary i, .admin-nostrification-section .btn-secondary i
{
        font-size: var(--text-sm);
    }.footer-logout .btn.footer-logout-btn
{
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        justify-content: center;
    }.footer-lang-btn
{
        width: 45px !important;
        height: 45px !important;
    }.footer-lang-switcher .footer-lang-btn
{
        width: 60px;
        height: 60px;
        padding: var(--space-1);
    }.footer-lang-switcher .footer-lang-btn img
{
        width: 36px;
        height: 36px;
    }.footer-lang-switcher .footer-lang-btn.active::after
{
        width: 14px;
        height: 14px;
    }.footer-lang-switcher .footer-lang-btn.loading::after
{
        width: 12px;
        height: 12px;
    }.credentials-modal__copy-btn
{
        width: 38px;
        height: 38px;
    }.student-search-scroll-btn
{
        width: calc(var(--space-10) + var(--space-1));
        height: calc(var(--space-10) + var(--space-1));
        min-width: calc(var(--space-10) + var(--space-1));
        min-height: calc(var(--space-10) + var(--space-1));
        font-size: calc(var(--text-base) * 0.8125);
    }.student-search-scroll-btn i
{
        font-size: calc(var(--text-base) * 0.8125);
    }#exam_students_table .btn-danger
{
        min-width: calc(var(--space-10) + var(--space-1));
        width: calc(var(--space-10) + var(--space-1));
        height: calc(var(--space-10) + var(--space-1));
        font-size: calc(var(--text-base) * 0.8125);
    }.navigation-actions .btn
{
        width: 100%;
    }.student-actions-container .btn
{
        width: 100%;
    }.credentials-modal__copy-btn
{
        width: 36px;
        height: 36px;
    }.student-search-scroll-btn
{
        width: var(--space-10);
        height: var(--space-10);
        min-width: var(--space-10);
        min-height: var(--space-10);
        font-size: calc(var(--text-base) * 0.75);
    }.student-search-scroll-btn i
{
        font-size: calc(var(--text-base) * 0.75);
    }#exam_students_table .btn-danger
{
        min-width: calc(var(--space-10) + var(--space-1));
        width: calc(var(--space-10) + var(--space-1));
        height: calc(var(--space-10) + var(--space-1));
        font-size: calc(var(--text-base) * 0.75);
        padding: 0;
    }.navigation-actions .btn
{
        width: 100%;
    }.student-actions-container .btn
{
        width: 100%;
        font-size: var(--text-sm);
    }/* === css_split_uni.py append @ 2026-04-03 10:26:47 === */.book-nav-button
{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #4CAF50;
    color: #fff;
    border: none;
    padding: 10px 12px;
    font-size: 18px;
    cursor: pointer;
    border-radius: 50%;
    opacity: 0.9;
    transition: opacity 0.15s ease-in-out;
    z-index: 10;
}.book-nav-button:hover
{
    opacity: 1;
}.book-prev-button
{ left: 8px; }.book-next-button
{ right: 8px; }.book-nav-bottom button
{
    padding: 10px 16px;
    background-color: #4CAF50;
    color: #fff;
    border: none;
    cursor: pointer;
    border-radius: 6px;
}/* === css_split_uni.py append @ 2026-04-03 10:27:32 === *//* ===== СТУДЕНТСКИЕ КНОПКИ - МОДЕРН 2025 ===== */.student-btn
{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--student-space-sm);
    padding: var(--student-space-md-plus) var(--student-space-xxl);
    border-radius: var(--student-radius-md);
    font-weight: 600;
    font-size: 0.9375rem;
    letter-spacing: 0.02em;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: var(--student-transition);
    position: relative;
    overflow: hidden;
    overflow-x: hidden;
    box-shadow: var(--student-shadow-md);
    box-sizing: border-box;
}.student-btn::before
{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.3);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}.student-btn:hover::before
{
    width: 300px;
    height: 300px;
}.student-btn span
{
    position: relative;
    z-index: 1;
}.student-btn:disabled,
.student-btn[disabled]
{
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}.student-link-button
{
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
    text-decoration: none;
}.student-btn-primary
{
    background: linear-gradient(135deg, var(--student-primary) 0%, var(--student-primary-dark) 100%);
    color: white;
}.student-btn-primary:hover
{
    background: linear-gradient(135deg, var(--student-primary-dark) 0%, var(--student-primary) 100%);
    transform: translateY(-2px);
    box-shadow: var(--student-shadow-lg), var(--student-shadow-glow);
}.student-btn-success
{
    background: linear-gradient(135deg, var(--student-success) 0%, #059669 100%);
    color: white;
}.student-btn-success:hover
{
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(16, 185, 129, 0.3);
}.student-btn-danger
{
    background: linear-gradient(135deg, var(--student-error) 0%, #dc2626 100%);
    color: white;
}.student-btn-danger:hover
{
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(239, 68, 68, 0.3);
}.student-btn-secondary
{
    background: linear-gradient(135deg, #64748b 0%, #475569 100%);
    color: white;
}.student-btn-secondary:hover
{
    background: linear-gradient(135deg, #475569 0%, #334155 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(71, 85, 105, 0.35);
    color: white;
}.student-btn-warning
{
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    color: white;
}.student-btn-warning:hover
{
    background: linear-gradient(135deg, #d97706 0%, #b45309 100%);
    transform: translateY(-2px);
    box-shadow: 0 10px 20px rgba(217, 119, 6, 0.35);
    color: white;
}.student-btn-view
{
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: white;
    padding: var(--student-space-sm) var(--student-space-md-plus);
    font-size: 0.875rem;
    text-decoration: none;
    border-radius: var(--student-radius-sm);
    transition: var(--student-transition);
    display: inline-flex;
    align-items: center;
    gap: var(--student-space-xs);
    border: none;
    cursor: pointer;
}.student-btn-view:hover
{
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
    color: white;
    text-decoration: none;
}.student-btn-view i
{
    font-size: 0.875rem;
}.student-btn-download
{
    background: linear-gradient(135deg, #10b981 0%, #059669 100%);
    color: white;
    padding: var(--student-space-sm) var(--student-space-md-plus);
    font-size: 0.875rem;
    text-decoration: none;
    border-radius: var(--student-radius-sm);
    transition: var(--student-transition);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--student-space-xs);
    min-width: 36px;
    border: none;
    cursor: pointer;
}.student-btn-download:hover
{
    background: linear-gradient(135deg, #059669 0%, #047857 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    color: white;
    text-decoration: none;
}.student-btn-download i
{
    font-size: 1rem;
}.student-btn-view .student-btn__text,
.student-btn-download .student-btn__text
{
    display: inline;
}
@media (max-width: 768px)
{
    .student-btn-view,
    .student-btn-download
    {
        width: 40px;
        min-width: 40px;
        height: 40px;
        padding: 0;
    }

    .student-btn-view .student-btn__text,
    .student-btn-download .student-btn__text
    {
        display: none;
    }
}
.student-btn:active
{
    transform: translateY(0);
}/* Кнопка отчета о проблеме */.lesson-report-button
{
    background: linear-gradient(135deg, var(--student-primary) 0%, var(--student-primary-dark) 100%);
    color: white !important;
    padding: var(--student-space-md-plus) var(--student-space-xxl);
    border: none;
    border-radius: var(--student-radius-md);
    font-weight: 600;
    font-size: 0.9375rem;
    cursor: pointer;
    transition: var(--student-transition);
    box-shadow: var(--student-shadow-md);
    width: 100%;
    max-width: 400px;
}.lesson-report-button:hover
{
    background: linear-gradient(135deg, var(--student-primary-dark) 0%, var(--student-primary) 100%);
    transform: translateY(-2px);
    box-shadow: var(--student-shadow-lg);
}.lesson-report-button:active
{
    transform: translateY(0);
}/* === css_split_uni.py append @ 2026-04-03 10:39:40 === *//* 💳 Кнопка оплаты - расширение существующего button стиля */.btn-payment-submit
{
    width: 100% !important;
    background: linear-gradient(135deg, #2792ae 0%, #3ba3c7 100%) !important;
    color: white !important;
    padding: 16px 20px !important;
    border-radius: 10px !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    border: none !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    position: relative !important;
    overflow: hidden !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    box-shadow: 0 4px 15px rgba(39, 146, 174, 0.3) !important;
    margin: 20px 0 !important;
}.btn-payment-submit::before
{
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    transition: left 0.6s;
}.btn-payment-submit:hover::before
{
    left: 100%;
}.btn-payment-submit:hover
{
    background: linear-gradient(135deg, #1a6d8a 0%, #2792ae 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(39, 146, 174, 0.4) !important;
}.btn-payment-submit:disabled
{
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    transform: none !important;
}.payment-btn-amount
{
    background: rgba(255,255,255,0.2);
    padding: 6px 12px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 15px;
}.btn-quick-pay
{
    display: block;
    width: 100%;
    padding: 12px 16px;
    background: rgba(255,255,255,0.9);
    color: #2792ae;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    text-align: center;
    transition: all 0.3s ease;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: relative;
    overflow: hidden;
}.btn-quick-pay::before
{
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(39, 146, 174, 0.1), transparent);
    transition: left 0.5s;
}.btn-quick-pay:hover::before
{
    left: 100%;
}.btn-quick-pay:hover
{
    background: white;
    color: #2792ae;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    text-decoration: none;
}/* === css_split_uni.py append @ 2026-04-03 10:48:52 === */.donate-btn
{
    width: 100%;
    padding: 1.25rem;
    background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
    border: none;
    border-radius: 12px;
    color: white;
    font-size: 1.1rem;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    transition: var(--transition);
    box-shadow: 0 4px 15px rgba(0, 212, 170, 0.3);
}.donate-btn:hover
{
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 212, 170, 0.4);
}.donate-btn:active
{
    transform: translateY(0);
}.donate-btn:disabled
{
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}/* === css_split_uni.py append @ 2026-04-03 10:57:57 — verify.php (scoped) === */body.verify-page #verifyForm button
{
    padding: 12px 30px;
    font-size: 16px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
    margin: 5px;
}body.verify-page #verifyForm button:active
{
    transform: translateY(0);
}