/* ИИ: порядок <link> — docs/css-cascade-order.md · ур.5 responsive: mobile. */
/* ==========================================================================
 * MOBILE-UNI — mobile-first overrides (≤ 767px)
 * Техническая логика для ИИ-ассистента:
 * - хранить здесь только мобильные размеры, stacking и touch-адаптацию;
 * - не дублировать базовые правила из `base-uni.css`, `common-uni.css`, `forms-uni.css`;
 * - desktop/tablet-правки не переносить в этот файл.
 * ========================================================================== */

@media (max-width: 767px) {
    .teams-delivered-section-header,
    .teams-table-header
 {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 10px;
        text-align: left;
    }
    .teams-table-title,
    .teams-table-stats
 {
        width: 100%;
        justify-content: flex-start;
        margin: 0;
    }
    .teams-card-header
 {
        flex-wrap: wrap;
    }
    .teams-student-info,
    .teams-card-side-controls
 {
        width: 100%;
        margin-left: 0;
    }
    .teams-card-side-controls
 {
        justify-content: flex-start;
        flex-wrap: wrap;
    }
    .icon-link
 {
    }
    body
 {
        font-family: "San Francisco", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
        -webkit-text-size-adjust: 100%;
        -webkit-tap-highlight-color: transparent;
        background-color: #f5f5f5;
        margin: 0;
        padding: 0;
    }
    .container
 {
        width: 100%;
        max-width: 100%;
        padding: var(--space-3);
        margin: var(--space-3) auto;
        background-color: var(--main-white);
        border-radius: var(--radius-lg);
        box-shadow: 0 0 var(--main-space-xs) rgba(0, 0, 0, 0.1);
        box-sizing: border-box;
        overflow-x: hidden;
    }

    .student-cabinet-navigation
 {
        margin: 0 0 1rem;
        padding: 0.5rem;
        background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
        border: 1px solid #e2e8f0;
        border-radius: 16px;
        box-shadow: 0 6px 18px rgba(15, 23, 42, 0.06);
    }
    .student-cabinet-navigation .menu-toggle
 {
        justify-content: flex-start !important;
        text-align: left !important;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 1.02rem;
        font-weight: 700;
        letter-spacing: 0.01em;
    }
    .student-cabinet-navigation .menu-toggle-text
 {
        font-size: clamp(0.95rem, 2.6vw, 1.02rem);
        font-weight: 700;
        line-height: 1.1;
        text-align: left;
        white-space: nowrap;
        letter-spacing: 0.01em;
    }
    .student-cabinet-navigation ul
 {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 0.5rem;
        margin: 0;
        padding: 0;
    }
    .student-cabinet-navigation li
 {
        flex: 0 0 calc((100% - 0.5rem) / 2);
        width: calc((100% - 0.5rem) / 2);
        max-width: calc((100% - 0.5rem) / 2);
        min-width: 0;
        margin: 0;
        text-align: left;
    }
    .student-cabinet-navigation li a
 {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 56px;
        width: 100%;
        padding: 0.8rem 1rem;
        gap: 0.75rem !important;
        box-sizing: border-box;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 0.96rem;
        font-weight: 600;
        line-height: 1.2;
        text-align: left !important;
        border-radius: 12px;
        border: 1px solid #dbe4ee;
        background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%);
        box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
    }
    .student-cabinet-navigation li a span
 {
        display: block !important;
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
        margin-left: 0;
        font-size: clamp(0.92rem, 2.5vw, 1rem);
        font-weight: 700;
        line-height: 1.2;
        text-align: left !important;
        white-space: normal !important;
        overflow: visible;
        text-overflow: clip;
        word-break: break-word;
        letter-spacing: 0.005em;
        -webkit-line-clamp: unset;
        -webkit-box-orient: initial;
    }
    .student-cabinet-navigation li a i
 {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        min-width: 20px;
        margin: 0;
        flex-shrink: 0;
        border-radius: 0;
        background: transparent;
        color: var(--main-primary);
        font-size: 1rem;
    }

    #student-documents-portal-root .student-table-container
 {
        overflow-x: hidden;
    }
    #student-documents-portal-root .student-orders-table,
    #student-documents-portal-root .student-documents-table
 {
        display: block;
        width: 100%;
        min-width: 0;
        border: 0;
        box-shadow: none;
        background: transparent;
        table-layout: auto;
    }
    #student-documents-portal-root .student-orders-table thead,
    #student-documents-portal-root .student-documents-table thead
 {
        display: none;
    }
    #student-documents-portal-root .student-orders-table tbody,
    #student-documents-portal-root .student-documents-table tbody
 {
        display: block;
        width: 100%;
    }
    #student-documents-portal-root .student-orders-table tr,
    #student-documents-portal-root .student-documents-table tr
 {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: 100%;
        margin-bottom: 12px;
        padding: 12px;
        border: 1px solid #e5e7eb;
        border-radius: 12px;
        background: #ffffff;
        box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
        box-sizing: border-box;
    }
    #student-documents-portal-root .student-orders-table td,
    #student-documents-portal-root .student-documents-table td
 {
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 0.35rem;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        padding: 0.45rem 0 !important;
        border: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        box-sizing: border-box;
    }
    #student-documents-portal-root .student-orders-table td::before,
    #student-documents-portal-root .student-documents-table td::before
 {
        content: attr(data-label);
        display: block;
        margin-bottom: 0.1rem;
        font-size: 0.72rem;
        font-weight: 700;
        line-height: 1.35;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        color: #475569 !important;
    }
    #student-documents-portal-root .student-orders-table td > *,
    #student-documents-portal-root .student-documents-table td > *
 {
        min-width: 0;
        max-width: 100%;
    }
    #student-documents-portal-root .student-document-type-badge,
    #student-documents-portal-root .student-document-type-link
 {
        display: inline-flex !important;
        width: auto !important;
        min-width: 0;
        max-width: 100%;
        align-self: flex-start;
        justify-content: flex-start;
        text-align: left;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
        border-radius: 14px;
    }
    #student-documents-portal-root .student-order-status
 {
        align-self: flex-start;
        max-width: 100%;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
    }
    #student-documents-portal-root .student-document-actions
 {
        width: 100%;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
    }
    #student-documents-portal-root .student-documents-table td.student-col-doc-actions::before
 {
        display: none;
        content: none;
    }
    #student-documents-portal-root .student-documents-table td.student-col-doc-actions
 {
        padding-top: 0 !important;
    }
    #student-documents-portal-root .student-orders-table td:last-child,
    #student-documents-portal-root .student-documents-table td:last-child
 {
        min-width: 0 !important;
    }
    h1, h2, h3, h4
 {
        font-weight: bold;
        color: var(--main-text-dark);
    }
    form
 {
        margin: var(--main-space-md) 0;
    }
    label
 {
        display: block;
        margin-bottom: var(--main-space-xs);
        color: #666;
    }

    .admin-otp-panel input.otp-panel__digit-field
 {
        min-height: 44px;
        font-size: 1.05rem;
        padding: 0;
        margin-top: 0;
        margin-bottom: 0;
    }

/* Авторизация и базовые mobile-блоки */
    .login-container
 {
        padding: var(--main-space-md);
    }
    .login-title
 {
        font-size: 2rem;
        margin-bottom: var(--main-space-md);
    }
    .login-form
 {
        padding: var(--main-space-md);
        border-radius: 20px;
    }
    /* iOS Safari: input font-size < 16px triggers focus zoom; keep login fields at 16px */
    .login-form .login-input-icon input
 {
        font-size: 16px !important;
    }
    .login-statistics
 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        padding: 10px;
        margin-top: 10px;
    }
    .login-stat-item
 {
        min-height: 98px;
        padding: 10px 8px;
        gap: 4px;
        border-radius: 14px;
    }
    .login-stat-item h4
 {
        margin: 0;
        font-size: 0.65rem;
        line-height: 1.15;
        letter-spacing: 0.2px;
    }
    .login-stat-item span
 {
        font-size: clamp(1.05rem, 2.4vw + 0.7rem, 1.7rem);
        line-height: 1.05;
        word-break: break-word;
    }
    .login-info-message i
 {
        width: 28px;
        height: 28px;
        font-size: 14px;
    }
    .login-forgot-password
 {
        padding: 10px 20px;
        font-size: 0.9rem;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    /* Таблицы: mobile ownership размеров */
    .table-container,
    .table-responsive,
    .container .table-responsive
 {
        width: 100%;
        margin: 10px 0;
        padding-left: 0;
        padding-right: 0;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .user-table td, .user-table th,
    .orders-table td, .orders-table th,
    .admin-orders-table td, .admin-orders-table th
 {
        padding: 6px 4px !important;
        font-size: 11px !important;
    }
    .user-table img
 {
        width: 30px !important;
        height: 30px !important;
    }
    .user-table .student-index-cell
 {
        width: 6% !important;
        min-width: 32px !important;
    }
    .user-table .student-status-cell, .user-table .student-payment-cell, .user-table .student-credentials-cell
 {
        width: 9% !important;
        min-width: 40px !important;
    }
    .apostille-documents-table a
 {
        width: 34px !important;
        height: 34px !important;
    }
    .apostille-documents-table a i
 {
        font-size: 14px !important;
    }
    .apostille-documents-table th, .apostille-documents-table td,
    .sys-data-comparison-table th, .sys-data-comparison-table td,
    .specialty-links-table th, .specialty-links-table td,
    .translation-statistics th, .translation-statistics td
 {
        padding: 10px 8px !important;
        font-size: 12px !important;
    }
    .admin-orders-table .document-type, .admin-orders-table .delivery-type
 {
        padding: 4px 8px !important;
        font-size: 11px !important;
    }
    .lesson th, .lesson td,
    .receipt-table th, .receipt-table td,
    .admin-schools-table th, .admin-schools-table td
 {
        padding: 8px 10px !important;
        font-size: 11px !important;
    }
    .translation-table th
 {
        width: 112px !important;
    }
    .admin-table-empty
 {
        padding: 24px 14px !important;
    }
    .admin-table-empty i
 {
        font-size: 1.4em !important;
    }
    .admin-schools-table .admin-action-icon
 {
        width: 28px !important;
        height: 28px !important;
        font-size: 13px !important;
    }
    .curator-list-table
 {
        min-width: 620px !important;
    }
    .curator-list-table th, .curator-list-table td
 {
        min-width: 64px !important;
        font-size: 10px !important;
    }
    .curator-list-table th:nth-child(1), .curator-list-table td:nth-child(1)
 {
        width: 42px !important;
        min-width: 42px !important;
        max-width: 42px !important;
    }
    .curator-list-table th:nth-child(2), .curator-list-table td:nth-child(2)
 {
        width: 170px !important;
        min-width: 170px !important;
        max-width: 200px !important;
    }
    .curator-list-table th:nth-child(3), .curator-list-table td:nth-child(3),
    .curator-list-table th:nth-child(4), .curator-list-table td:nth-child(4)
 {
        width: 112px !important;
        min-width: 112px !important;
        max-width: 140px !important;
    }
    .curator-list-table th:nth-child(5), .curator-list-table td:nth-child(5),
    .curator-list-table th:nth-child(6), .curator-list-table td:nth-child(6),
    .curator-list-table th:nth-child(7), .curator-list-table td:nth-child(7)
 {
        width: 52px !important;
        min-width: 52px !important;
        max-width: 56px !important;
    }
    

    #head-icon-menu a i, .settings-navigation .head-icon-menu a i, .curator-panel-shortcuts .head-icon-menu a i, #head-icon-menu .menu-link i, .settings-navigation .head-icon-menu .menu-link i, .curator-panel-shortcuts .head-icon-menu .menu-link i
 {
        width: 24px;
        height: 24px;
        min-width: 24px;
    }
    #head-icon-menu .menu-badge, .settings-navigation .head-icon-menu .menu-badge, .curator-panel-shortcuts .head-icon-menu .menu-badge
 {
        min-width: 22px;
        height: 22px;
    }
    
    .custom-modal
 {
        width: 100%;
        min-height: 100%;
        min-height: 100dvh;
        padding: var(--space-4);
    }
    .custom-modal.active, .custom-modal.is-visible
 {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 100% !important;
        min-height: 100dvh !important;
    }
    .settings-navigation ul
 {
        grid-template-columns: 1fr;
        gap: var(--space-3);
        width: 100%;
    }
    .settings-navigation li
 {
        min-width: 0;
    }
    .settings-navigation a
 {
        width: 100%;
    }
    .settings-navigation.main-navigation
 {
        margin: 0;
        padding: 0;
    }
    .settings-navigation.main-navigation ul
 {
        margin: 0;
        padding: 0;
    }
    .settings-navigation.main-navigation li
 {
        width: 100%;
        max-width: none;
        flex: none;
        min-width: 0;
    }
    .admin-site-settings-back
 {
        margin: var(--space-2) 0 var(--space-3);
    }
    .admin-site-settings-back a
 {
        font-size: var(--text-sm);
    }
    :root
 {
        --text-xs: 0.65625rem;
        --text-sm: 0.765625rem;
        --text-base: 0.875rem;
        --text-lg: 0.984375rem;
        --text-xl: 1.09375rem;
        --text-2xl: 1.3125rem;
        --text-3xl: 1.640625rem;
        --text-4xl: 1.96875rem;
        --btn-radius-sm: var(--radius-sm);
        --btn-radius-md: var(--radius-md);
        --btn-radius-lg: var(--radius-full);
        --filter-radius-sm: var(--radius-sm);
        --filter-radius-md: var(--radius-md);
        --filter-radius-lg: var(--radius-full);
        --form-radius-sm: var(--radius-sm);
        --form-radius-md: var(--radius-md);
        --form-radius-lg: var(--radius-lg);
        --form-control-padding-y: var(--space-md);
        --form-control-padding-x: var(--space-md);
        --form-control-font-size: calc(var(--text-base) * 0.875);
        --form-control-line-height: 1.5;
        --form-control-min-height: 44px;
        --form-control-margin-bottom: var(--space-md);
        --form-textarea-min-height: 100px;
        --form-label-font-size: calc(var(--text-base) * 0.875);
        --form-label-margin-bottom: var(--space-xs);
        --form-group-label-margin-bottom: var(--space-2);
        --form-group-margin-bottom: var(--space-4);
        --form-row-gap: var(--space-4);
        --form-actions-gap: var(--space-md);
        --form-help-font-size: calc(var(--text-base) * 0.75);
        --form-error-font-size: calc(var(--text-base) * 0.75);
        --form-hint-font-size: var(--text-xs);
        --form-fieldset-padding: var(--space-4);
        --form-fieldset-radius: var(--form-radius-md);
        --form-legend-padding-x: var(--space-2);
        --form-inline-gap: var(--space-2);
        --form-checkbox-size: 20px;
        --form-textarea-map-min-height: 72px;
        --btn-icon-gap-sm: var(--space-2);
        --btn-icon-gap-md: var(--space-2);
        --btn-icon-gap-lg: var(--space-3);
        --btn-gap: var(--btn-icon-gap-md);
        --btn-min-height: calc(var(--space-10) + var(--space-1));
        --btn-padding-y: calc(var(--space-md) - 2px);
        --btn-padding-x: var(--space-md);
        --btn-font-size: calc(var(--text-base) * 0.8125);
        --btn-line-height: 1.5;
        --btn-sm-min-height: calc(var(--space-8) + var(--space-1));
        --btn-sm-padding-y: calc(var(--space-2) + var(--space-1));
        --btn-sm-padding-x: var(--space-3);
        --btn-sm-font-size: var(--text-sm);
        --btn-sm-line-height: 1.4;
        --btn-lg-min-height: calc(var(--space-10) + var(--space-1));
        --btn-lg-padding-y: var(--space-3);
        --btn-lg-padding-x: var(--space-md);
        --btn-lg-font-size: var(--text-base);
        --btn-lg-line-height: 1.5;
        --btn-icon-size-sm: var(--btn-sm-font-size);
        --btn-icon-size-md: var(--btn-font-size);
        --btn-icon-size-lg: var(--btn-lg-font-size);
        --btn-icon-size: var(--btn-icon-size-md);
        --btn-sm-icon-size: var(--btn-icon-size-sm);
        --btn-tbl-min-height: calc(var(--space-10) + var(--space-1));
        --btn-tbl-padding-y: calc(var(--space-md) - 2px);
        --btn-tbl-padding-x: var(--space-md);
        --btn-tbl-font-size: clamp(0.7rem, 2.5vw, 0.8125rem);
        --btn-tbl-icon-size: calc(var(--text-base) * 0.8125);
        --action-btn-size: 28px;
        --action-btn-icon-size: calc(var(--text-base) * 0.8125);
        --file-upload-trigger-min-width: 44px;
        --file-upload-state-inset: 5px;
        --file-upload-state-size: 1.4rem;
        --file-upload-state-font: 0.88rem;
        --file-upload-state-icon-box: 1.15rem;
        --form-input-inline-max-w: 120px;
        --form-input-inline-min-w: 88px;
        --form-input-inline-pad-y: 0.22rem;
        --form-input-inline-pad-x: 0.45rem;
        --form-input-inline-fs: calc(var(--text-base) * 0.8125);
        --receipt-missing-fs: calc(var(--text-base) * 0.8125);
        --receipt-missing-icons-gap: 0.2rem;
        --receipt-sms-label-fs: calc(var(--text-base) * 0.8125);
        --select-file-pad-y: var(--space-2);
        --select-file-pad-x: var(--space-3);
        --select-file-gap: var(--space-2);
        --select-file-icon-fs: var(--text-base);
        --select-file-text-fs: var(--text-sm);
        --select-file-name-max-w: 120px;
        --btn-close-pad-y: var(--space-1);
        --btn-close-pad-x: var(--space-2);
        --btn-icon-pad-y: var(--space-2);
        --btn-icon-pad-x: var(--space-3);
        --btn-icon-fs: var(--btn-icon-size-md);
        --btn-icon-gap: var(--btn-icon-gap-md);
        --btn-icon-i-fs: var(--btn-icon-size-md);
        --btn-restore-pad-y: calc(var(--space-3) - 2px);
        --btn-restore-pad-x: calc(var(--space-4) + var(--space-2) - 2px);
        --btn-restore-fs: var(--text-base);
        --btn-copy-pad-y: calc(var(--space-1) + 1px);
        --btn-copy-pad-x: calc(var(--space-2) + (var(--space-1) / 2));
        --btn-copy-fs: 0.85em;
        --btn-copy-gap: var(--space-1);
        --btn-small-pad-y: calc(var(--space-2) - 1px);
        --btn-small-pad-x: calc(var(--space-3) + 1px);
        --btn-small-fs: calc((var(--text-xs) + var(--text-sm)) / 2);
        --btn-save-pad-y: calc(var(--space-3) - 2px);
        --btn-save-pad-x: calc(var(--space-4) + var(--space-2) - 2px);
        --btn-save-fs: var(--text-base);
        --btn-save-margin-top: var(--space-4);
        --btn-outline-border-w: 2px;
        --btn-submit-pad-y: calc(var(--space-3) - 2px);
        --btn-submit-pad-x: var(--space-6);
        --btn-submit-fs: var(--text-base);
        --form-card-padding: var(--space-4);
        --form-card-radius: 18px;
        --form-card-label-font-size: 0.875rem;
        --form-card-input-icon-offset: 12px;
        --form-card-input-icon-size: 0.95rem;
        --form-card-input-icon-box: 18px;
        --form-card-input-padding-left: 40px;
        --form-card-submit-font-size: 0.95rem;
        --form-card-submit-gap: var(--space-2);
        --form-inline-icon-min-height: 40px;
        --form-choice-chip-pad-y: 4px;
        --form-choice-chip-pad-x: 6px;
        --form-choice-chip-font-size: 10px;
        --form-choice-chip-min-height: 26px;
        --apostille-form-padding: 20px 16px;
        --apostille-form-margin-y: 14px;
        --apostille-form-title-font-size: 20px;
        --apostille-form-title-margin-bottom: 18px;
        --apostille-form-group-gap: 16px;
        --apostille-radio-size: 18px;
        --apostille-control-font-size: 14px;
        --apostille-control-pad-y: 10px;
        --apostille-control-pad-x: 12px;
        --qr-select-min-width: 100%;
        --translation-label-font-size: 13px;
        --translation-icon-size: 14px;
        --specialty-form-gap: 12px;
        --specialty-form-padding: 14px;
        --specialty-form-section-padding: 14px;
        --specialty-form-footer-margin-top: 14px;
        --modal-overlay-padding: var(--space-4);
        --modal-card-padding: var(--space-4);
        --modal-card-radius: 16px;
        --modal-dialog-width: 90%;
        --modal-dialog-max-width: 90%;
        --modal-dialog-max-height: 90vh;
        --modal-compact-min-width: 280px;
        --modal-compact-max-width: 90%;
        --modal-medium-max-width: 90%;
        --modal-large-max-width: 95%;
        --modal-content-large-max-width: 95%;
        --modal-content-large-padding: var(--space-4);
        --modal-image-width: 80%;
        --modal-image-max-width: 320px;
        --modal-image-padding-top: 8%;
        --modal-header-gap: var(--space-2);
        --modal-header-margin-bottom: var(--space-4);
        --modal-header-padding-bottom: var(--space-3);
        --modal-title-font-size: var(--text-lg);
        --modal-close-size: 36px;
        --modal-close-font-size: var(--text-lg);
        --modal-footer-gap: var(--space-2);
        --modal-footer-margin-top: var(--space-4);
        --modal-action-pad-y: calc(var(--space-3) - 1px);
        --modal-action-pad-x: var(--space-5);
        --modal-action-font-size: var(--text-sm);
        --modal-action-min-width: 120px;
        --modal-scoped-header-pad-y: 16px;
        --modal-scoped-header-pad-x: 18px;
        --modal-scoped-body-pad: 18px;
        --modal-scoped-body-max-h: 55vh;
        --card-title-font-size: 1rem;
        --card-title-margin-bottom: 16px;
        --card-title-padding-bottom: 8px;
        --card-header-padding-y: var(--space-4);
        --card-header-padding-x: var(--space-4);
        --card-body-padding: var(--space-4);
        --card-grid-min-width: 100%;
        --student-card-padding: 20px;
        --student-card-margin-bottom: 12px;
        --student-card-heading-margin-bottom: 8px;
        --sys-container-max-width: 100%;
        --sys-container-margin: 15px;
        --sys-container-padding: 15px;
        --sys-container-title-margin-bottom: 18px;
        --sys-container-title-font-size: 20px;
        --teams-student-card-padding: 16px;
        --teams-student-card-gap: 12px;
        --teams-card-header-gap: 12px;
        --teams-card-content-gap: 12px;
        --teams-card-content-padding-top: 10px;
        --teams-card-actions-gap: 8px;
        --summary-cards-min-width: 100%;
        --summary-cards-gap: var(--space-3);
        --summary-card-padding: var(--space-4);
        --pending-request-card-padding: 14px;
        --search-panel-padding: 16px;
        --search-panel-actions-gap: 8px;
        --debt-summary-card-padding: 16px;
        --debt-summary-card-margin: 16px 0;
        --debt-summary-card-icon-top: 12px;
        --debt-summary-card-icon-right: 12px;
        --debt-summary-card-icon-size: 20px;
        --payment-card-header-padding: 16px 16px 12px;
        --payment-card-title-font-size: 16px;
        --payment-card-title-gap: 8px;
        --payment-card-body-padding: 16px;
        --payment-result-card-padding: 25px 20px;
        --donation-card-padding: 2rem 1.5rem;
        --donation-card-margin-bottom: 2rem;
        --donation-card-max-width: 100%;
        --donation-card-icon-size: 68px;
        --donation-card-icon-margin-bottom: 1rem;
        --donation-card-icon-font-size: 2rem;
        --donation-card-subtitle-margin-bottom: 1.5rem;
        --donation-card-title-font-size: 1.5rem;
        --common-curator-grid-min: 100px;
        --common-curator-grid-gap: 8px;
        --common-curator-grid-margin-top: 8px;
        --common-curator-grid-padding-y: 4px;
        --credentials-dialog-width: min(100%, 360px);
        --credentials-dialog-padding: 20px 18px 22px;
        --credentials-dialog-radius: 16px;
        --credentials-dialog-gap: 12px;
        --credentials-close-offset: 8px;
        --credentials-close-size: 34px;
        --credentials-close-font-size: 18px;
        --credentials-header-gap: 8px;
        --credentials-header-padding-right: 32px;
        --credentials-body-gap: 10px;
        --credentials-row-gap: 8px;
        --credentials-row-padding: 10px 12px;
        --credentials-row-radius: 10px;
        --credentials-title-font-size: 17px;
        --credentials-label-font-size: 12px;
        --credentials-value-font-size: 14px;
        --common-student-panel-padding: 1rem;
        --common-student-title-margin-bottom: 0.75rem;
        --common-student-title-font-size: 1.15rem;
        --common-student-title-padding: 0.4rem 0.75rem;
        --common-student-actions-gap: 0.4rem;
        --common-head-menu-gap: 8px;
        --common-head-menu-item-width: calc(50% - 4px);
        --common-head-menu-link-padding: 8px 10px;
        --common-head-menu-link-radius: 12px;
        --common-head-menu-link-font-size: 12px;
        --common-head-menu-link-gap: 8px;
        --common-head-menu-icon-size: 28px;
        --common-head-menu-text-font-size: 12px;
        --common-detail-panel-padding: 14px;
        --common-detail-panel-margin: 8px 0;
        --common-detail-row-padding: 10px 0;
        --common-option-grid-min: 180px;
        --common-option-grid-gap: 12px;
        --common-option-grid-margin-bottom: 16px;
        --common-option-card-padding: 14px;
        --common-settings-group-gap: 12px;
        --common-settings-group-padding: 12px;
        --common-selection-block-gap: 8px;
        --common-selection-block-padding: 8px 10px;
        --common-translation-block-margin: 10px 0;
        --common-translation-block-padding: 8px;
        --common-quantity-width: 60px;
        --common-quantity-padding: 5px 8px;
        --common-quantity-font-size: 13px;
        --common-alert-max-width: 100%;
        --common-alert-margin: 12px auto;
        --common-alert-padding: 12px 16px;
        --common-alert-font-size: 14px;
        --legacy-page-pad: 15px;
        --legacy-page-title-font-size: 1.5em;
        --legacy-page-title-margin-bottom: 18px;
        --legacy-page-title-gap: 10px;
        --legacy-page-title-padding-bottom: 10px;
        --legacy-page-narrow-max: 100%;
        --legacy-page-medium-max: 100%;
        --legacy-page-wide-max: 100%;
        --legacy-alert-padding: 10px 14px;
        --legacy-alert-gap: 8px;
        --legacy-alert-font-size: 13px;
        --legacy-alert-margin-bottom: 16px;
        --legacy-section-padding: 15px;
        --legacy-section-margin-bottom: 18px;
        --legacy-section-title-font-size: 1.15em;
        --legacy-section-title-margin-bottom: 14px;
        --legacy-section-title-gap: 8px;
        --legacy-section-title-padding-bottom: 8px;
        --legacy-actions-gap: 10px;
        --legacy-apostille-header-margin-bottom: 20px;
        --legacy-apostille-title-font-size: 1.5em;
        --legacy-apostille-stats-min: 150px;
        --legacy-apostille-stats-gap: 15px;
        --legacy-apostille-stats-padding: 15px;
        --legacy-apostille-stats-margin-bottom: 18px;
        --legacy-apostille-pending-padding: 18px;
        --legacy-apostille-pending-margin: 16px 0;
        --legacy-apostille-pending-title-font-size: 18px;
        --legacy-apostille-pending-title-margin-bottom: 14px;
        --legacy-apostille-pending-title-gap: 8px;
        --legacy-apostille-request-gap: 8px;
        --legacy-apostille-request-margin-bottom: 8px;
        --legacy-apostille-request-padding-bottom: 8px;
        --legacy-apostille-request-icon-size: 20px;
        --legacy-apostille-request-student-font-size: 14px;
        --legacy-apostille-request-curator-font-size: 12px;
        --badge-menu-pad-y: 2px;
        --badge-menu-pad-x: 7px;
        --badge-menu-margin-left: 4px;
        --badge-menu-radius: 10px;
        --badge-menu-font-size: 10px;
        --badge-menu-min-width: 18px;
        --badge-status-pad-y: 3px;
        --badge-status-pad-x: 10px;
        --badge-status-radius: 10px;
        --badge-status-font-size: 11px;
        --badge-status-min-width: 60px;
        --badge-status-height: 24px;
        --badge-translation-pad-y: 4px;
        --badge-translation-pad-x: 10px;
        --badge-translation-font-size: 0.8em;
        --badge-translation-margin-left: 8px;
        --badge-request-gap: 4px;
        --badge-request-pad-y: 5px;
        --badge-request-pad-x: 10px;
        --badge-request-radius: 16px;
        --badge-request-font-size: 11px;
        --badge-request-compact-pad-y: 4px;
        --badge-request-compact-pad-x: 8px;
        --badge-request-compact-radius: 4px;
        --badge-request-compact-font-size: 0.8em;
        --badge-request-compact-margin-top: 6px;
        --badge-notification-pad-y: 2px;
        --badge-notification-pad-x: 5px;
        --badge-notification-font-size: 0.66rem;
        --badge-notification-size: 16px;
        --badge-count-top: -6px;
        --badge-count-right: -6px;
        --badge-count-min-width: 20px;
        --badge-count-size: 20px;
        --badge-count-pad-x: 5px;
        --badge-count-font-size: var(--text-xs);
        --badge-count-radius: 10px;
        --badge-count-sm-top: -5px;
        --badge-count-sm-right: -5px;
        --badge-count-sm-min-width: 16px;
        --badge-count-sm-size: 16px;
        --badge-count-sm-pad-x: 4px;
        --badge-count-sm-font-size: var(--text-xs);
        --badge-count-sm-radius: 8px;
        --badge-count-lg-top: -8px;
        --badge-count-lg-right: -8px;
        --badge-count-lg-min-width: 24px;
        --badge-count-lg-size: 24px;
        --badge-count-lg-pad-x: 8px;
        --badge-count-lg-font-size: var(--text-sm);
        --badge-count-lg-radius: 12px;
        --badge-security-pad-y: 3px;
        --badge-security-pad-x: 8px;
        --badge-security-radius: 10px;
        --badge-security-font-size: 10px;
        --badge-security-gap: 4px;
        --badge-payment-pad-y: 3px;
        --badge-payment-pad-x: 8px;
        --badge-payment-radius: 10px;
        --badge-payment-font-size: 10px;
        --badge-payment-gap: 3px;
        --badge-mini-pad-y: 2px;
        --badge-mini-pad-x: 6px;
        --badge-mini-radius: 8px;
        --badge-mini-font-size: 9px;
        --badge-lesson-shared-pad-y: 3px;
        --badge-lesson-shared-pad-x: 7px;
        --badge-lesson-shared-radius: 4px;
        --badge-lesson-shared-font-size: 9px;
        --badge-lesson-shared-margin-left: 6px;
        --badge-method-size: 26px;
    }
    button, .btn
 {
        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);
    }
    
    .tbl td .btn, .tbl th .btn, .tbl td button, .tbl th button, .tbl td a.btn, .tbl th a.btn
 {
        min-height: var(--btn-tbl-min-height);
        padding: var(--btn-tbl-padding-y) var(--btn-tbl-padding-x);
        font-size: var(--btn-tbl-font-size);
        line-height: 1.5;
        height: auto;
        vertical-align: middle;
        white-space: nowrap;
        flex-shrink: 1;
        min-width: 0;
    }
    
    .tbl td .btn i, .tbl th .btn i, .tbl td button i, .tbl th button i, .tbl td a.btn i, .tbl th a.btn i, .tbl td .btn .fas, .tbl th .btn .fas, .tbl td button .fas, .tbl th button .fas, .tbl td a.btn .fas, .tbl th a.btn .fas
 {
        font-size: var(--btn-tbl-icon-size);
        line-height: 1;
        height: auto;
        width: auto;
    }
    .btn i, .btn .fas, .btn .far, .btn .fal, .btn .fab, .btn .fa, button i, button .fas, button .far, button .fal, button .fab, button .fa
 {
        font-size: var(--btn-icon-size);
    }
    .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);
    }
    .btn-sm i, .btn-sm .fas, .btn-sm .far, .btn-sm .fal, .btn-sm .fab, .btn-sm .fa, button.btn-sm i
 {
        font-size: var(--btn-sm-icon-size);
    }
    .btn-lg, button.btn-lg
 {
        min-height: var(--btn-lg-min-height);
        padding: var(--btn-lg-padding-y) var(--btn-lg-padding-x);
        font-size: var(--btn-lg-font-size);
        line-height: var(--btn-lg-line-height);
    }
    
    .otp-panel.admin-otp-panel
 {
        max-width: 100%;
        padding: var(--space-2);
    }
    .admin-otp-panel .otp-panel__icon
 {
        width: 40px;
        height: 40px;
    }
    .admin-otp-panel .otp-panel__header
 {
        gap: var(--space-2);
        margin-bottom: var(--space-2);
    }
    .admin-otp-panel .otp-panel__header-top
 {
        column-gap: var(--space-2);
    }
    .admin-otp-panel .otp-panel__title
 {
        font-size: 1rem;
    }
    .admin-otp-panel .otp-panel__subtitle
 {
        font-size: 0.875rem;
        line-height: 1.35;
    }
    a.action-btn, button.action-btn
 {
        width: var(--action-btn-size);
        height: var(--action-btn-size);
        min-width: var(--action-btn-size);
        min-height: var(--action-btn-size);
    }
    
    .mail-actions
 {
        gap: var(--space-3);
        margin-top: var(--space-3);
        padding-top: var(--space-3);
        flex-direction: column;
        flex-wrap: nowrap;
        row-gap: 8px;
    }
    .mail-action-btn
 {
        gap: var(--space-2);
        width: 100%;
        padding: 10px;
        font-size: var(--text-sm);
        justify-content: center;
    }
    .mail-filters
 {
        gap: 6px;
        margin-bottom: var(--space-5);
        flex-direction: column;
        flex-wrap: nowrap;
    }
    .mail-filter-btn
 {
        width: 100%;
        padding: 6px 12px;
        font-size: 12px;
    }
    .modal-content
 {
        width: 90%;
        max-width: 90%;
    }
    .admin-apostille-modal-content
 {
        width: 90%;
        max-width: 90%;
    }
    .modal-content-large
 {
        max-width: 95%;
    }
    .uni-control-primary, .uni-control-secondary
 {
        min-height: calc(var(--space-10) + var(--space-1));
        padding: calc(var(--space-md) - 2px) var(--space-5);
        font-size: calc(var(--text-base) * 0.8125);
        line-height: 1.5;
    }
    .uni-control-success, .uni-control-danger, .uni-control-warning, .uni-control-info
 {
        min-height: calc(var(--space-10) + var(--space-1));
        padding: calc(var(--space-md) - 2px) var(--space-md);
        font-size: calc(var(--text-base) * 0.8125);
        line-height: 1.5;
    }
    .uni-control-primary i, .uni-control-primary .fas, .uni-control-primary .far, .uni-control-primary .fal, .uni-control-primary .fab, .uni-control-primary .fa, .uni-control-secondary i, .uni-control-secondary .fas, .uni-control-secondary .far, .uni-control-secondary .fal, .uni-control-secondary .fab, .uni-control-secondary .fa, .uni-control-success i, .uni-control-success .fas, .uni-control-success .far, .uni-control-success .fal, .uni-control-success .fab, .uni-control-success .fa, .uni-control-danger i, .uni-control-danger .fas, .uni-control-danger .far, .uni-control-danger .fal, .uni-control-danger .fab, .uni-control-danger .fa, .uni-control-warning i, .uni-control-warning .fas, .uni-control-warning .far, .uni-control-warning .fal, .uni-control-warning .fab, .uni-control-warning .fa, .uni-control-info i, .uni-control-info .fas, .uni-control-info .far, .uni-control-info .fal, .uni-control-info .fab, .uni-control-info .fa
 {
        font-size: calc(var(--text-base) * 0.8125);
    }
    .settings-grid-form
 {
        grid-template-columns: 1fr;
    }
    .sms-function-map-table
 {
        table-layout: auto;
    }
    .google-setting-item
 {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .config-grid
 {
        grid-template-columns: 1fr;
    }
    .specialties-edit-table .col-spec-code, .specialties-edit-table .col-spec-old-name, .specialties-edit-table .col-spec-new-name, .specialties-edit-table .col-spec-actions
 {
        width: auto;
    }
    
    .stats-section
 {
        grid-template-columns: repeat(auto-fit, minmax(calc(var(--space-10) * 2), 1fr));
        gap: var(--space-3);
    }
    .card-grid
 {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    .stat-item
 {
        padding: var(--space-4);
    }
    header
 {
        padding: var(--space-5) var(--space-4);
        margin-bottom: var(--space-4);
        border-radius: var(--radius-lg);
    }
    header h1
 {
        font-size: var(--text-2xl);
    }
    header h1::before
 {
        height: 32px;
    }
    .menu-toggle
 {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
        width: 100%;
        padding: var(--space-3) var(--space-4);
        margin-bottom: var(--space-3);
        background: var(--primary-gradient);
        color: var(--text-white);
        border: 2px solid var(--primary);
        border-radius: var(--radius-lg);
        font-size: var(--text-base);
        font-weight: 600;
        cursor: pointer;
        transition: all var(--transition-base);
        box-shadow: var(--shadow-md);
    }
    .menu-toggle:hover
 {
        background: var(--primary-dark);
        transform: translateY(-2px);
        box-shadow: var(--shadow-lg);
    }
    .menu-toggle:active
 {
        transform: translateY(0);
    }
    .menu-toggle i
 {
        font-size: var(--text-xl);
        transition: transform var(--transition-base);
    }
    .menu-toggle[aria-expanded="true"]
 {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: var(--space-2) !important;
        width: 100% !important;
        min-width: 100% !important;
    }
    .menu-toggle[aria-expanded="true"] i
 {
        transform: rotate(90deg);
    }
    .menu-toggle[aria-expanded="true"] .menu-toggle-text
 {
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: auto !important;
        max-width: none !important;
        flex-shrink: 0 !important;
        white-space: nowrap !important;
    }
    .menu-toggle-text
 {
        font-size: var(--text-base);
    }
    
    .admin-head-navigation #head-icon-menu
 {
        grid-template-columns: 1fr !important;
        gap: var(--space-2);
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        transform: translateY(-10px) !important;
        transition: max-height 0.3s ease-out, opacity 0.3s ease-out, transform 0.3s ease-out !important;
        margin: 0 !important;
        padding: 0 !important;
        display: grid !important;
    }
    .admin-head-navigation #head-icon-menu.menu-open
 {
        max-height: 5000px !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
        margin-bottom: var(--space-4) !important;
        padding: 0 !important;
        display: grid !important;
    }
    .head-icon-menu a, .head-icon-menu .menu-link
 {
        padding: var(--space-3) var(--space-4);
        font-size: var(--text-sm);
        min-height: 52px;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .head-icon-menu a i, .head-icon-menu .menu-link i
 {
        width: 24px;
        height: 24px;
        min-width: 24px;
    }
    h1
 { font-size: calc(var(--text-4xl) * 0.7778); }
    h2
 { font-size: calc(var(--text-3xl) * 0.8); }
    h3
 { font-size: calc(var(--text-2xl) * 0.8333); }
    h4
 { font-size: calc(var(--text-xl) * 0.88); }
    h5
 { font-size: calc(var(--text-lg) * 0.8889); }
    h6
 { font-size: calc(var(--text-base) * 0.9); }
    body
 {
        font-size: calc(var(--text-base) * 0.875);
    }
    button, .btn
 {
        padding: var(--space-md) var(--space-lg);
        font-size: calc(var(--text-base) * 0.875);
        min-height: 44px;
        margin-bottom: var(--space-sm);
    }
    .btn-block,
    .btn--stretch,
    form > .btn,
    .form-footer > .btn,
    .footer-logout .btn
 {
        width: 100%;
    }
    .tbl td .btn,
    .tbl th .btn,
    .user-table td .btn,
    .user-table th .btn,
    .admin-panel-table td .btn,
    .admin-panel-table th .btn,
    .lesson td .btn,
    .lesson th .btn,
    td .btn,
    th .btn,
    td button,
    th button
 {
        width: auto;
        min-width: 0;
        margin-bottom: 0;
    }
    button:last-child, .btn:last-child
 {
        margin-bottom: 0;
    }
    .head-icon-menu .menu-badge
 { min-width: 22px;
        height: 22px;
        padding: 0 6px;
        font-size: var(--text-xs);
        line-height: 22px;
        border-radius: 11px;
        top: -8px;
        right: -3px;
        z-index: 20;
    }
    .head-icon-menu .menu-badge:hover
 {
        filter: brightness(1.1);
        animation-play-state: paused;
    }
    
    .card-body
 {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .table-container, .table-wrapper, .table-2cols, .table-3cols, .table-4cols, .table-4cols-params, .table-5cols, .table-7cols, .table-student-list
 {
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        overflow-y: visible;
        -webkit-overflow-scrolling: touch;
    }
    .table-container > table, .table-container > .tbl, .table-container > .user-table, .table-wrapper > table, .table-wrapper > .tbl, .table-wrapper > .user-table
 {
        min-width: 100%;
        margin: 0;
    }
    .table-container th, .table-container td, .table-wrapper th, .table-wrapper td
 {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .table-container .tbl__col--actions, .table-container td[class*="col-action"], .table-container th[class*="col-action"], .table-wrapper .tbl__col--actions, .table-wrapper td[class*="col-action"], .table-wrapper th[class*="col-action"]
 {
        white-space: nowrap;
        overflow-wrap: normal;
        word-break: normal;
    }
    .card-body .tbl
 {
        margin: 0;
    }
    .card-body .students-list-table
 {
        font-size: calc(var(--text-base) * 0.75);
        min-width: 420px;
        --sl-action-pad-x: 6px;
        --sl-action-pad-y: 8px;
        --sl-action-btn: 34px;
        --sl-action-icon: var(--text-xs);
    }
    .card-body .students-list-table th
 {
        padding: 8px 10px;
        font-size: calc(var(--text-base) * 0.6875);
        white-space: normal;
        word-break: break-word;
    }
    .card-body .students-list-table th.tbl__col--id, .card-body .students-list-table td.tbl__col--id
 {
        width: 45px;
        min-width: 45px;
        text-align: left;
    }
    .card-body .students-list-table th.col-fullname, .card-body .students-list-table td.col-fullname
 {
        width: auto;
    }
    .card-body .students-list-table td.col-fullname
 {
        padding: 8px 10px;
        font-size: var(--text-xs);
        white-space: normal;
        word-break: break-word;
    }
    .modal
 {
        padding: var(--space-md);
    }
    .modal-content
 {
        width: 100%;
        max-width: 100%;
        padding: var(--space-md);
        margin: 0;
        max-height: calc(100vh - 40px);
    }
    .modal-header
 {
        margin-bottom: var(--space-md);
        padding-bottom: var(--space-sm);
    }
    .modal-title
 {
        font-size: 1.25rem;
    }
    .modal-footer
 {
        flex-direction: column;
        gap: var(--space-sm);
    }
    .modal-footer .btn-primary,
    .modal-footer .btn-danger,
    .modal-footer .btn-success,
    .modal-footer .btn-secondary
 {
        width: 100%;
        margin-bottom: var(--space-sm);
    }
    .modal-footer .btn-icon,
    .modal-footer .credentials-modal__copy-btn,
    .modal-footer [class*="copy-btn"],
    .modal-footer [class*="close-btn"]
 {
        width: auto;
        min-width: var(--btn-min-height, 44px);
        margin-bottom: 0;
    }
    .card
 {
        padding: 0;
        margin-bottom: var(--space-4);
    }
    .card-header
 {
        padding: var(--space-4) var(--space-4);
        margin-bottom: 0;
        padding-bottom: var(--space-4);
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: var(--space-3);
    }
    .card-header::before
 {
        width: 3px;
        height: 20px;
    }
    .filter-header
 {
        cursor: pointer;
        user-select: none;
        transition: background-color 0.2s ease;
    }
    .filter-header:hover
 {
        background-color: var(--bg-hover);
    }
    .filter-header .filter-icon
 {
        margin-left: var(--space-2);
        transition: transform 0.3s ease;
    }
    .filter-header[aria-expanded="true"] .filter-icon
 {
        transform: rotate(180deg);
    }
    .card-body
 {
        padding: var(--space-4);
    }
    .card-body#filter-form-container:not(.filters-open)
 {
        padding: 0 var(--space-4) !important;
        max-height: 0 !important;
        overflow: hidden !important;
        opacity: 0 !important;
        transform: translateY(-10px) !important;
        margin: 0 !important;
    }
    .card-body#filter-form-container.filters-open
 {
        padding: var(--space-4) !important;
        max-height: 5000px !important;
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
    .filter-toggle
 {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
        background: var(--primary-gradient);
        color: var(--text-white);
        border: none;
        border-radius: var(--radius-md);
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-sm);
        font-weight: 500;
        cursor: pointer;
        transition: var(--transition-base);
        box-shadow: var(--shadow-sm);
        min-height: 36px;
    }
    .filter-toggle:hover
 {
        transform: translateY(-1px);
        box-shadow: var(--shadow-md);
    }
    .filter-toggle:active
 {
        transform: translateY(0);
    }
    .filter-toggle i
 {
        font-size: var(--text-base);
    }
    .filter-toggle span
 {
        display: none;
    }
    .user-table
 {
        font-size: calc(var(--text-base) * 0.875);
        margin: var(--space-md) 0;
    }
    .user-table th
 {
        font-size: calc(var(--text-base) * 0.9375);
        padding: var(--space-3) var(--space-md);
    }
    .user-table td
 {
        font-size: calc(var(--text-base) * 0.875);
        padding: var(--space-3) var(--space-md);
    }
    .user-table td:first-child
 {
        min-width: 110px;
    }
    .tbl--fixed .tbl__cell--nowrap, .tbl td.tbl__cell--nowrap, .tbl th.tbl__cell--nowrap
 {
        white-space: normal;
        word-break: break-word;
        overflow-wrap: anywhere;
    }
    
    .user-table.documents-table
 {
        display: block;
    }
    .user-table.documents-table thead
 {
        display: none;
    }
    .user-table.documents-table tbody, .user-table.documents-table tr
 {
        display: block;
        width: 100%;
    }
    .user-table.documents-table tr
 {
        margin-bottom: var(--space-4);
        border: 1px solid var(--border-light);
        border-radius: var(--radius-md);
        padding: var(--space-3);
        background: var(--bg-primary);
    }
    .user-table.documents-table td
 {
        display: block;
        width: 100% !important;
        text-align: left !important;
        padding: var(--space-2) 0;
        border: none;
    }
    .user-table.documents-table td:before
 {
        content: attr(data-label);
        font-weight: 600;
        display: block;
        margin-bottom: var(--space-1);
        color: var(--text-muted);
        font-size: var(--text-sm);
    }
    .user-table.documents-table td:first-child:before
 {
        content: "Тип документа";
    }
    .user-table.documents-table td:nth-child(2):before
 {
        content: "Статус";
    }
    .user-table.documents-table td:nth-child(3):before, .user-table.documents-table td:nth-child(4):before
 {
        content: "Действие";
    }
    .user-table.documents-table .btn
 {
        width: 100%;
        justify-content: center;
    }
    .user-table#online-users-table, .user-table#offline-users-table
 {
        table-layout: fixed;
    }
    .user-table#online-users-table th:nth-child(1), .user-table#online-users-table td:nth-child(1), .user-table#offline-users-table th:nth-child(1), .user-table#offline-users-table td:nth-child(1)
 {
        width: 33%;
        min-width: 110px;
    }
    .user-table#online-users-table th:nth-child(2), .user-table#online-users-table td:nth-child(2), .user-table#offline-users-table th:nth-child(2), .user-table#offline-users-table td:nth-child(2)
 {
        width: 20%;
        min-width: 70px;
    }
    .user-table#online-users-table th:nth-child(3), .user-table#online-users-table td:nth-child(3), .user-table#offline-users-table th:nth-child(3), .user-table#offline-users-table td:nth-child(3)
 {
        width: 23.5%;
        min-width: 95px;
    }
    .user-table#online-users-table th:nth-child(4), .user-table#online-users-table td:nth-child(4), .user-table#offline-users-table th:nth-child(4), .user-table#offline-users-table td:nth-child(4)
 {
        width: 23.5%;
        min-width: 95px;
    }
    
    .user-table#hero-team-table
 {
        min-width: 480px;
    }
    .user-table#hero-team-table th.tbl__col--id, .user-table#hero-team-table td.tbl__col--id
 {
        width: 4.8%;
        min-width: 41px;
        max-width: 58px;
    }
    .user-table#hero-team-table th:nth-child(2), .user-table#hero-team-table td:nth-child(2), .user-table#hero-team-table th:nth-child(3), .user-table#hero-team-table td:nth-child(3), .user-table#hero-team-table th:nth-child(4), .user-table#hero-team-table td:nth-child(4)
 {
        width: 29.9%;
        min-width: 129px;
    }
    .user-table#hero-team-table th:nth-child(5), .user-table#hero-team-table td:nth-child(5)
 {
        width: 6.5%;
        min-width: 48px;
        max-width: 65px;
    }
    .user-table#hero-team-table th:nth-child(6), .user-table#hero-team-table td:nth-child(6), .user-table#hero-team-table th:nth-child(7), .user-table#hero-team-table td:nth-child(7)
 {
        width: 10%;
        min-width: 45px;
    }
    .user-table#attendance-table
 {
        min-width: 320px;
        font-size: var(--text-sm);
    }
    .user-table#attendance-table th
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#attendance-table td
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#attendance-table th:nth-child(1), .user-table#attendance-table td:nth-child(1)
 {
        width: 38%;
        min-width: 100px;
    }
    .user-table#attendance-table th:nth-child(2), .user-table#attendance-table td:nth-child(2)
 {
        width: 24%;
        min-width: 85px;
    }
    .user-table#attendance-table th:nth-child(3), .user-table#attendance-table td:nth-child(3)
 {
        width: 20%;
        min-width: 70px;
    }
    .user-table#attendance-table th:nth-child(4), .user-table#attendance-table td:nth-child(4)
 {
        width: 18%;
        min-width: 65px;
    }
    .status-present, .status-late, .status-absent
 {
        font-size: var(--text-xs);
    }
    
    .tbl:not(.cost-edit-table--mobile)
 {
        width: 100%;
        max-width: calc(100vw - var(--space-4) * 2);
        table-layout: fixed;
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .tbl:not(.cost-edit-table--mobile) tbody tr
 {
        margin-top: 0;
        margin-bottom: 0;
    }
    .tbl:not(.cost-edit-table--mobile) tbody td
 {
        padding-top: var(--space-2);
        padding-bottom: var(--space-2);
    }
    
    .tbl th.tbl__col--id, .tbl td.tbl__col--id, .tbl .tbl__col--id, .tbl__col--id
 {
        width: 40px !important;
        min-width: 40px !important;
        max-width: 50px !important;
    }
    
    .table-container > table:not(.exam-students-table):not(.deferred-actions-table) col.tbl__col--id
 {
        width: 40px;
    }
    .table-container > table:not(.exam-students-table):not(.deferred-actions-table) th.tbl__col--id, .table-container > table:not(.exam-students-table):not(.deferred-actions-table) td.tbl__col--id
 {
        width: 40px;
    }
    
    .table-container > .tbl th.tbl__col--id, .table-container > .tbl td.tbl__col--id
 {
        width: 40px;
        min-width: 40px;
        max-width: 50px;
    }
    
    .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table) col.col-action-1, .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table) col.col-action-2, .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table) col.col-action-3, .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table) col.col-action-4
 {
        width: 40px;
    }
    .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) th:nth-child(5), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) th:nth-child(6), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) td:nth-child(5), .table-container > table:not(.exam-students-table):not(.deferred-actions-table):not(.students-list-table):not(.curator-list-table):not(.curator-notifications-table):not(.sms-function-map-table):not(.cost-edit-table):not(.cost-view-table):not(.documents-apply-table):not(.translation-management-table) td:nth-child(6)
 {
        width: 40px;
    }
    .tbl__col--checkbox
 {
        width: 1%;
        min-width: 30px;
        max-width: 40px;
        padding-left: var(--space-4);
        padding-right: var(--space-1);
    }
    .tbl:not(.cost-edit-table--mobile) .tbl__col--date
 {
        width: clamp(100px, calc(18% - var(--space-1)), 124px);
        min-width: 100px;
        max-width: 124px;
        text-align: left;
        font-size: var(--text-sm);
    }
    .tbl:has(.tbl__col--checkbox) td:nth-child(2), .tbl:has(.tbl__col--checkbox) th:nth-child(2)
 {
        padding-left: var(--space-4);
    }
    .tbl:not(.students-list-table):not(.cost-edit-table--mobile) th:nth-child(2), .tbl:not(.students-list-table):not(.cost-edit-table--mobile) td:nth-child(2), .tbl:not(.students-list-table):not(.cost-edit-table--mobile) tbody tr td:nth-child(2)
 {
        min-width: clamp(120px, calc(34vw - var(--space-2)), 180px);
        text-align: left;
        overflow: hidden;
        text-overflow: ellipsis;
        word-wrap: break-word;
        word-break: break-word;
    }
    .tbl:has(.tbl__col--checkbox) th:nth-child(2), .tbl:has(.tbl__col--checkbox) td:nth-child(2), .tbl:has(.tbl__col--checkbox) tbody tr td:nth-child(2)
 {
        width: calc(92% - var(--space-2)) !important;
        min-width: clamp(110px, calc(62vw - var(--space-2)), 100%);
        text-align: left;
        overflow: hidden;
        text-overflow: ellipsis;
        word-wrap: break-word;
        word-break: break-word;
    }
    
    .tbl td.tbl__col--select
 {
        width: calc(75% - var(--space-2)) !important;
        min-width: 140px !important;
        max-width: 100% !important;
        text-align: left;
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
        word-wrap: break-word;
        word-break: break-word;
    }
    .tbl tbody tr:has(td.tbl__col--select) th, .tbl tbody tr:has(td.tbl__col--select) th:first-child
 {
        width: calc(25% - var(--space-2));
        min-width: 100px;
        max-width: 150px;
    }
    .tbl td.tbl__col--select select, .tbl td.tbl__col--select .form-input
 {
        width: 100%;
        min-width: 120px;
        max-width: 100%;
        box-sizing: border-box;
    }
    .tbl tbody tr:has(td:nth-child(2) input:not(select)) th, .tbl tbody tr:has(td:nth-child(2) input:not(select)) th:first-child
 {
        width: calc(22% - var(--space-2));
        min-width: 100px;
        max-width: 150px;
    }
    .tbl tbody tr:has(td:nth-child(2) input:not(select)) td:nth-child(2)
 {
        width: calc(78% - var(--space-2)) !important;
        min-width: 160px;
        text-align: left;
    }
    .tbl thead:has(th:nth-child(3):last-child) th:nth-child(1), .tbl thead:has(th:nth-child(3):last-child) ~ tbody td:nth-child(1), .tbl:has(thead th:nth-child(3):last-child) th:nth-child(1), .tbl:has(thead th:nth-child(3):last-child) td:nth-child(1)
 {
        width: calc(35% - var(--space-2));
        min-width: 150px;
        text-align: left;
    }
    .tbl thead:has(th:nth-child(3):last-child) th:nth-child(2), .tbl thead:has(th:nth-child(3):last-child) ~ tbody td:nth-child(2), .tbl:has(thead th:nth-child(3):last-child) th:nth-child(2), .tbl:has(thead th:nth-child(3):last-child) td:nth-child(2)
 {
        width: calc(37% - var(--space-2));
        min-width: 140px;
        text-align: left;
    }
    .tbl thead:has(th:nth-child(3):last-child) th:nth-child(3), .tbl thead:has(th:nth-child(3):last-child) ~ tbody td:nth-child(3), .tbl:has(thead th:nth-child(3):last-child) th:nth-child(3), .tbl:has(thead th:nth-child(3):last-child) td:nth-child(3)
 {
        width: calc(28% - var(--space-2));
        min-width: 100px;
        text-align: left;
    }
    
    .tbl:has(#student_list) tbody#student_list
 {
        display: block;
        max-height: 180px;
        overflow-y: auto;
        overflow-x: hidden;
    }
    .tbl:has(#student_list) thead, .tbl:has(#student_list) thead tr, .tbl:has(#student_list) thead th
 {
        display: table;
        width: 100%;
        table-layout: fixed;
    }
    .tbl:has(#student_list) tbody#student_list tr
 {
        display: table;
        width: 100%;
        table-layout: fixed;
    }
    .tbl__col--actions
 {
        min-width: clamp(55px, calc(10vw - var(--space-1)), 75px);
        white-space: nowrap;
    }
    .tbl:has(td.tbl__col--actions:nth-child(2)) td:first-child, .tbl:has(td.tbl__col--actions:nth-child(2)) th:first-child
 {
        width: calc(85% - var(--space-2));
        min-width: 150px;
    }
    .tbl:has(td.tbl__col--actions:nth-child(2)) td.tbl__col--actions
 {
        width: calc(15% - var(--space-2)) !important;
        min-width: 65px;
    }
    .tbl__col--actions a, .tbl__col--actions button
 {
        margin: 0 var(--space-1);
    }
    .tbl:not(.cost-view-table) th:nth-child(3):not(.tbl__col--actions), .tbl:not(.cost-view-table) td:nth-child(3):not(.tbl__col--actions), .tbl:not(.cost-view-table) tbody tr td:nth-child(3):not(.tbl__col--actions), .tbl:not(.cost-view-table) th:nth-child(4):not(.tbl__col--actions), .tbl:not(.cost-view-table) td:nth-child(4):not(.tbl__col--actions), .tbl:not(.cost-view-table) th:nth-child(5):not(.tbl__col--actions), .tbl:not(.cost-view-table) td:nth-child(5):not(.tbl__col--actions)
 {
        text-align: left;
    }
    #university-list-table th:nth-child(1), #university-list-table td:nth-child(1)
 {
        min-width: clamp(200px, calc(50vw - var(--space-2)), 300px);
        text-align: left;
        white-space: nowrap;
    }
    .tbl:not(.cost-view-table) tbody tr td:nth-child(3):not(.tbl__col--actions)
 {
        overflow: hidden;
        text-overflow: ellipsis;
        word-wrap: break-word;
        word-break: break-word;
        text-align: left;
    }
    .tbl:not(.students-list-table) tbody tr td:nth-child(3).tbl__col--actions, .tbl:not(.students-list-table) tbody tr td:nth-child(4).tbl__col--actions, .tbl:not(.students-list-table) tbody tr td:nth-child(5).tbl__col--actions
 {
        min-width: clamp(55px, calc(10vw - var(--space-1)), 75px);
        text-align: center;
    }
    .tbl:not(.cost-view-table) tbody tr td:nth-child(4):not(.tbl__col--actions), .tbl:not(.cost-view-table) tbody tr td:nth-child(5):not(.tbl__col--actions)
 {
        text-align: left;
    }
    .tbl img, .tbl .fas, .tbl .far, .tbl .fal, .tbl .fab, .tbl .fa, .tbl i, .tbl .status-icon
 {
        width: 22px;
        height: 22px;
        max-width: 22px;
        max-height: 22px;
        object-fit: contain;
        margin-top: 0;
        margin-bottom: 0;
        vertical-align: middle;
    }
    .tbl .fas, .tbl .far, .tbl .fal, .tbl .fab, .tbl .fa, .tbl i, .tbl .status-icon
 {
        font-size: 22px;
        line-height: 22px;
        margin-top: 0;
        margin-bottom: 0;
        vertical-align: middle;
    }
    .tbl a
 {
        margin-top: 0;
        margin-bottom: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    .user-table#csrf-pages-table
 {
        min-width: 320px;
        font-size: var(--text-sm);
    }
    .user-table#csrf-pages-table th
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#csrf-pages-table td
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#csrf-pages-table th:nth-child(1), .user-table#csrf-pages-table td:nth-child(1)
 {
        width: 48%;
        min-width: 120px;
    }
    .user-table#csrf-pages-table th:nth-child(2), .user-table#csrf-pages-table td:nth-child(2)
 {
        width: 26%;
        min-width: 85px;
    }
    .user-table#csrf-pages-table th:nth-child(3), .user-table#csrf-pages-table td:nth-child(3)
 {
        width: 26%;
        min-width: 70px;
    }
    .user-table#csrf-ips-table
 {
        min-width: 400px;
        font-size: var(--text-xs);
    }
    .user-table#csrf-ips-table th
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#csrf-ips-table td
 {
        font-size: var(--text-xs);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#csrf-ips-table th:nth-child(1), .user-table#csrf-ips-table td:nth-child(1)
 {
        width: 33%;
        min-width: 100px;
    }
    .user-table#csrf-ips-table th:nth-child(2), .user-table#csrf-ips-table td:nth-child(2)
 {
        width: 22%;
        min-width: 70px;
    }
    .user-table#csrf-ips-table th:nth-child(3), .user-table#csrf-ips-table td:nth-child(3)
 {
        width: 22%;
        min-width: 70px;
    }
    .user-table#csrf-ips-table th:nth-child(4), .user-table#csrf-ips-table td:nth-child(4)
 {
        width: 23%;
        min-width: 80px;
    }
    .user-table#csrf-time-table
 {
        min-width: 320px;
        font-size: var(--text-sm);
    }
    .user-table#csrf-time-table th
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#csrf-time-table td
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#csrf-time-table th:nth-child(1), .user-table#csrf-time-table td:nth-child(1)
 {
        width: 18%;
        min-width: 60px;
    }
    .user-table#csrf-time-table th:nth-child(2), .user-table#csrf-time-table td:nth-child(2)
 {
        width: 22%;
        min-width: 70px;
    }
    .user-table#csrf-time-table th:nth-child(3), .user-table#csrf-time-table td:nth-child(3)
 {
        width: 60%;
        min-width: 120px;
    }
    .user-table#csrf-reports-table
 {
        min-width: 600px;
        font-size: var(--text-xs);
    }
    .user-table#csrf-reports-table th
 {
        font-size: var(--text-xs);
        padding: var(--space-2) var(--space-3);
    }
    .user-table#csrf-reports-table td
 {
        font-size: var(--text-xs);
        padding: var(--space-2) var(--space-3);
    }
    .user-table#csrf-reports-table th:nth-child(1), .user-table#csrf-reports-table td:nth-child(1)
 {
        width: 18%;
        min-width: 100px;
    }
    .user-table#csrf-reports-table th:nth-child(2), .user-table#csrf-reports-table td:nth-child(2)
 {
        width: 25%;
        min-width: 110px;
    }
    .user-table#csrf-reports-table th:nth-child(3), .user-table#csrf-reports-table td:nth-child(3)
 {
        width: 12%;
        min-width: 60px;
    }
    .user-table#csrf-reports-table th:nth-child(4), .user-table#csrf-reports-table td:nth-child(4)
 {
        width: 15%;
        min-width: 70px;
    }
    .user-table#csrf-reports-table th:nth-child(5), .user-table#csrf-reports-table td:nth-child(5)
 {
        width: 13%;
        min-width: 65px;
    }
    .user-table#csrf-reports-table th:nth-child(6), .user-table#csrf-reports-table td:nth-child(6)
 {
        width: 17%;
        min-width: 90px;
    }
    .user-table#csrf-reports-table .btn
 {
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-xs);
    }
    .user-table#csrf-debug-table
 {
        min-width: 400px;
        font-size: var(--text-xs);
    }
    .user-table#csrf-debug-table th
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#csrf-debug-table td
 {
        font-size: var(--text-xs);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#csrf-debug-table th:nth-child(1), .user-table#csrf-debug-table td:nth-child(1)
 {
        width: 38%;
        min-width: 120px;
    }
    .user-table#csrf-debug-table th:nth-child(2), .user-table#csrf-debug-table td:nth-child(2)
 {
        width: 17%;
        min-width: 70px;
    }
    .user-table#csrf-debug-table th:nth-child(3), .user-table#csrf-debug-table td:nth-child(3)
 {
        width: 30%;
        min-width: 100px;
    }
    .user-table#csrf-debug-table th:nth-child(4), .user-table#csrf-debug-table td:nth-child(4)
 {
        width: 15%;
        min-width: 60px;
    }
    .search-filters-toggle-container
 {
        margin-bottom: var(--space-md);
    }
    .filter-toggle
 {
        width: 100%;
        justify-content: center;
        padding: var(--space-md) var(--space-lg);
        font-size: var(--text-sm);
        min-height: calc(var(--space-10) + var(--space-1));
    }
    .filter-toggle span
 {
        font-size: var(--text-sm);
    }
    #search-filters-container.search-filters-collapsed .search-filters-additional
 {
        display: none !important;
    }
    #search-filters-container.search-filters-expanded .search-filters-additional
 {
        display: block !important;
    }
    #main-results-section .table-wrapper, #excluded-section .table-wrapper
 {
        margin: var(--space-3) 0;
        border-radius: var(--radius-md);
    }
    #main-results-section .user-table, #excluded-section .user-table
 {
        min-width: 500px;
        font-size: var(--text-sm);
    }
    #main-results-section .user-table th, #excluded-section .user-table th
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    #main-results-section .user-table td, #excluded-section .user-table td
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    #main-results-section .user-table th:nth-child(1), #main-results-section .user-table td:nth-child(1), #excluded-section .user-table th:nth-child(1), #excluded-section .user-table td:nth-child(1)
 {
        width: 6%;
        min-width: 40px;
    }
    #main-results-section .user-table th:nth-child(2), #main-results-section .user-table td:nth-child(2), #excluded-section .user-table th:nth-child(2), #excluded-section .user-table td:nth-child(2)
 {
        width: 35%;
        min-width: 130px;
    }
    #main-results-section .user-table th:nth-child(3), #main-results-section .user-table td:nth-child(3), #excluded-section .user-table th:nth-child(3), #excluded-section .user-table td:nth-child(3)
 {
        width: 22%;
        min-width: 100px;
    }
    #main-results-section .user-table th:nth-child(4), #main-results-section .user-table td:nth-child(4), #excluded-section .user-table th:nth-child(4), #excluded-section .user-table td:nth-child(4)
 {
        width: 22%;
        min-width: 120px;
    }
    #main-results-section .user-table th:nth-child(5), #main-results-section .user-table td:nth-child(5), #excluded-section .user-table th:nth-child(5), #excluded-section .user-table td:nth-child(5)
 {
        width: 15%;
        min-width: 100px;
    }
    .user-table#student-list-table
 {
        min-width: 500px;
        font-size: var(--text-sm);
    }
    .user-table#student-list-table th
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#student-list-table td
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#student-list-table th.tbl__col--id, .user-table#student-list-table td.tbl__col--id
 {
        width: 7%;
        min-width: 45px;
    }
    .user-table#student-list-table th:nth-child(2), .user-table#student-list-table td:nth-child(2)
 {
        width: 33%;
        min-width: 120px;
    }
    .user-table#student-list-table th:nth-child(3), .user-table#student-list-table td:nth-child(3)
 {
        width: 23%;
        min-width: 90px;
    }
    .user-table#student-list-table th:nth-child(4), .user-table#student-list-table td:nth-child(4)
 {
        width: 23%;
        min-width: 90px;
    }
    .user-table#student-list-table th:nth-child(5), .user-table#student-list-table td:nth-child(5)
 {
        width: 14%;
        min-width: 95px;
    }
    .user-table#student-list-table tr.status-new td, .user-table#student-list-table tr.status-studying td, .user-table#student-list-table tr.status-vacation td, .user-table#student-list-table tr.status-finished td, .user-table#student-list-table tr.status-dropped td, .user-table#student-list-table tr.status-waiting td
 {
        font-size: var(--text-xs);
    }
    .user-table#students-verified-table, .user-table#students-pending-table
 {
        min-width: 400px;
        font-size: var(--text-sm);
    }
    .user-table#students-verified-table th, .user-table#students-pending-table th
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#students-verified-table td, .user-table#students-pending-table td
 {
        font-size: var(--text-sm);
        padding: var(--space-3) var(--space-md);
    }
    .user-table#students-verified-table th:nth-child(1), .user-table#students-verified-table td:nth-child(1), .user-table#students-pending-table th:nth-child(1), .user-table#students-pending-table td:nth-child(1)
 {
        width: 33%;
        min-width: 120px;
    }
    .user-table#students-verified-table th:nth-child(2), .user-table#students-verified-table td:nth-child(2), .user-table#students-pending-table th:nth-child(2), .user-table#students-pending-table td:nth-child(2)
 {
        width: 33%;
        min-width: 120px;
    }
    .user-table#students-verified-table th:nth-child(3), .user-table#students-verified-table td:nth-child(3), .user-table#students-pending-table th:nth-child(3), .user-table#students-pending-table td:nth-child(3)
 {
        width: 34%;
        min-width: 180px;
    }
    .user-table#students-verified-table .btn, .user-table#students-pending-table .btn
 {
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-xs);
    }
    .table-desktop
 {
        display: none !important;
    }
    .table-mobile
 {
        display: block;
        width: 100%;
    }
    .semesters-container
 {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }
    .semester-block
 {
        padding: var(--space-md);
    }
    .semester-header
 {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2);
    }
    .semester-title
 {
        font-size: var(--text-base);
    }
    .academic-year
 {
        align-self: flex-start;
    }
    .semester-fields
 {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }
    .form-actions
 {
        flex-direction: column;
    }
    .form-actions .btn
 {
        width: 100%;
        justify-content: center;
    }
    .tbl#university-list-table th, .tbl#university-list-table td
 {
        padding: var(--space-md);
        font-size: var(--text-sm);
    }
    

    
    
    
    
    
    .cost-edit-table-wrap--mobile
 {
        --cost-edit-mobile-bleed-pad: var(--space-3);
        width: calc(100% + 2 * var(--cost-edit-mobile-bleed-pad));
        max-width: 100vw;
        min-width: 0;
        margin-left: calc(-1 * var(--cost-edit-mobile-bleed-pad));
        margin-right: calc(-1 * var(--cost-edit-mobile-bleed-pad));
        box-sizing: border-box;
    }
    .cost-edit-table-wrap--mobile .table-container
 {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin-left: 0;
        margin-right: 0;
    }
    .table-container:has(table#student-cost-table-mobile)
 {
        overflow-x: visible;
        max-width: 100%;
        width: 100%;
    }
    table#student-cost-table-mobile.cost-edit-table
 {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: auto !important;
    }
    
    .table-container > table#student-cost-table-mobile col.col-cet-mobile-label
 {
        width: 38% !important;
        min-width: 6rem !important;
    }
    .table-container > table#student-cost-table-mobile col.col-cet-mobile-value
 {
        width: auto;
    }
    table#student-cost-table-mobile thead
 {
        display: none !important;
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card
 {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100%;
        margin: 0 0 var(--space-3) 0;
        padding: 0;
        box-sizing: border-box;
        border: 1px solid var(--border-light);
        border-radius: var(--radius-md);
        overflow: hidden;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card:not(:is(.tbl__row--danger, .tbl__row--warning, .tbl__row--success, .tbl__row--info, .tbl__row--future, .tbl__row--overpayment, .tbl__row--debt-paid))
 {
        background: var(--bg-card);
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card.tbl__row--danger
 {
        background-color: var(--danger-light) !important;
        border-left: 4px solid var(--danger);
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card.tbl__row--warning
 {
        background-color: var(--warning-light) !important;
        border-left: 4px solid var(--warning);
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card.tbl__row--success
 {
        background-color: var(--success-light) !important;
        border-left: 4px solid var(--success);
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card.tbl__row--info
 {
        background-color: var(--info-light) !important;
        border-left: 4px solid var(--info);
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card.tbl__row--future
 {
        background-color: var(--bg-secondary) !important;
        border-left: 4px solid var(--border-dark);
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card.tbl__row--overpayment
 {
        background-color: var(--overpayment-light) !important;
        border-left: 4px solid var(--overpayment);
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card.tbl__row--debt-paid
 {
        background-color: var(--debt-paid-light) !important;
        border-left: 4px solid var(--debt-paid);
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card tr
 {
        display: grid !important;
        grid-template-columns: minmax(0, min(42%, 10rem)) minmax(0, 1fr);
        gap: var(--space-1) var(--space-3);
        align-items: start;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: var(--space-2) var(--space-3);
        box-sizing: border-box;
        border: none;
        border-bottom: 1px solid var(--border-light, rgba(0, 0, 0, 0.08));
        border-radius: 0;
        background: transparent;
        min-height: 0;
        min-width: 0;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card tr:last-child
 {
        border-bottom: none;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card tr.tbl__row--mobile-actions-primary td, table#student-cost-table-mobile tbody.cost-edit-semester-card tr.tbl__row--mobile-actions-secondary td
 {
        grid-column: 1 / -1;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card td
 {
        display: block !important;
        min-width: 0 !important;
        max-width: 100%;
        box-sizing: border-box;
        padding: 0;
        border: none;
        border-radius: 0;
        background: transparent;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        font-size: calc(var(--text-sm) * 0.9);
        vertical-align: top;
        text-align: left !important;
    }
    
    .table-container > table#student-cost-table-mobile.cost-edit-table tbody.cost-edit-semester-card td.tbl__col--date, .table-container > table#student-cost-table-mobile.cost-edit-table tbody.cost-edit-semester-card td.tbl__col--numeric
 {
        text-align: left !important;
    }
    
    table#student-cost-table-mobile tbody.cost-edit-semester-card td.tbl__col--date
 {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card .tbl__col--mobile-label
 {
        font-weight: 600;
        color: var(--text-secondary, #6b7280);
        font-size: var(--text-xs);
        line-height: 1.35;
        text-align: left;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card .tbl__col--numeric
 {
        text-align: left;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card .tbl__col--numeric .form-input-inline
 {
        text-align: left;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card tr:not(.tbl__row--mobile-actions-primary):not(.tbl__row--mobile-actions-secondary) input[type="text"], table#student-cost-table-mobile tbody.cost-edit-semester-card tr:not(.tbl__row--mobile-actions-primary):not(.tbl__row--mobile-actions-secondary) input[type="date"]
 {
        display: block !important;   /* .input-date ставит inline-block — принудительно блочный */
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        font-size: calc(var(--text-sm) * 0.9);
        text-align: left;
        margin-bottom: 0;            /* сброс глобального mobile margin-bottom: 12px */
        min-height: 0;               /* сброс глобального mobile min-height: 44px */
        height: auto;
        padding: var(--space-1) var(--space-2); /* единый компактный padding для обоих полей */
    }
    
    table#student-cost-table-mobile tbody.cost-edit-semester-card tr:not(.tbl__row--mobile-actions-primary):not(.tbl__row--mobile-actions-secondary) .form-input-inline
 {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
    
    table#student-cost-table-mobile tbody.cost-edit-semester-card tr:not(.tbl__row--mobile-actions-primary):not(.tbl__row--mobile-actions-secondary) .input-date
 {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
    
    table#student-cost-table-mobile tbody.cost-edit-semester-card tr:not(.tbl__row--mobile-actions-primary):not(.tbl__row--mobile-actions-secondary) .input-date--compact, table#student-cost-table-mobile tbody.cost-edit-semester-card tr:not(.tbl__row--mobile-actions-primary):not(.tbl__row--mobile-actions-secondary) input[type="date"].input-date--compact
 {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card .tbl__col--mobile-actions-full
 {
        min-width: 0;
        width: 100%;
        text-align: left;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card .cost-edit-mobile-update-actions
 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: var(--space-2);
        width: 100%;
        min-width: 0;
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card .cost-edit-mobile-update-row
 {
        display: flex;
        justify-content: flex-start;
        flex: 0 0 auto;
    }
    
    table#student-cost-table-mobile tbody.cost-edit-semester-card .tbl__row--mobile-actions-primary .btn.btn-sm, table#student-cost-table-mobile tbody.cost-edit-semester-card .tbl__row--mobile-actions-secondary .btn.btn-sm
 {
        width: var(--btn-sm-min-height);
        height: var(--btn-sm-min-height);
        min-width: var(--btn-sm-min-height);
        min-height: var(--btn-sm-min-height);
        max-width: var(--btn-sm-min-height);
        max-height: var(--btn-sm-min-height);
        padding: 0;
        gap: var(--btn-icon-gap-sm);
        font-size: var(--btn-sm-font-size);
        line-height: var(--btn-sm-line-height);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        box-sizing: border-box;
        /* overflow: visible — не скрывать .file-input__state badge (position:absolute; right:-6px; bottom:-6px) */
    }
    table#student-cost-table-mobile tbody.cost-edit-semester-card .tbl__row--mobile-actions-primary .btn.btn-sm i, table#student-cost-table-mobile tbody.cost-edit-semester-card .tbl__row--mobile-actions-secondary .btn.btn-sm i
 {
        font-size: var(--btn-icon-size-sm);
        line-height: 1;
        flex-shrink: 0;
    }
    
    
    table#student-cost-table-mobile.cost-edit-table .cost-edit-mobile-actions-line
 {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: flex-start;
        gap: var(--space-2);
        min-width: 0;
        box-sizing: border-box;
    }
    
    table#student-cost-table-mobile.cost-edit-table .cost-edit-mobile-actions-line--primary
 {
        flex: 1 1 0;
        min-width: 0;
    }
    
    table#student-cost-table-mobile.cost-edit-table .cost-edit-mobile-actions-line--secondary
 {
        width: 100%;
        min-width: 0;
    }
    table#student-cost-table-mobile.cost-edit-table .receipt-sms-label
 {
        white-space: nowrap;
        display: inline-flex;
        align-items: center;
        gap: var(--space-1);
        margin: 0;
    }
    table#student-cost-table-mobile.cost-edit-table .action-form
 {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: var(--space-1);
        flex: 0 0 auto;
        min-width: 0;
        margin: 0;
    }
    table#student-cost-table-mobile.cost-edit-table .action-form--upload
 {
        gap: var(--space-1);
    }
    table#student-cost-table-mobile.cost-edit-table .action-form--upload .file-upload-control
 {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        gap: var(--space-1);
        min-width: 0;
    }
    table#student-cost-table-mobile.cost-edit-table .action-form--upload .file-input__trigger
 {
        flex: 0 0 auto;
    }
    table#student-cost-table-mobile.cost-edit-table .action-form--upload button[name="upload_receipt"]
 {
        flex: 0 0 auto;
    }
    table#student-cost-table-mobile.cost-edit-table .action-form--create
 {
        gap: var(--space-2);
    }
    table#student-cost-table-mobile.cost-edit-table .action-form--create .receipt-sms-label
 {
        flex: 0 0 auto;
    }
    table#student-cost-table-mobile.cost-edit-table .action-form--create button
 {
        flex: 0 0 auto;
    }
    table#student-cost-table-mobile.cost-edit-table .action-form--view
 {
        display: flex;
        align-items: center;
        flex: 0 0 auto;
        margin: 0;
    }
    table#student-cost-table-mobile.cost-edit-table .action-form--delete
 {
        display: flex;
        align-items: center;
        flex: 0 0 auto;
        margin: 0;
    }
    table#student-cost-table-mobile.cost-edit-table .cost-edit-mobile-actions-line > .text-muted, table#student-cost-table-mobile.cost-edit-table .cost-edit-mobile-actions-line > .receipt-missing-indicator
 {
        flex: 0 1 auto;
        min-width: 0;
        text-align: left;
    }
    table#student-cost-table-mobile.cost-edit-table .cost-edit-mobile-actions-line .form-inline
 {
        display: inline-flex;
        align-items: center;
        gap: var(--space-1);
        margin: 0;
    }
    table#student-cost-table-mobile.cost-edit-table .cost-edit-mobile-actions-line .text-muted
 {
        color: var(--text-muted, #6b7280);
        font-size: 0.875rem;
    }
    

/* ═══════════════════════════════════════════════════════════════════════════════
 * МОБИЛЬНАЯ КАРТОЧНАЯ ВЕРСТКА ДЛЯ .tbl--smart-cells (≤767px)
 * ═══════════════════════════════════════════════════════════════════════════════ */
    .tbl--smart-cells
 {
        display: block !important;
        table-layout: initial !important;
    }
    .tbl--smart-cells thead
 {
        display: none !important;
    }
    .tbl--smart-cells tbody,
    .tbl--smart-cells tr,
    .tbl--smart-cells td
 {
        display: block !important;
        width: 100% !important;
    }
    .tbl--smart-cells col
 {
        white-space: normal !important;
    }
    .tbl--smart-cells tbody tr
 {
        display: block !important;
        border: 1px solid var(--border, #dee2e6);
        border-radius: 6px;
        margin-bottom: 12px;
        padding: 8px;
        background: var(--bg-primary);
    }
    .tbl--smart-cells td:before
 {
        content: attr(data-label);
        font-weight: 600;
        display: block;
        margin-bottom: 4px;
        color: var(--text-secondary, #6b7280);
        font-size: var(--text-sm);
    }
    .tbl--smart-cells td .d-flex
 {
        justify-content: flex-start !important;
        flex-direction: column !important;
        gap: var(--space-2);
    }
    .tbl--smart-cells td .d-flex .btn,
    .tbl--smart-cells td .d-flex button
 {
        flex: 0 0 auto !important;
        width: 100% !important;
        min-width: auto !important;
        margin-bottom: 0 !important;
    }
    

/* ═══════════════════════════════════════════════════════════════════════════════
 * 📊 STAT WIDGET - Стили для мобилки (до 767px)
 * ═══════════════════════════════════════════════════════════════════════════════ */
    .stats-container
 {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }
    .stat-widget
 {
        padding: var(--space-3);
    }
    .stat-widget--lg
 {
        grid-column: span 1;
        padding: var(--space-4);
    }
    .stat-value
 {
        font-size: var(--text-xl);
    }
    .stat-icon
 {
        width: 36px;
        height: 36px;
        font-size: var(--text-lg);
    }
    .stat-label
 {
        font-size: 0.75rem;
    }
    

    .mail-container, .mail-content, .mail-body
 {
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .mail-content
 {
        padding: 15px;
    }
    .mail-navigation
 {
        padding: 12px;
        overflow-x: hidden;
    }
    .mail-nav-menu
 {
        overflow-x: hidden;
        flex-wrap: wrap;
    }
    
    .mail-item.sent-message, .mail-item.received-message
 {
        border-left-width: 3px;
    }
    .mail-item.sent-message .mail-item-header, .mail-item.received-message .mail-item-header
 {
        padding: 10px 12px;
    }
    .mail-type-indicator
 {
        padding: 3px 6px;
        font-size: 10px;
        margin-left: 6px;
    }
    .mail-nav-menu
 {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .mail-nav-item
 {
        flex: 1 1 calc(50% - 10px);
        max-width: calc(50% - 10px);
        min-width: 120px;
    }
    .mail-nav-link
 {
        padding: 10px 15px;
        font-size: 13px;
    }
    .mail-header
 {
        flex-direction: column;
        gap: 15px;
        align-items: flex-start;
    }
    .mail-header h2
 {
        font-size: 24px;
    }
    .mail-stats
 {
        flex-direction: row;
        width: 100%;
        gap: 10px;
        flex-wrap: wrap;
    }
    .mail-stat-item
 {
        font-size: 12px;
        padding: 6px 12px;
    }
    .mail-item
 {
        padding: 12px;
    }
    .mail-item-header
 {
        flex-direction: column;
        gap: 10px;
    }
    .mail-subject
 {
        font-size: 15px;
    }
    
    .mail-pagination-top
 {
        flex-direction: column;
        gap: 15px;
        padding: 12px;
    }
    .pagination-info, .pagination-controls
 {
        width: 100%;
        justify-content: center;
    }
    .info-text
 {
        font-size: 13px;
        text-align: center;
    }
    .page-link
 {
        min-width: 36px;
        height: 36px;
        padding: 6px 10px;
        font-size: 13px;
    }
    
    .email-message-content table
 {
        display: block !important;
        overflow-x: auto !important;
        white-space: nowrap !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .email-message-content table td, .email-message-content table th
 {
        padding: 6px !important;
        font-size: 13px !important;
    }
    .email-message-content h1
 { font-size: 24px; }
    .email-message-content h2
 { font-size: 20px; }
    .email-message-content h3
 { font-size: 18px; }
    .email-message-content h4, .email-message-content h5, .email-message-content h6
 { font-size: 16px; }
    .email-message-content img
 {
        margin: 10px auto !important;
    }
    .email-message-content blockquote
 {
        padding: 10px 15px !important;
        font-size: 14px !important;
    }
    .email-message-content pre
 {
        padding: 10px !important;
        font-size: 12px !important;
    }
    

/* ═══════════════════════════════════════════════════════════════════════════════
 * 📧 MAIL MODULE - Small Mobile Styles (до 640px)
 * ═══════════════════════════════════════════════════════════════════════════════
 * Намеренный каскад: при ≤640px срабатывает и блок ≤767px (padding 15px), и этот блок;
 * из‑за порядка в файле для .mail-content побеждает padding: 12px (компактнее на узких экранах).
 * ═══════════════════════════════════════════════════════════════════════════════ */
    .mail-container, .mail-content, .mail-body
 {
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
    }
    .mail-content
 {
        padding: 12px;
    }
    .mail-navigation
 {
        padding: 10px;
        overflow-x: hidden;
    }
    .mail-nav-menu
 {
        overflow-x: hidden;
        flex-wrap: wrap;
    }
    
    .mail-item.sent-message, .mail-item.received-message
 {
        border-left-width: 3px;
        margin-bottom: 12px;
    }
    .mail-item.sent-message .mail-item-header, .mail-item.received-message .mail-item-header
 {
        padding: 8px 10px;
        border-radius: 6px 6px 0 0;
    }
    .mail-type-indicator
 {
        display: block;
        margin-left: 0;
        margin-top: 5px;
        padding: 3px 6px;
        font-size: 9px;
        width: fit-content;
    }
    .mail-item.sent-message .mail-subject, .mail-item.received-message .mail-subject
 {
        font-size: 14px;
    }
    .mail-nav-item
 {
        flex: 1 1 calc(50% - 8px);
        max-width: calc(50% - 8px);
    }
    .mail-nav-link
 {
        padding: 8px 10px;
        font-size: 12px;
        gap: 6px;
    }
    .mail-nav-link i
 {
        font-size: 16px;
    }
    .mail-header h2
 {
        font-size: 20px;
    }
    .mail-item
 {
        padding: 10px;
    }
    

/* ═══════════════════════════════════════════════════════════════════════════════
 * Site settings mail — размеры (мобильный ≤767px, admin/site_settings_mail.php)
 * ═══════════════════════════════════════════════════════════════════════════════ */
    #mail-settings.site-settings-mail
 {
        max-width: 100%;
        margin: var(--space-4) auto;
        padding: var(--space-4);
        border-radius: var(--radius-md);
    }
    #mail-settings.site-settings-mail.settings-box--wide
 {
        max-width: 100%;
    }
    #mail-settings.site-settings-mail h2
 {
        margin-bottom: var(--space-4);
        font-size: var(--text-2xl);
    }
    #mail-settings.site-settings-mail label
 {
        margin-top: var(--space-3);
    }
    #mail-settings.site-settings-mail input[type="text"], #mail-settings.site-settings-mail input[type="email"], #mail-settings.site-settings-mail input[type="url"], #mail-settings.site-settings-mail input[type="number"], #mail-settings.site-settings-mail select, #mail-settings.site-settings-mail textarea
 {
        padding: var(--space-3);
        margin-top: var(--space-2);
    }
    #mail-settings.site-settings-mail .mail-relationship-hint
 {
        font-size: var(--text-sm);
        margin: var(--space-3) 0 var(--space-4);
        padding: var(--space-3);
    }
    #mail-settings.site-settings-mail .mail-settings-tabs
 {
        gap: var(--space-2);
        margin-bottom: var(--space-4);
        padding-bottom: var(--space-2);
    }
    #mail-settings.site-settings-mail .mail-settings-tab
 {
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-sm);
    }
    #mail-settings.site-settings-mail .mail-settings-tab.is-active
 {
        margin-bottom: -1px;
    }
    #mail-settings.site-settings-mail .mail-config-subtabs
 {
        gap: var(--space-2);
        margin: var(--space-3) 0;
    }
    #mail-settings.site-settings-mail .mail-config-subtab
 {
        padding: var(--space-2);
        font-size: var(--text-sm);
    }
    #mail-settings.site-settings-mail .mail-hosting-hint
 {
        font-size: var(--text-sm);
        margin: 0 0 var(--space-3);
        padding: var(--space-3);
    }
    #mail-settings.site-settings-mail .mail-table
 {
        margin: var(--space-3) 0;
        font-size: var(--text-sm);
    }
    #mail-settings.site-settings-mail .mail-table th, #mail-settings.site-settings-mail .mail-table td
 {
        padding: var(--space-2);
    }
    #mail-settings.site-settings-mail .mail-form-grid input[type="text"], #mail-settings.site-settings-mail .mail-form-grid input[type="email"], #mail-settings.site-settings-mail .mail-form-grid input[type="password"]
 {
        max-width: 100%;
    }
    #mail-settings.site-settings-mail h3
 {
        margin-top: var(--space-4);
        font-size: var(--text-lg);
    }
    #mail-settings.site-settings-mail h4
 {
        margin-top: var(--space-3);
        font-size: var(--text-base);
    }
    #mail-settings.site-settings-mail button
 {
        margin-top: var(--space-4);
        padding: var(--space-3) var(--space-4);
        font-size: var(--text-base);
        margin-right: var(--space-2);
        border-radius: var(--radius-md);
    }
    #mail-settings.site-settings-mail .verify-device-box
 {
        max-width: 100%;
        width: 100%;
        margin: var(--space-8) auto;
        padding: var(--space-4);
        border-radius: var(--radius-lg);
    }
    #mail-settings.site-settings-mail .verify-device-box .form-group
 {
        margin-bottom: var(--space-3);
        gap: var(--space-2);
        flex-wrap: wrap;
    }
    #mail-settings.site-settings-mail .verification-input
 {
        width: 44px;
        height: 52px;
        font-size: var(--text-xl);
    }
    #mail-settings.site-settings-mail .verify-device-box button
 {
        padding: var(--space-3) var(--space-5);
        font-size: var(--text-base);
        margin-top: var(--space-3);
        gap: var(--space-2);
    }
    #mail-settings.site-settings-mail .info-message
 {
        margin-bottom: var(--space-3);
    }
    
    .mail-settings-table
 {
        font-size: var(--text-xs, 0.75rem);
    }
    .mail-settings-table col.mail-col-param
 { width: 35%; }
    .mail-settings-table col.mail-col-value
 { width: 45%; }
    .mail-settings-table col.mail-col-actions
 { width: 20%; }
    .mail-settings-table thead th, .mail-settings-table tbody td
 {
        padding: var(--space-1, 0.25rem) var(--space-2, 0.5rem);
    }
    .mail-section-edit-btn
 {
        float: none;
        display: block;
        margin-left: 0;
        margin-top: var(--space-1, 0.25rem);
    }
    .mail-table--extra
 {
        font-size: var(--text-xs, 0.75rem);
    }
    .mail-table--extra thead th, .mail-table--extra tbody td
 {
        padding: var(--space-1, 0.25rem) var(--space-2, 0.5rem);
    }
    .mail-modal-content
 {
        width: 94%;
        max-width: 94%;
    }
    .mail-modal-actions
 {
        flex-direction: column;
    }
    .mail-modal-actions .btn
 {
        width: 100%;
    }
    
    .view-logs-page .log-subtitle
 {
        text-align: center;
        color: #6c757d;
        font-size: 14px;
        margin: -10px 0 20px 0;
    }
    .view-logs-page .log-view-switcher
 {
        display: flex;
        gap: 10px;
        margin-bottom: 20px;
        justify-content: center;
        flex-wrap: wrap;
    }
    .view-logs-page .log-switch-btn
 {
        background: #f9f9f9;
        color: #555;
        padding: 10px 20px;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 600;
        transition: all 0.3s ease;
        border: 2px solid #e0e0e0;
    }
    .view-logs-page .log-switch-btn:hover
 {
        background: #e0e0e0;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    }
    .view-logs-page .log-section
 {
        background: #ffffff;
        border-radius: 10px;
        padding: 15px;
        margin-bottom: 20px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    .view-logs-page .log-section-title
 {
        color: #2792ae;
        margin: 0 0 15px 0;
        font-size: 16px;
        font-weight: 600;
    }
    .view-logs-page .log-section-subtitle
 {
        color: #495057;
        margin: 0 0 12px 0;
        font-size: 14px;
        font-weight: 600;
    }
    .view-logs-page .log-search-section
 {
        background: #ffffff;
        border-radius: 10px;
        padding: 15px;
        margin-bottom: 20px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    .view-logs-page .log-search-form
 {
        display: flex;
        gap: 10px;
        margin-bottom: 15px;
        flex-wrap: wrap;
    }
    .view-logs-page .log-search-input
 {
        flex: 1;
        min-width: 200px;
        padding: 10px 15px;
        border: 2px solid #2792ae;
        border-radius: 8px;
        font-size: 14px;
        color: #495057;
    }
    .view-logs-page .log-search-input:focus
 {
        outline: none;
        border-color: #66BB6A;
        box-shadow: 0 0 0 3px rgba(102, 187, 106, 0.1);
    }
    .view-logs-page .log-search-btn
 {
        background: linear-gradient(135deg, #2792ae 0%, #3ba3c7 100%);
        color: white;
        padding: 10px 20px;
        border: none;
        border-radius: 8px;
        font-weight: 600;
        cursor: pointer;
        transition: all 0.3s ease;
    }
    .view-logs-page .log-search-btn:hover
 {
        background: linear-gradient(135deg, #1a6d8a 0%, #2792ae 100%);
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(39, 146, 174, 0.3);
    }
    .view-logs-page .log-limit-buttons
 {
        display: flex;
        gap: 8px;
        justify-content: center;
        flex-wrap: wrap;
    }
    .view-logs-page .log-limit-btn
 {
        background: var(--bg-surface);
        color: #495057;
        padding: 6px 12px;
        border-radius: 6px;
        text-decoration: none;
        font-size: 13px;
        font-weight: 500;
        border: 2px solid #e9ecef;
        transition: all 0.3s ease;
        min-width: 50px;
        text-align: center;
    }
    .view-logs-page .stats-card
 {
        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
        color: white;
        padding: 20px;
        border-radius: 10px;
        margin-bottom: 20px;
        box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
    }
    .view-logs-page .stats-grid
 {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 15px;
    }
    .view-logs-page .stats-card .stat-item
 {
        text-align: center;
        background: rgba(255, 255, 255, 0.14);
        border: 1px solid rgba(255, 255, 255, 0.28);
        border-radius: 8px;
        padding: 12px 10px;
        box-shadow: none;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 4px;
        position: relative;
        overflow: hidden;
    }
    .view-logs-page .stats-card .stat-item:hover
 {
        transform: none;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
        background: rgba(255, 255, 255, 0.22);
    }
    .view-logs-page .stats-card .stat-item h4
 {
        margin: 0 0 5px 0;
        font-size: 24px;
        font-weight: 700;
        color: #fff;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    }
    .view-logs-page .stats-card .stat-item small
 {
        font-size: 12px;
        color: rgba(255, 255, 255, 0.88);
        opacity: 1;
        font-weight: 500;
    }
    .view-logs-page .log-display-section
 {
        background: #ffffff;
        border-radius: 10px;
        padding: 15px;
        margin-bottom: 20px;
    }
    .view-logs-page .log-display-title
 {
        color: #2792ae;
        margin: 0 0 15px 0;
        font-size: 16px;
        font-weight: 600;
    }
    .view-logs-page .log-entry
 {
        background: var(--bg-surface);
        border-left: 4px solid #2792ae;
        padding: 12px;
        margin-bottom: 12px;
        border-radius: 6px;
        font-family: "Courier New", monospace;
        font-size: 13px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    }
    .view-logs-page .log-entry.legacy-log
 {
        border-left-color: #6c757d;
        background: #f1f3f5;
        font-size: 12px;
        padding: 8px 12px;
    }
    .view-logs-page .log-entry.legacy-warning
 {
        border-left-color: #ffc107;
        background: #fff8e1;
        font-size: 12px;
        padding: 8px 12px;
    }
    .view-logs-page .log-entry.legacy-error
 {
        border-left-color: #dc3545;
        background: #fff5f5;
        font-size: 12px;
        padding: 8px 12px;
    }
    .view-logs-page .log-entry-header
 {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 15px;
        flex-wrap: wrap;
    }
    .view-logs-page .log-entry-message
 {
        flex: 1;
        min-width: 200px;
    }
    .view-logs-page .log-entry-message strong
 {
        color: #212529;
        font-size: 14px;
    }
    .view-logs-page .log-timestamp
 {
        color: #6c757d;
        font-size: 12px;
    }
    .view-logs-page .request-id
 {
        background: #e3f2fd;
        padding: 2px 8px;
        border-radius: 4px;
        font-family: monospace;
        font-size: 11px;
        color: #0066cc;
    }
    .view-logs-page .log-entry-badges
 {
        display: flex;
        gap: 6px;
        flex-wrap: wrap;
    }
    .view-logs-page .log-badge
 {
        padding: 4px 10px;
        border-radius: 12px;
        font-size: 11px;
        font-weight: 600;
        text-transform: uppercase;
        white-space: nowrap;
    }
    .view-logs-page .log-details
 {
        margin-top: 10px;
    }
    .view-logs-page .log-details-summary
 {
        color: #2792ae;
        cursor: pointer;
        font-weight: 600;
        font-size: 13px;
        user-select: none;
    }
    .view-logs-page .log-details-content
 {
        background: #f5f5f5;
        padding: 10px;
        border-radius: 5px;
        margin-top: 10px;
        max-height: 400px;
        overflow-y: auto;
        font-size: 12px;
        line-height: 1.5;
    }
    .view-logs-page .cache-card
 {
        background: #ffffff;
        border: 1px solid #e9ecef;
        border-radius: 8px;
        margin-bottom: 15px;
        overflow: hidden;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    }
    .view-logs-page .cache-card-header
 {
        background: var(--bg-surface);
        padding: 12px 15px;
        border-bottom: 1px solid #e9ecef;
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
    }
    .view-logs-page .cache-card-header strong
 {
        color: #212529;
        font-size: 14px;
    }
    .view-logs-page .cache-card-header small
 {
        color: #6c757d;
        font-size: 12px;
    }
    .view-logs-page .cache-card-body
 {
        padding: 15px;
    }
    .view-logs-page .log-actions-card
 {
        background: #ffffff;
        border-radius: 10px;
        padding: 15px;
        margin-bottom: 20px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    .view-logs-page .log-actions-title
 {
        color: #2792ae;
        margin: 0 0 15px 0;
        font-size: 16px;
        font-weight: 600;
    }
    .view-logs-page .log-action-buttons
 {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }
    .view-logs-page .log-action-btn
 {
        padding: 10px 16px;
        border: none;
        border-radius: 8px;
        font-weight: 600;
        font-size: 14px;
        cursor: pointer;
        transition: all 0.3s ease;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }
    .view-logs-page .log-action-btn:hover
 {
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }
    .view-logs-page .log-info-card
 {
        background: #ffffff;
        border-radius: 10px;
        padding: 15px;
        margin-bottom: 20px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    .view-logs-page .log-info-title
 {
        color: #2792ae;
        margin: 0 0 15px 0;
        font-size: 16px;
        font-weight: 600;
    }
    .view-logs-page .log-info-table tr
 {
        border-bottom: 1px solid #e9ecef;
    }
    .view-logs-page .log-info-table th
 {
        text-align: left;
        padding: 10px;
        font-weight: 600;
        color: #495057;
        width: 40%;
        /* Перенос длинных названий */
        word-wrap: break-word;
        overflow-wrap: break-word;
        word-break: break-word;
        white-space: normal;
        max-width: 760px;
    }
    .view-logs-page .log-info-table td
 {
        padding: 10px;
        color: #212529;
    }
    .view-logs-page .log-info-table code
 {
        background: var(--bg-surface);
        padding: 2px 6px;
        border-radius: 3px;
        font-family: "Courier New", monospace;
        font-size: 12px;
        color: #e83e8c;
    }
    .view-logs-page .alert
 {
        padding: 15px;
        border-radius: 8px;
        margin-bottom: 20px;
        font-size: 14px;
    }
    .view-logs-page .alert-warning
 {
        background: #fff3cd;
        border-left: 4px solid #ffc107;
        color: #856404;
    }
    .view-logs-page .alert-info
 {
        background: #d1ecf1;
        border-left: 4px solid #17a2b8;
        color: #0c5460;
    }
    .view-logs-page .integration-quick-info
 {
        display: inline-block;
        font-size: 13px;
        color: #555;
        margin-top: 5px;
        padding: 5px 0;
    }
    .view-logs-page .integration-quick-info code
 {
        background: #f0f0f0;
        padding: 2px 6px;
        border-radius: 4px;
        font-size: 12px;
        color: #d63384;
    }
    .view-logs-page .user-info
 {
        font-size: 12px;
        color: #6c757d;
    }
    .view-logs-page .source-uri
 {
        font-size: 11px;
        color: #adb5bd;
        font-family: "Courier New", monospace;
    }
    .view-logs-page .log-entry.info .log-details, .view-logs-page .log-entry.warning .log-details, .view-logs-page .log-entry.error .log-details
 {
        margin-top: 8px;
    }
    .view-logs-page .log-copy-btn-container
 {
        position: absolute;
        top: 8px;
        right: 8px;
        z-index: 100;
    }
    .view-logs-page .log-copy-btn
 {
        background: var(--color-primary);
        border: none;
        border-radius: 6px;
        padding: 0;
        cursor: pointer;
        font-size: 18px;
        transition: all 0.2s;
        box-shadow: 0 2px 6px rgba(0,0,0,0.15);
        color: white;
        width: 36px;
        height: 36px;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1;
    }
    .view-logs-page .log-copy-btn:hover
 {
        background: #0056b3;
        transform: scale(1.08);
        box-shadow: 0 3px 8px rgba(0,0,0,0.2);
    }
    .view-logs-page .log-entry-content-wrapper
 {
        padding-right: 50px;
        min-height: 40px;
    }
    

/* Curator reports (.reports-*): размеры, viewport <= 767px */
    .reports-mb-3
 {
        margin-bottom: 1rem;
    }
    .reports-mt-3
 {
        margin-top: 1rem;
    }
    .reports-export-section
 {
        margin: 20px 0;
        padding: 15px;
        border-radius: 6px;
        border-left-width: 4px;
    }
    .reports-statistics-summary
 {
        padding: 20px;
        border-radius: 8px;
        margin-bottom: 20px;
        border-left-width: 4px;
        max-width: 100%;
    }
    .reports-stats-grid
 {
        grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
        gap: 10px;
        margin-top: 15px;
    }
    .reports-stat-item
 {
        padding: 10px;
        border-radius: 6px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        border-width: 1px;
    }
    .reports-stat-number
 {
        font-size: 20px;
        margin-bottom: 5px;
    }
    .reports-stat-label
 {
        font-size: 12px;
    }
    .reports-alert
 {
        padding: 15px;
        border-radius: 6px;
        margin: 20px 0;
        border-width: 1px;
    }
    .reports-breadcrumb
 {
        margin-bottom: 20px;
        font-size: 14px;
    }
    .reports-text-muted
 {
        font-size: 12px;
    }
    .reports-period-selector
 {
        padding: 20px;
        border-radius: 8px;
        margin-bottom: 20px;
        border-width: 1px;
        max-width: 100%;
    }
    .reports-period-form
 {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }
    .reports-period-selector-inner
 {
        gap: 20px;
    }
    .reports-period-selector-export
 {
        margin-top: 35px;
    }
    .reports-form-group
 {
        min-width: auto;
    }
    .reports-form-group label
 {
        margin-bottom: 5px;
        font-size: 14px;
    }
    .reports-form-control
 {
        padding: 8px 12px;
        border-width: 1px;
        border-radius: var(--form-radius-sm);
        font-size: 14px;
    }
    .reports-form-control:focus
 {
        box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
    }
    .reports-badge
 {
        padding: 4px 8px;
        border-radius: 12px;
        font-size: 11px;
        min-width: 30px;
        border-width: 1px;
    }
    .reports-badge-success, .reports-badge-warning, .reports-badge-danger, .reports-badge-info
 {
        border-width: 1px;
    }
    .reports-legend-section
 {
        margin-top: 30px;
        padding: 15px;
        border-radius: 6px;
        border-width: 1px;
    }
    .reports-legend-items
 {
        flex-direction: column;
        gap: 10px;
    }
    .reports-legend-item
 {
        gap: 8px;
        font-size: 13px;
    }
    .reports-legend-color
 {
        width: 16px;
        height: 16px;
        border-radius: 3px;
        border-width: 1px;
    }
    .reports-btn
 {
        padding: 8px 16px;
        border-radius: var(--btn-radius-sm);
        font-size: 14px;
    }
    .reports-btn-sm
 {
        padding: 4px 8px;
        border-radius: var(--btn-radius-sm);
        font-size: 12px;
    }
    .reports-actions-section
 {
        margin-top: 30px;
        padding: 20px;
        border-radius: 6px;
        border-width: 1px;
    }
    .reports-actions-section .reports-btn
 {
        margin: 0 5px;
    }
    .reports-student-info
 {
        padding: 20px;
        border-radius: 8px;
        margin-bottom: 20px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        border-width: 1px;
        max-width: 100%;
    }
    .reports-info-grid
 {
        grid-template-columns: 1fr;
        gap: 15px;
        margin-top: 15px;
    }
    .reports-info-item
 {
        padding: 10px;
        border-radius: 4px;
        border-width: 1px;
    }
    .reports-info-label, .reports-info-value
 {
        font-size: 14px;
    }
    .reports-table
 {
        width: 100%;
        max-width: 100%;
        margin: 20px 0;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        border-radius: 8px;
        border-width: 1px;
        font-size: 12px;
    }
    .reports-table th, .reports-table td
 {
        padding: 8px;
    }
    .reports-table th
 {
        font-size: 14px;
        letter-spacing: 0.5px;
    }
    .reports-table td
 {
        border-bottom-width: 1px;
        font-size: 12px;
    }
    .reports-table th:nth-child(1), .reports-table td:nth-child(1)
 {
        width: 20%;
    }
    .reports-table th:nth-child(2), .reports-table td:nth-child(2)
 {
        width: 11%;
        font-size: 11px;
    }
    .reports-table th:nth-child(3), .reports-table td:nth-child(3)
 {
        width: 17%;
        font-size: 10px;
    }
    .reports-table th:nth-child(4), .reports-table td:nth-child(4)
 {
        width: 9%;
    }
    .reports-table th:nth-child(5), .reports-table td:nth-child(5)
 {
        width: 9%;
    }
    .reports-table th:nth-child(6), .reports-table td:nth-child(6)
 {
        width: 9%;
    }
    .reports-table th:nth-child(7), .reports-table td:nth-child(7)
 {
        width: 9%;
    }
    .reports-table th:nth-child(8), .reports-table td:nth-child(8)
 {
        width: 9%;
    }
    .reports-table th:nth-child(9), .reports-table td:nth-child(9)
 {
        width: 10%;
    }
    .reports-table td:nth-child(2)
 {
        font-size: 11px;
        line-height: 1.2;
    }
    .reports-table td:nth-child(3)
 {
        font-size: 10px;
        line-height: 1.1;
    }
    .reports-table td:nth-child(4), .reports-table td:nth-child(5), .reports-table td:nth-child(6), .reports-table td:nth-child(7), .reports-table td:nth-child(8)
 {
        font-size: 12px;
    }
    .reports-section
 {
        padding: 20px;
        border-radius: 8px;
        margin-bottom: 20px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        border-width: 1px;
        max-width: 100%;
    }
    .reports-section h3
 {
        font-size: 18px;
        margin-bottom: 15px;
        padding-bottom: 8px;
        border-bottom-width: 2px;
    }
    

/* =============================================================================
 * Migrated from common.css (strict) — scripts/migrate_common_strict.py
 * ============================================================================= */
    .container
 {
        box-shadow: var(--shadow-lg);
    }
    .filter-row
 {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    .log-category-buttons, .log-subcategory-buttons
 {
        gap: 6px;
    }
    .log-category-btn, .log-subcategory-btn
 {
        padding: 6px 12px;
        font-size: 12px;
        line-height: 1.4;
    }
    .filter-form .form-group
 {
        margin-bottom: var(--space-4);
    }
    .filter-form select
 {
        width: 100%; padding: var(--space-3) var(--space-4); padding-right: var(--space-10); font-size: calc(var(--text-base) * 0.875); line-height: 1.5; background-position: right var(--space-3) center; background-size: 12px; border: 2px solid var(--border); box-shadow: var(--shadow-xs);
    }
    .filter-form select:hover
 {
        box-shadow: var(--shadow-sm); transform: translateY(-1px);
    }
    .filter-form select:focus
 {
        outline: none; box-shadow: 0 0 0 4px rgba(39, 146, 174, 0.1), var(--shadow-md); transform: translateY(-2px);
    }
    .filter-form select:active
 {
        transform: translateY(0);
    }
    .filter-form select option
 {
        padding: var(--space-2);
    }
    .table-container
 {
        width: 100% !important; max-width: 100% !important; box-shadow: var(--shadow-md);
    }
    .card-body .table-container
 {
        width: 100% !important; max-width: 100% !important;
    }
    .deferred-actions-table
 {
        width: 100% !important;
    }
    .deferred-actions-table tbody tr.message-main-row td.message-phone
 {
        width: auto !important; min-width: 0 !important; max-width: none !important;
    }
    table .text-muted
 {
        padding: var(--space-6) !important;
    }
    .admin-apostille-form-group
 {
        margin-bottom: var(--space-5);
    }
    .admin-apostille-form-group label
 {
        margin-bottom: var(--space-2);
    }
    .admin-apostille-form-group input, .admin-apostille-form-group select, .admin-apostille-form-group textarea, .admin-apostille-form-group .input, .admin-apostille-form-group .select, .admin-apostille-form-group .textarea
 {
        width: 100%; padding: var(--space-3) var(--space-4); border: 1px solid var(--border);
    }
    .admin-apostille-form-group input:focus, .admin-apostille-form-group select:focus, .admin-apostille-form-group textarea:focus, .admin-apostille-form-group .input:focus, .admin-apostille-form-group .select:focus, .admin-apostille-form-group .textarea:focus
 {
        outline: none; box-shadow: 0 0 0 3px rgba(39, 146, 174, 0.1);
    }
    .admin-apostille-form-group textarea, .admin-apostille-form-group .textarea
 {
        min-height: calc(var(--space-10) * 2);
    }
    .exam-item
 {
        border: 1px solid var(--border); padding: var(--space-md); margin-bottom: var(--space-md);
    }
    .exam-item label
 {
        margin: 0;
    }
    .exam-item input[type="checkbox"]
 {
        margin-right: var(--space-md); width: calc(var(--space-5) + var(--space-1)); height: calc(var(--space-5) + var(--space-1));
    }
    .exam-name
 {
        margin-bottom: var(--space-2);
    }
    .exam-limit-info-success
 {
        border-left: calc(var(--space-1) * 4) solid var(--success); padding: var(--space-md);
    }
    .exam-limit-info-warning
 {
        border-left: calc(var(--space-1) * 4) solid var(--warning); padding: var(--space-md);
    }
    .modal-content-large
 {
        width: 90%;
    }
    .nav-icon
 {
        object-fit: contain;
    }
    .invitation-block
 {
        border: 2px solid var(--primary); padding: var(--space-4); margin-top: var(--space-4); margin-bottom: var(--space-4);
    }
    .invitation-block h4
 {
        margin-top: 0; margin-bottom: var(--space-4);
    }
    .invitation-buttons-container
 {
        gap: var(--space-3); min-width: 0;
    }
    .invitation-warning
 {
        padding: var(--space-3); border: 1px solid var(--warning);
    }
    .student-actions-container
 {
        gap: var(--space-3);
    }
    .student-actions-container form
 {
        margin: 0;
    }
    .status-actions-table td
 {
        padding: 0;
    }
    .status-actions-table form
 {
        margin: 0;
    }
    .navigation-actions
 {
        gap: var(--space-3); margin-top: var(--space-4); margin-bottom: var(--space-4);
    }
    .student-search-container
 {
        margin-bottom: var(--space-3);
    }
    .search-results
 {
        top: 100%; left: 0; right: 0; border: 1px solid var(--border); box-shadow: var(--shadow-lg); max-height: calc(var(--space-16) * 3); margin-top: var(--space-1);
    }
    .search-results .search-result-item
 {
        padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--border-light);
    }
    .search-results .search-result-item:last-child
 {
        border-bottom: none;
    }
    .selected-student-info
 {
        margin-top: var(--space-4); padding: var(--space-4); border: 1px solid var(--border);
    }
    .selected-students-header
 {
        margin-bottom: var(--space-3);
    }
    .selected-students-list
 {
        gap: var(--space-2);
    }
    .selected-student-item
 {
        padding: var(--space-2) var(--space-3); border: 1px solid var(--border);
    }
    .no-selected-students
 {
        padding: var(--space-4);
    }
    .deferred-actions-table
 {
        width: 100%;
    }
    .deferred-actions-table td, .deferred-actions-table th
 {
        padding: var(--space-2);
    }
    .deferred-actions-table td.message-phone
 {
        width: auto !important; min-width: 0 !important; max-width: none !important;
    }
    .deferred-actions-table
 {
        box-shadow: var(--shadow-sm); margin: 0; padding: 0;
    }
    .deferred-actions-table::before, .deferred-actions-table::after
 {
        width: 0; height: 0;
    }
    .deferred-actions-table colgroup::before, .deferred-actions-table colgroup::after, .deferred-actions-table col::before, .deferred-actions-table col::after
 {
        width: 0; height: 0;
    }
    .deferred-actions-table col.col-phone
 {
        width: clamp(calc(var(--space-16) * 2), 25%, calc(var(--space-16) * 3)); min-width: calc(var(--space-16) * 2);
    }
    .deferred-actions-table col.col-time
 {
        width: clamp(calc(var(--space-16) * 2.5), 35%, calc(var(--space-16) * 3.5)); min-width: calc(var(--space-16) * 2.5);
    }
    .deferred-actions-table col.col-action-1, .deferred-actions-table col.col-action-2
 {
        width: clamp(calc(var(--space-12) * 1.2), 20%, calc(var(--space-16) * 1.5)); min-width: calc(var(--space-12) * 1.2);
    }
    .deferred-actions-table thead::before, .deferred-actions-table thead::after, .deferred-actions-table thead tr::before, .deferred-actions-table thead tr::after
 {
        width: 0; height: 0;
    }
    .deferred-actions-table thead th
 {
        padding: var(--space-3) var(--space-4); border-bottom: calc(var(--space-1) * 2) solid rgba(255, 255, 255, 0.2);
    }
    .deferred-actions-table thead th::before, .deferred-actions-table thead th::after
 {
        width: 0; height: 0;
    }
    .deferred-actions-table thead th:nth-child(1)
 {
        margin-left: 0; padding-left: var(--space-4);
    }
    .deferred-actions-table tbody::before, .deferred-actions-table tbody::after
 {
        width: 0; height: 0;
    }
    .deferred-actions-table tbody tr.message-main-row
 {
        border-bottom: 1px solid var(--border);
    }
    .deferred-actions-table tbody tr.message-main-row::before
 {
        left: 0; top: 0; bottom: 0; width: calc(var(--space-1) * 3);
    }
    .deferred-actions-table tbody tr.message-main-row td
 {
        padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--border-light);
    }
    .deferred-actions-table tbody tr.message-main-row td::before, .deferred-actions-table tbody tr.message-main-row td::after
 {
        width: 0; height: 0; padding: 0; margin: 0;
    }
    .deferred-actions-table tbody tr.message-main-row td.message-phone
 {
        margin-left: 0; padding-left: var(--space-4);
    }
    .deferred-actions-table tbody tr.message-main-row td.message-phone::before, .deferred-actions-table tbody tr.message-main-row td.message-phone::after
 {
        width: 0 !important; height: 0 !important; padding: 0 !important; margin: 0 !important;
    }
    .deferred-actions-table tbody tr.message-main-row td.message-actions form
 {
        margin: 0;
    }
    .deferred-actions-table tbody tr.message-main-row td.message-actions .btn
 {
        width: 100%; max-width: 100%;
    }
    .deferred-actions-table tbody tr.message-content-row
 {
        border-bottom: calc(var(--space-3) * 2) solid var(--border-light);
    }
    .deferred-actions-table tbody tr.message-content-row td, .deferred-actions-table tbody tr.message-content-row td[colspan="4"], .deferred-actions-table tbody tr.message-content-row td.message-content-cell
 {
        padding: var(--space-4) var(--space-5); border-top: 1px solid var(--border-light); width: 100%;
    }
    .deferred-actions-table tbody tr.message-content-row .message-content-text
 {
        width: 100%;
    }
    .deferred-actions-table thead
 {
        margin: 0 !important; padding: 0 !important;
    }
    .deferred-actions-table thead::before, .deferred-actions-table thead::after
 {
        width: 0 !important; height: 0 !important;
    }
    .deferred-actions-table thead tr
 {
        margin: 0 !important; padding: 0 !important;
    }
    .deferred-actions-table thead tr::before, .deferred-actions-table thead tr::after
 {
        width: 0 !important; height: 0 !important;
    }
    .deferred-actions-table thead th
 {
        padding: var(--space-3) var(--space-4); border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    }
    .deferred-actions-table colgroup::before, .deferred-actions-table colgroup::after, .deferred-actions-table col::before, .deferred-actions-table col::after
 {
        width: 0 !important; height: 0 !important;
    }
    .deferred-actions-table tbody tr.message-main-row
 {
        border-bottom: 1px solid var(--border) !important; margin: 0 !important; padding: 0 !important;
    }
    .deferred-actions-table tbody tr.message-main-row::before
 {
        left: 0; top: 0; bottom: 0; width: 3px;
    }
    .deferred-actions-table tbody tr.message-main-row td
 {
        padding: var(--space-3) var(--space-4) !important; border-bottom: 1px solid var(--border-light) !important; margin: 0 !important;
    }
    .deferred-actions-table tbody tr.message-main-row td::before, .deferred-actions-table tbody tr.message-main-row td::after
 {
        width: 0 !important; height: 0 !important; padding: 0 !important; margin: 0 !important;
    }
    .deferred-actions-table tbody tr.message-main-row td.message-phone
 {
        margin-left: 0 !important; padding-left: var(--space-4) !important;
    }
    .deferred-actions-table tbody tr.message-main-row td.message-phone::before, .deferred-actions-table tbody tr.message-main-row td.message-phone::after
 {
        width: 0 !important; height: 0 !important; padding: 0 !important; margin: 0 !important;
    }
    .deferred-actions-table tbody tr.message-main-row td.message-time
 {
        margin: 0 !important;
    }
    .deferred-actions-table tbody tr.message-main-row td.message-actions, .deferred-actions-table tbody tr.message-main-row td[colspan="2"]
 {
        padding: var(--space-3) var(--space-4) !important;
    }
    .deferred-actions-table tbody tr.message-main-row td.message-actions .d-flex
 {
        gap: var(--space-2);
    }
    .deferred-actions-table tbody tr.message-main-row td.message-actions form
 {
        margin: 0;
    }
    .deferred-actions-table tbody tr.message-content-row
 {
        border-bottom: calc(var(--space-3) * 2) solid var(--border-light) !important;
    }
    .deferred-actions-table tbody tr.message-content-row:hover
 {
        box-shadow: none !important;
    }
    .deferred-actions-table tbody tr.message-content-row td
 {
        border-top: 1px solid var(--border-light) !important; border-bottom: none !important; border-left: none !important; border-right: none !important; padding: var(--space-4) var(--space-5) !important;
    }
    .deferred-actions-table tbody tr.message-content-row td[colspan="4"], .deferred-actions-table tbody tr.message-content-row td.message-content-cell
 {
        padding: var(--space-4) var(--space-5) !important; border-top: 1px solid var(--border-light) !important; border-bottom: none !important; width: 100% !important; max-width: 100% !important;
    }
    .deferred-actions-table tbody tr.message-content-row .message-content-text
 {
        max-width: 100% !important; width: 100% !important;
    }
    .table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-phone
 {
        width: clamp(calc(var(--space-16) * 2), 18%, calc(var(--space-16) * 2.5));
    }
    .table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-docs
 {
        width: clamp(calc(var(--space-16) * 2), 25%, calc(var(--space-16) * 4));
    }
    .table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-date
 {
        width: clamp(calc(var(--space-16) * 2.5), 20%, calc(var(--space-16) * 3.5));
    }
    .table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-retries
 {
        width: clamp(calc(var(--space-10) * 1.5), 12%, calc(var(--space-16) * 1.5));
    }
    .table-container > table.sms-queue-table:not(.deferred-actions-table) col.col-status
 {
        width: clamp(calc(var(--space-16) * 1.5), 15%, calc(var(--space-16) * 2.5));
    }
    .table-container > table.delayed-emails-table:not(.deferred-actions-table) col.col-name
 {
        width: clamp(calc(var(--space-16) * 3), 35%, calc(var(--space-16) * 5));
    }
    .table-container > table.delayed-emails-table:not(.deferred-actions-table) col.col-university
 {
        width: clamp(calc(var(--space-16) * 2), 30%, calc(var(--space-16) * 3.5));
    }
    .table-container > table.delayed-emails-table:not(.deferred-actions-table) col.col-time
 {
        width: clamp(calc(var(--space-16) * 2.5), 25%, calc(var(--space-16) * 3.5));
    }
    .stats-section
 {
        margin-bottom: var(--space-6);
    }
    .stat-item
 {
        box-shadow: var(--shadow-sm); border: 1px solid var(--border); gap: var(--space-2);
    }
    .stat-item::before
 {
        top: 0; left: 0; right: 0; height: 4px;
    }
    .stat-item:hover
 {
        box-shadow: var(--shadow-md); transform: translateY(-2px);
    }
    .alert
 {
        padding: var(--space-md); margin-bottom: var(--space-md); border-left: 4px solid;
    }
    .info-box
 {
        border-left: 4px solid var(--primary); padding: var(--space-md) var(--space-lg); margin: var(--space-6) 0; box-shadow: var(--shadow-sm);
    }
    .info-box:hover
 {
        box-shadow: var(--shadow-md);
    }
    .info-box p
 {
        margin: 0;
    }
    .admin-alert
 {
        padding: var(--space-md) var(--space-lg); margin-bottom: var(--space-5); gap: var(--space-3); border-left: 4px solid;
    }
    .admin-hero-add-form
 {
        padding: var(--space-6) 0; box-shadow: none;
    }
    .admin-curators-container
 {
        gap: var(--space-3); margin-top: var(--space-3); padding: var(--space-2) 0;
    }
    .admin-curator-option
 {
        margin: 0;
    }
    .admin-curator-option input[type="radio"]
 {
        width: 0; height: 0; margin: 0;
    }
    .admin-curator-option label
 {
        padding: var(--space-1) var(--space-2); border: calc(var(--space-1) / 2) solid var(--border); box-shadow: var(--shadow-xs); min-height: calc(var(--space-6) + var(--space-1));
    }
    .admin-curator-option label:hover
 {
        box-shadow: var(--shadow-sm); transform: translateY(calc(var(--space-1) / -2));
    }
    .admin-curator-option input[type="radio"]:checked + label
 {
        box-shadow: var(--shadow-md); transform: translateY(calc(var(--space-1) / -2)) scale(1.02);
    }
    .admin-curator-option input[type="radio"]:focus-visible + label
 {
        outline: calc(var(--space-1) / 2) solid rgba(59, 130, 246, 0.3); outline-offset: var(--space-1);
    }
    .admin-curator-option input[type="radio"]:active + label
 {
        transform: translateY(0) scale(0.98);
    }
    .admin-nostrification-section
 {
        gap: var(--space-4);
    }
    .admin-info-text
 {
        margin: var(--space-2) 0; gap: var(--space-2);
    }
    .admin-info-text i
 {
        margin-top: var(--space-1);
    }
    .user-table.documents-table .form-inline
 {
        margin: 0; padding: 0;
    }
    .user-table.documents-table .form-inline button
 {
        margin: 0; padding: 0; border: none;
    }
    .admin-actions-buttons
 {
        gap: var(--space-2); margin-top: var(--space-4);
    }
    .admin-actions-buttons form
 {
        margin: 0; padding: 0;
    }
    .admin-info-section
 {
        margin-top: var(--space-4); padding: var(--space-4); border-left: 4px solid var(--primary);
    }
    .admin-info-section h4
 {
        margin-bottom: var(--space-3);
    }
    .admin-info-section .admin-info-text
 {
        margin: var(--space-2) 0;
    }
    .card::before
 {
        top: 0; left: -100%; width: 100%; height: 2px;
    }
    .card:hover::before
 {
        left: 0;
    }
    .card-header::before
 {
        left: 0; top: 50%; transform: translateY(-50%);
    }
    .online-indicator
 {
        width: 8px; height: 8px; box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
    }
    .skeleton
 {
        background-size: 200% 100%;
    }
    .tooltip::before
 {
        bottom: 100%; left: 50%; transform: translateX(-50%) translateY(-8px); padding: var(--space-2) var(--space-3); box-shadow: var(--shadow-lg);
    }
    .tooltip::after
 {
        bottom: 100%; left: 50%; transform: translateX(-50%); border: 5px solid transparent;
    }
    .tooltip:hover::before, .tooltip:hover::after
 {
        transform: translateX(-50%) translateY(-4px);
    }
    .student-actions-container
 {
        gap: var(--space-md); margin: var(--space-lg) 0;
    }
    .navigation-actions
 {
        gap: var(--space-md); margin: var(--space-lg) 0; padding: var(--space-md);
    }
    .translation-statistics
 {
        margin: var(--space-6) 0; padding: var(--space-6); border: 1px solid var(--border);
    }
    .translation-section
 {
        margin: var(--space-6) 0;
    }
    .translation-section-title
 {
        margin-bottom: var(--space-4); gap: var(--space-2);
    }
    .translation-section-title-success
 {
        margin-bottom: var(--space-4); gap: var(--space-2);
    }
    .translation-section-title-danger
 {
        margin-bottom: var(--space-4); gap: var(--space-2);
    }
    .translation-complete-badge
 {
        gap: var(--space-1); padding: var(--space-1) var(--space-3);
    }
    .translation-partial-badge
 {
        gap: var(--space-1); padding: var(--space-1) var(--space-3);
    }
    .translation-success-box, .translation-danger-box, .translation-partial-box
 {
        padding: var(--space-4); border-left: 4px solid;
    }
    .translation-session-message
 {
        padding: var(--space-4); margin-bottom: var(--space-4); gap: var(--space-2);
    }
    .translation-message-success
 {
        border-left: 4px solid var(--success);
    }
    .translation-message-error
 {
        border-left: 4px solid var(--danger);
    }
    .translation-message-info
 {
        border-left: 4px solid var(--info);
    }
    .modal-loading
 {
        padding: var(--space-6);
    }
    .text-error
 {
        padding: var(--space-4);
    }
    .exam-limit-info-success, .exam-limit-info-warning
 {
        padding: var(--space-4); margin-bottom: var(--space-4); border-left: 4px solid;
    }
    .badge
 {
        gap: var(--space-1); padding: var(--space-1) var(--space-3);
    }
    .badge-count
 {
        top: -10px; right: -10px; padding: 0 8px; border: 2px solid var(--bg-primary); box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(16, 185, 129, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    .badge-count:hover
 {
        transform: scale(1.1); box-shadow: 
        0 3px 6px rgba(0, 0, 0, 0.15),
        0 6px 16px rgba(16, 185, 129, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }
    .badge-count.badge-online, .badge-count.badge-success
 {
        box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(16, 185, 129, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    .badge-count.badge-online:hover, .badge-count.badge-success:hover
 {
        box-shadow: 
        0 3px 6px rgba(0, 0, 0, 0.15),
        0 6px 16px rgba(16, 185, 129, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }
    .badge-count.badge-danger, .badge-count.badge-urgent
 {
        box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(239, 68, 68, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    .badge-count.badge-danger:hover, .badge-count.badge-urgent:hover
 {
        box-shadow: 
        0 3px 6px rgba(0, 0, 0, 0.15),
        0 6px 16px rgba(239, 68, 68, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }
    .badge-count.badge-warning
 {
        box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(245, 158, 11, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    .badge-count.badge-warning:hover
 {
        box-shadow: 
        0 3px 6px rgba(0, 0, 0, 0.15),
        0 6px 16px rgba(245, 158, 11, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }
    .badge-count.badge-info, .badge-count.badge-primary
 {
        box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(59, 130, 246, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    .badge-count.badge-info:hover, .badge-count.badge-primary:hover
 {
        box-shadow: 
        0 3px 6px rgba(0, 0, 0, 0.15),
        0 6px 16px rgba(59, 130, 246, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }
    .badge-count.badge-purple, .badge-count.badge-special
 {
        box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(139, 92, 246, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    .badge-count.badge-purple:hover, .badge-count.badge-special:hover
 {
        box-shadow: 
        0 3px 6px rgba(0, 0, 0, 0.15),
        0 6px 16px rgba(139, 92, 246, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }
    .badge-count.badge-secondary, .badge-count.badge-neutral
 {
        box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(107, 114, 128, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    .badge-count.badge-secondary:hover, .badge-count.badge-neutral:hover
 {
        box-shadow: 
        0 3px 6px rgba(0, 0, 0, 0.15),
        0 6px 16px rgba(107, 114, 128, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.5);
    }
    .badge-count.badge-sm
 {
        padding: 0 6px; top: -8px; right: -8px;
    }
    .badge-count.badge-lg
 {
        padding: 0 10px; top: -12px; right: -12px;
    }
    .badge-count.badge-no-hover:hover
 {
        transform: none; box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.1),
        0 4px 12px rgba(16, 185, 129, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4);
    }
    .copy-all-btn
 {
        padding: var(--space-2) var(--space-3); border: 1px solid var(--border); margin-left: var(--space-2);
    }
    .copy-all-btn:hover
 {
        transform: translateY(-1px); box-shadow: var(--shadow-sm);
    }
    .copy-target
 {
        gap: var(--space-1); padding: 0; font-size: inherit;
    }
    .student-box-admin-info
 {
        width: 100%; border-left: 5px solid var(--primary); padding: var(--space-5) max(var(--space-6), 8rem) var(--space-5) var(--space-5); box-shadow: var(--shadow-md); margin-bottom: var(--space-6);
    }
    .student-box-admin-info:hover
 {
        box-shadow: var(--shadow-lg);
    }
    .student-box-title
 {
        margin: 0 0 var(--space-4) 0;
    }
    .student-box-admin-info p
 {
        margin: var(--space-2) 0;
    }
    .student-avatar-in-box
 {
        top: 16px;
        right: 16px;
        transform: none !important;
        z-index: 2;
    }
    .student-avatar-in-box .avatar-img
 {
        width: 96px;
        height: 96px;
    }
    .admin-student-status
 {
        top: calc(16px + 96px + 10px);
        right: 16px;
        left: auto;
        transform: none !important;
        z-index: 3;
        max-width: min(12rem, calc(100vw - 2rem));
        height: auto;
        min-height: 32px;
        line-height: 1.35;
        white-space: normal;
        box-sizing: border-box;
        padding: var(--space-1) var(--space-4); border: 2px solid var(--bg-primary); box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.15),
        0 4px 12px rgba(39, 146, 174, 0.3),
        inset 0 1px 0 rgba(255, 255, 255, 0.4),
        inset 0 -1px 0 rgba(0, 0, 0, 0.1);
    }
    .admin-student-status:hover
 {
        transform: scale(1.08); box-shadow: 
        0 3px 6px rgba(0, 0, 0, 0.2),
        0 6px 16px rgba(39, 146, 174, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(0, 0, 0, 0.15);
    }
    .admin-student-status:active
 {
        transform: scale(1.02); box-shadow: 
        0 2px 4px rgba(0, 0, 0, 0.15),
        0 4px 12px rgba(39, 146, 174, 0.3),
        inset 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    .student-box-admin-actions
 {
        width: 100%; max-width: 100%; min-width: 0; gap: var(--space-3); padding: var(--space-4) 0; margin: 0;
    }
    .container .student-box-admin-actions, .student-box-admin-info + .student-box-admin-actions, .student-box-admin-actions
 {
        width: 100%; max-width: 100%; min-width: 0;
    }
    .student-box-admin-actions::-webkit-scrollbar
 {
        height: 6px;
    }
    .action-icon
 {
        border: 2px solid var(--border); box-shadow: 
        0 4px 8px rgba(0, 0, 0, 0.1),
        0 2px 4px rgba(0, 0, 0, 0.06),
        inset 0 1px 0 rgba(255, 255, 255, 0.8),
        inset 0 -1px 0 rgba(0, 0, 0, 0.05);
    }
    .action-icon::before
 {
        top: -50%; left: -50%; width: 200%; height: 200%;
    }
    .action-icon img, .action-icon i
 {
        object-fit: contain;
    }
    .action-icon:hover
 {
        transform: translateY(-4px) scale(1.05); box-shadow: 
        0 8px 16px rgba(0, 0, 0, 0.15),
        0 4px 8px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.9),
        inset 0 -1px 0 rgba(0, 0, 0, 0.08),
        0 0 0 3px rgba(39, 146, 174, 0.1);
    }
    .action-icon:hover img, .action-icon:hover i
 {
        transform: scale(1.1);
    }
    .action-icon:active
 {
        transform: translateY(-2px) scale(1.02); box-shadow: 
        0 4px 8px rgba(0, 0, 0, 0.12),
        0 2px 4px rgba(0, 0, 0, 0.08),
        inset 0 2px 4px rgba(0, 0, 0, 0.1);
    }
    .action-icon:focus-visible
 {
        outline: 3px solid var(--primary); outline-offset: 2px;
    }
    .avatar-img
 {
        object-fit: cover; border: solid var(--bg-primary); box-shadow: 
        0 4px 8px rgba(0, 0, 0, 0.15),
        0 8px 16px rgba(39, 146, 174, 0.2),
        inset 0 2px 4px rgba(255, 255, 255, 0.3),
        inset 0 -2px 4px rgba(0, 0, 0, 0.1);
    }
    .avatar-img:hover
 {
        transform: scale(1.05); box-shadow: 
        0 6px 12px rgba(0, 0, 0, 0.2),
        0 12px 24px rgba(39, 146, 174, 0.3),
        inset 0 2px 4px rgba(255, 255, 255, 0.4),
        inset 0 -2px 4px rgba(0, 0, 0, 0.15);
    }
    .student-profile-header-container
 {
        gap: var(--space-lg); margin-bottom: var(--space-lg);
    }
    .student-info-wrapper
 {
        width: 100%;
    }
    .user-table
 {
        width: 100%; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    }
    .user-table[style*="table-layout: fixed"], .user-table.fixed-layout
 {
        box-shadow: var(--shadow-sm);
    }
    .user-table#online-users-table, .user-table#offline-users-table
 {
        width: 100%;
    }
    .table-wrapper
 {
        width: 100%; margin: var(--space-lg) 0;
    }
    .table-wrapper .user-table
 {
        margin: 0;
    }
    .page-container
 {
        width: 100%; max-width: 100%;
    }
    .stats-grid
 {
        gap: var(--space-lg); margin: var(--space-xl) 0; padding: 0;
    }
    .stat-card
 {
        padding: var(--space-lg) var(--space-md); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); border: 1px solid rgba(255, 255, 255, 0.1);
    }
    .stat-card::before
 {
        top: 0; left: 0; right: 0; bottom: 0;
    }
    .stat-card:hover
 {
        transform: translateY(-2px) scale(1.02); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }
    .stat-number
 {
        margin-bottom: var(--space-2);
    }
    .page-navigation
 {
        margin: var(--space-xl) 0;
    }
    .nav-list
 {
        padding: 0; margin: 0; gap: var(--space-md);
    }
    .nav-list li
 {
        margin: 0;
    }
    .user-table .action-icon, .user-table#hero-team-table .action-icon
 {
        border: none !important; box-shadow: none !important;
    }
    .user-table .action-icon:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .user-table .action-icon:hover
 {
        transform: none;
    }
    .user-table#attendance-table
 {
        width: 100%;
    }
    .status-present
 {
        gap: var(--space-1);
    }
    .status-late
 {
        gap: var(--space-1);
    }
    .status-absent
 {
        gap: var(--space-1);
    }
    .user-table#csrf-pages-table
 {
        width: 100%;
    }
    .user-table#csrf-ips-table
 {
        width: 100%;
    }
    .user-table#csrf-time-table
 {
        width: 100%;
    }
    .user-table#csrf-reports-table
 {
        width: 100%;
    }
    .user-table#csrf-debug-table
 {
        width: 100%;
    }
    .user-table#student-list-table
 {
        width: 100%;
    }
    .user-table#students-verified-table, .user-table#students-pending-table
 {
        width: 100%;
    }
    table#student-cost-view-table
 {
        width: 100%;
    }
    table#student-cost-view-table th.tbl__col--id, table#student-cost-view-table td.tbl__col--id
 {
        width: 4%;
    }
    table#student-cost-view-table th:nth-child(2), table#student-cost-view-table td:nth-child(2)
 {
        width: 12%;
    }
    table#student-cost-view-table th:nth-child(3), table#student-cost-view-table td:nth-child(3)
 {
        width: 15%;
    }
    table#student-cost-view-table th:nth-child(4), table#student-cost-view-table td:nth-child(4)
 {
        width: 15%;
    }
    table#student-cost-view-table th:nth-child(5), table#student-cost-view-table td:nth-child(5)
 {
        width: 15%;
    }
    table#student-cost-view-table th:nth-child(6), table#student-cost-view-table td:nth-child(6)
 {
        width: 15%;
    }
    table#student-cost-view-table th:nth-child(7), table#student-cost-view-table td:nth-child(7)
 {
        width: 23%;
    }
    .semesters-container
 {
        margin: var(--space-lg) 0;
    }
    .semester-block
 {
        border: 1px solid var(--border-light); box-shadow: var(--shadow-sm);
    }
    .semester-block:hover
 {
        box-shadow: var(--shadow-md); transform: translateY(-2px);
    }
    .semester-header
 {
        margin-bottom: var(--space-md); padding-bottom: var(--space-md); border-bottom: 1px solid var(--border-light);
    }
    .semester-title
 {
        margin: 0; gap: var(--space-2);
    }
    .semester-period
 {
        margin-left: var(--space-2);
    }
    .academic-year
 {
        padding: var(--space-1) var(--space-3);
    }
    .tbl#university-list-table
 {
        width: 100%;
    }
    .user-table th
 {
        border-bottom: 2px solid var(--border);
    }
    .user-table td
 {
        border-bottom: 1px solid var(--border-light);
    }
    .user-table td:first-child
 {
        width: 30%; font-size: inherit;
    }
    .user-table td:last-child
 {
        width: 70%; font-size: inherit;
    }
    .user-table span[onclick*="copyToClipboard"], .user-table .copy-target
 {
        padding: var(--space-1) var(--space-2); gap: var(--space-2);
    }
    .user-table span[onclick*="copyToClipboard"]:hover, .user-table .copy-target:hover
 {
        transform: translateY(-1px);
    }
    .user-table .copy-all-btn
 {
        margin-left: var(--space-md); padding: var(--space-1) var(--space-2);
    }
    .links-table
 {
        width: 100%; margin: var(--space-lg) 0;
    }
    .links-table td
 {
        padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--border-light);
    }
    .user-table form
 {
        margin: 0;
    }
    .user-table button, .user-table .btn
 {
        margin-right: var(--space-sm);
    }
    .table-responsive
 {
        width: 100%; margin: var(--space-lg) 0;
    }
    .table-responsive + h3, h3 + .table-responsive
 {
        margin-top: var(--space-md);
    }
    h3 + .table-responsive, .table-responsive:first-child
 {
        margin-top: 0;
    }
    .table-responsive::-webkit-scrollbar
 {
        height: 8px;
    }
    .user-table tbody tr
 {
        border-bottom: 1px solid var(--border-light);
    }
    .user-table tbody tr:hover
 {
        box-shadow: inset 0 0 0 1px var(--border);
    }
    .user-table tbody tr:last-child
 {
        border-bottom: none;
    }
    .user-table .student-index-cell
 {
        width: 3%; min-width: 36px; padding: var(--space-md) var(--space-2); border-bottom: 1px solid var(--border-light);
    }
    .user-table .student-name-cell
 {
        width: 73%; padding: var(--space-md) var(--space-lg); min-width: 200px; border-bottom: 1px solid var(--border-light);
    }
    .user-table .student-name-cell
 {
        max-width: none;
    }
    .user-table .student-status-cell, .user-table .student-payment-cell, .user-table .student-credentials-cell
 {
        width: 8%; min-width: 44px; padding: var(--space-md) var(--space-2); border-bottom: 1px solid var(--border-light);
    }
    .student-info
 {
        width: 100%; gap: var(--space-sm); font-size: inherit; max-width: none; min-width: 0;
    }
    .student-info::after
 {
        bottom: -2px; left: 0; width: 0; height: 2px;
    }
    .student-info:hover
 {
        transform: translateX(2px);
    }
    .student-info:hover::after
 {
        width: 100%;
    }
    .student-info:active
 {
        transform: translateX(0);
    }
    .student-info:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .gender-icon
 {
        width: 32px; height: 32px; object-fit: contain; border: none;
    }
    .payment-icon
 {
        width: 32px; height: 32px; object-fit: contain; border: none;
    }
    .login-pass-icon
 {
        width: 32px; height: 32px; object-fit: contain; border: none;
    }
    .payment-link
 {
        padding: var(--space-2); border: 1px solid var(--border-light);
    }
    .payment-link::before
 {
        top: 50%; left: 50%; width: 0; height: 0; transform: translate(-50%, -50%);
    }
    .payment-link:hover::before
 {
        width: 100px; height: 100px;
    }
    .payment-link:hover
 {
        transform: translateY(-2px); box-shadow: var(--shadow-md);
    }
    .payment-link:active
 {
        transform: translateY(0); box-shadow: var(--shadow-sm);
    }
    .payment-link:focus-visible
 {
        outline: 2px solid var(--accent-green); outline-offset: 2px;
    }
    .login-pass-link
 {
        padding: var(--space-2); border: 1px solid var(--border-light);
    }
    .login-pass-link::before
 {
        top: 50%; left: 50%; width: 0; height: 0; transform: translate(-50%, -50%);
    }
    .login-pass-link:hover::before
 {
        width: 100px; height: 100px;
    }
    .login-pass-link:hover
 {
        transform: translateY(-2px); box-shadow: var(--shadow-md);
    }
    .login-pass-link:active
 {
        transform: translateY(0); box-shadow: var(--shadow-sm);
    }
    .login-pass-link:focus-visible
 {
        outline: 2px solid var(--accent-blue); outline-offset: 2px;
    }
    .status-icon:hover
 {
        transform: scale(1.15);
    }
    .status-icon, .status-icon:hover, .payment-link, .payment-link:hover, .payment-link:active, .login-pass-link, .login-pass-link:hover, .login-pass-link:active
 {
        transform: none;
    }
    .student-actions-mobile
 {
        gap: var(--space-md);
    }
    .credentials-modal
 {
        inset: 0; padding: var(--space-6);
    }
    .credentials-modal__backdrop
 {
        inset: 0;
    }
    .credentials-modal__dialog
 {
        width: min(420px, 100%); box-shadow: var(--shadow-2xl); padding: var(--space-6); gap: var(--space-4); max-height: 90vh;
    }
    .credentials-modal__close
 {
        top: var(--space-3); right: var(--space-3); width: 38px; height: 38px; border: none;
    }
    .credentials-modal__close:hover
 {
        transform: scale(1.05);
    }
    .credentials-modal__close:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .credentials-modal__header
 {
        gap: var(--space-3); padding-right: var(--space-10);
    }
    .credentials-modal__title
 {
        margin: 0;
    }
    .credentials-modal__copy-btn
 {
        width: 42px; height: 42px; border: none;
    }
    .credentials-modal__copy-btn:hover
 {
        transform: translateY(-1px);
    }
    .credentials-modal__copy-btn:focus-visible
 {
        outline: 2px solid var(--info); outline-offset: 2px;
    }
    .credentials-modal__body
 {
        gap: var(--space-4);
    }
    .credentials-modal__row
 {
        gap: var(--space-2);
    }
    .credentials-modal__value
 {
        padding: var(--space-2) var(--space-3); border: 1px solid var(--border);
    }
    .credentials-modal__close:hover, .credentials-modal__copy-btn:hover
 {
        transform: none;
    }
    .user-table .empty-row
 {
        padding: var(--space-xl) var(--space-lg);
    }
    .section-title
 {
        gap: var(--space-md); margin: var(--space-xl) 0 var(--space-lg);
    }
    .section-title i
 {
        font-size: 0.9em;
    }
    .section-title .badge-count
 {
        top: auto; right: auto; margin-left: var(--space-sm);
    }
    .page-header
 {
        gap: var(--space-lg); margin-bottom: var(--space-xl);
    }
    .page-header form
 {
        margin: 0;
    }
    .search-container
 {
        gap: var(--space-md); min-width: 300px;
    }
    .search-input
 {
        min-width: 200px;
    }
    .search-type
 {
        min-width: 150px;
    }
    .search-autocomplete-wrapper
 {
        min-width: 200px;
    }
    .search-autocomplete-list
 {
        top: 100%; left: 0; right: 0; border: 1px solid var(--border); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); max-height: 300px; margin-top: var(--space-1);
    }
    .search-autocomplete-list:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .autocomplete-item
 {
        padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--border-light); gap: var(--space-md);
    }
    .autocomplete-item:last-child
 {
        border-bottom: none;
    }
    .autocomplete-item:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: -2px;
    }
    .autocomplete-role
 {
        padding: var(--space-1) var(--space-2);
    }
    .autocomplete-type
 {
        padding: var(--space-1) var(--space-2);
    }
    .autocomplete-no-results
 {
        padding: var(--space-md) var(--space-lg);
    }
    .user-table.documents-table th:nth-child(1), .user-table.documents-table td:nth-child(1)
 {
        width: 30%; min-width: 150px;
    }
    .user-table.documents-table th:nth-child(2), .user-table.documents-table td:nth-child(2)
 {
        width: 20%; min-width: 120px;
    }
    .user-table.documents-table th:nth-child(3), .user-table.documents-table td:nth-child(3), .user-table.documents-table th:nth-child(4), .user-table.documents-table td:nth-child(4), .user-table.documents-table th:nth-child(5), .user-table.documents-table td:nth-child(5), .user-table.documents-table th:nth-child(6), .user-table.documents-table td:nth-child(6)
 {
        width: 12.5%; min-width: 50px;
    }
    .user-table.documents-table .action-btn, .user-table.documents-table button.action-btn, .user-table.documents-table form .action-btn
 {
        border: 2px solid var(--border); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08); padding: 0; margin: 0; font-size: inherit;
    }
    .user-table.documents-table .action-btn::before
 {
        top: 50%; left: 50%; width: 0; height: 0; transform: translate(-50%, -50%);
    }
    .user-table.documents-table .action-btn:hover::before
 {
        width: 120px; height: 120px;
    }
    .user-table.documents-table .action-btn:hover
 {
        transform: translateY(-3px) scale(1.05); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); border-width: 2px;
    }
    .user-table.documents-table .action-btn:active
 {
        transform: translateY(-1px) scale(1.02); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12);
    }
    .user-table.documents-table .action-btn i, .user-table.documents-table button.action-btn i, .user-table.documents-table form .action-btn i
 {
        width: 100%; height: 100%;
    }
    .user-table.documents-table .action-btn:hover i, .user-table.documents-table button.action-btn:hover i, .user-table.documents-table form .action-btn:hover i
 {
        transform: scale(1.15);
    }
    .user-table .action-btn, .user-table button.action-btn, .user-table form .action-btn
 {
        border: 2px solid var(--border); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08); padding: 0; margin: 0; font-size: inherit;
    }
    .user-table .action-btn::before
 {
        top: 50%; left: 50%; width: 0; height: 0; transform: translate(-50%, -50%);
    }
    .user-table .action-btn:hover::before
 {
        width: 120px; height: 120px;
    }
    .user-table .action-btn:hover
 {
        transform: translateY(-3px) scale(1.05); box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); border-width: 2px;
    }
    .user-table .action-btn:active
 {
        transform: translateY(-1px) scale(1.02); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.12);
    }
    .user-table .action-btn i, .user-table button.action-btn i, .user-table form .action-btn i
 {
        width: 100%; height: 100%;
    }
    .user-table .action-btn:hover i, .user-table button.action-btn:hover i, .user-table form .action-btn:hover i
 {
        transform: scale(1.15);
    }
    .user-table .action-btn:focus-visible
 {
        outline: 3px solid var(--primary); outline-offset: 2px;
    }
    .user-table.documents-table .status-badge
 {
        gap: var(--space-1); padding: var(--space-1) var(--space-2);
    }
    .admin-nostrification-section .btn-primary, .admin-nostrification-section .btn-secondary
 {
        gap: var(--space-2); border: 1px solid transparent; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); margin-right: var(--space-2); margin-bottom: 0;
    }
    .admin-nostrification-section .btn-primary:last-child, .admin-nostrification-section .btn-secondary:last-child
 {
        margin-right: 0;
    }
    .main-navigation
 {
        padding: var(--space-2) 0;
        margin: var(--space-3) 0;
    }
    .main-navigation ul
 {
        display: grid;
        /* ≥130px: иначе подписи и кнопки (зона куратора) сжимаются и обрезаются */
        grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
        gap: var(--space-2);
        padding: 0;
        margin: 0;
        list-style: none;
        max-width: 100%;
    }
    .main-navigation li
 {
        margin: 0;
        width: 100%;
    }
    .main-navigation li a
 {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: var(--space-2);
        min-height: 56px;
        width: 100%;
        max-width: 100%;
        gap: var(--space-1);
        box-sizing: border-box;
        border: 1px solid var(--border);
    }
    .main-navigation li a span
 {
        font-size: clamp(0.65rem, 2.4vw, 0.8rem);
        line-height: 1.25;
        margin-left: 0;
        overflow: visible;
        text-overflow: unset;
        white-space: normal;
        display: block;
        max-width: 100%;
    }
    .main-navigation li a i
 {
        font-size: 1.1rem;
        min-width: auto;
    }
    .main-navigation li a:hover
 {
        transform: translateY(-1px);
        box-shadow: var(--shadow-md);
    }
    .main-navigation li a:hover i
 {
        transform: scale(1.05);
    }
    .main-navigation li a:active
 {
        transform: translateY(0);
    }
    .main-navigation li a:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .main-navigation li form.form-inline
 {
        width: 100%;
        margin: 0;
    }
    .main-navigation li form.form-inline .btn
 {
        width: 100%;
        box-sizing: border-box;
    }

    .student-info-container
 {
        margin: var(--space-3) 0;
        padding: var(--space-3);
        border-radius: var(--radius-md);
    }
    .student-info-table
 {
        width: 100%;
        table-layout: fixed;
    }
    .student-info-table td:first-child
 {
        width: 45%;
        font-weight: 600;
        word-wrap: break-word;
    }
    .student-info-table td:last-child
 {
        width: 55%;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    .footer-lang-table
 {
        display: table !important;
        table-layout: auto;
        width: auto !important;
        max-width: none !important;
        margin: 0 auto !important;
        border: none;
        border-collapse: separate;
        border-spacing: 6px 0;
        padding: var(--space-2) 0;
    }
    .footer-lang-table tr
 {
        display: table-row;
        width: auto;
    }
    .footer-lang-cell
 {
        display: table-cell !important;
        width: auto !important;
        padding: 0 !important;
        text-align: center !important;
        vertical-align: middle;
    }
    .footer-lang-btn
 {
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .lesson-table-wrapper,
    .lesson.table-responsive
 {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        width: 100%;
        background-image: linear-gradient(to right, white, white),
                          linear-gradient(to right, white, white),
                          linear-gradient(to right, rgba(0,0,0,0.08), rgba(255,255,255,0)),
                          linear-gradient(to left, rgba(0,0,0,0.08), rgba(255,255,255,0));
        background-position: left center, right center, left center, right center;
        background-repeat: no-repeat;
        background-color: white;
        background-size: 20px 100%, 20px 100%, 10px 100%, 10px 100%;
        background-attachment: local, local, scroll, scroll;
    }
    .lesson th, .lesson td
 {
        white-space: nowrap;
        padding: 8px 6px !important;
        font-size: 13px !important;
    }
    .student-lesson
 {
        min-width: 480px;
    }

    .teams-hero-icon-menu
 {
        display: grid !important;
        grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
        gap: var(--space-2);
        width: 100%;
        border: none;
    }
    .teams-hero-icon-menu tr
 {
        display: contents;
    }
    .teams-hero-icon-menu td
 {
        display: block;
        padding: 0;
    }
    .teams-hero-icon-menu-link
 {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: var(--space-2);
        min-height: 60px;
        width: 100%;
        box-sizing: border-box;
    }
    .teams-hero-icon-menu-title
 {
        font-size: 0.65rem;
        line-height: 1.2;
        overflow: hidden;
        text-overflow: ellipsis;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    button,
    .btn,
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    a.btn,
    .footer-lang-btn,
    .admin-action-icon
 {
        min-height: 44px;
        min-width: 44px;
    }
    .tbl--smart-cells .btn,
    .admin-panel-table .btn
 {
        min-height: 32px;
        min-width: 32px;
    }

    h1
 {
        font-size: clamp(1.25rem, 5vw, 2rem);
    }
    h2
 {
        font-size: clamp(1.1rem, 4vw, 1.5rem);
    }
    h3
 {
        font-size: clamp(1rem, 3.5vw, 1.25rem);
    }
    .student-info-table td,
    .user-table td,
    h1, h2, h3
 {
        overflow-wrap: break-word;
        word-break: break-word;
    }
    .university-modal
 {
        left: 0 !important; top: 0 !important; right: 0 !important; bottom: 0 !important; width: 100vw !important; height: 100vh !important; margin: 0 !important; padding: 0 !important;
    }
    .university-modal.active
 {
        width: 100vw !important; height: 100vh !important; max-width: none !important; inset: 0 !important; font-size: inherit !important;
    }
    .university-modal-dialog
 {
        padding: var(--space-6); box-shadow: var(--shadow-2xl); transform: translateY(-20px); max-height: 90vh; margin: 0 !important;
    }
    .university-modal.active .university-modal-dialog
 {
        transform: translateY(0);
    }
    .university-modal-title
 {
        margin-bottom: var(--space-4);
    }
    .university-modal-icon
 {
        font-size: 2.5rem;
    }
    .university-modal-close
 {
        top: var(--space-3); right: var(--space-4); width: 32px; height: 32px;
    }
    .university-modal-close:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .university-modal-dialog .head-icon-menu
 {
        margin: 0; padding: 0; gap: var(--space-3);
    }
    .university-modal-dialog .head-icon-menu li
 {
        margin: 0; padding: 0;
    }
    .university-modal-dialog .head-icon-menu a, .university-modal-dialog .head-icon-menu .menu-link
 {
        border-bottom: none !important;
    }
    .university-modal-dialog .head-icon-menu a::after, .university-modal-dialog .head-icon-menu .menu-link::after
 {
        width: 0 !important; height: 0 !important;
    }
    .university-modal-dialog .head-icon-menu a:hover, .university-modal-dialog .head-icon-menu .menu-link:hover
 {
        border-bottom: none !important;
    }
    .university-modal-dialog .head-icon-menu a:hover::after, .university-modal-dialog .head-icon-menu .menu-link:hover::after
 {
        width: 0 !important; height: 0 !important;
    }
    .university-modal-dialog .head-icon-menu a.menu-active, .university-modal-dialog .head-icon-menu .menu-link.menu-active
 {
        border-bottom: none !important;
    }
    .university-modal-dialog .head-icon-menu a.menu-active::after, .university-modal-dialog .head-icon-menu .menu-link.menu-active::after
 {
        width: 0 !important; height: 0 !important;
    }
    .border-none
 {
        border: none;
    }
    .col-actions
 {
        gap: var(--space-3);
    }
    .gap-2
 {
        gap: var(--space-2);
    }
    .gap-3
 {
        gap: var(--space-3);
    }
    .gap-4
 {
        gap: var(--space-4);
    }
    .gap-5
 {
        gap: var(--space-5);
    }
    .gap-6
 {
        gap: var(--space-6);
    }
    .grid-auto-fit
 {
        gap: var(--space-2);
    }
    .ml-auto
 {
        margin-left: auto;
    }
    .my-6
 {
        margin: var(--space-6) 0;
    }
    .list-unstyled
 {
        padding: 0; margin: 0;
    }
    .border-top
 {
        border-top: 1px solid var(--border-light);
    }
    .pt-4
 {
        padding-top: var(--space-4);
    }
    .filters-container
 {
        gap: var(--space-3); width: 100%; padding: var(--space-3) 0;
    }
    .filters-container > div
 {
        gap: var(--space-1); min-width: 150px;
    }
    .filters-container label
 {
        gap: var(--space-2);
    }
    .filters-container select, .filters-container input
 {
        width: 100%; min-height: 36px; padding: var(--space-2) var(--space-3); border: 1px solid var(--border);
    }
    .filters-group-wrapper
 {
        grid-template-columns: 1fr;
        gap: var(--space-5); width: 100%; padding: var(--space-4) 0;
    }
    .filters-group
 {
        gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--border-light); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    }
    .filters-group:hover
 {
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    }
    .filters-group-title
 {
        gap: var(--space-2); margin: 0; padding: var(--space-2) 0; border-bottom: 2px solid var(--primary); padding-bottom: var(--space-3);
    }
    .filters-group-fields
 {
        gap: var(--space-3);
    }
    .filter-field
 {
        gap: var(--space-1);
    }
    .filter-field label
 {
        gap: var(--space-2);
    }
    .filter-field select, .filter-field input
 {
        width: 100%; min-height: 36px; padding: var(--space-2) var(--space-3); border: 1px solid var(--border);
    }
    .filter-field select:focus, .filter-field input:focus
 {
        outline: none; box-shadow: 0 0 0 3px rgba(39, 146, 174, 0.1);
    }
    .pb-4
 {
        padding-bottom: var(--space-4);
    }
    .pt-2
 {
        padding-top: var(--space-2);
    }
    .mt-2
 {
        margin-top: var(--space-2);
    }
    .w-40
 {
        width: 40px;
    }
    .h-40
 {
        height: 40px;
    }
    .w-100
 {
        width: 100%;
    }
    .h-20px
 {
        height: 20px;
    }
    .h-100
 {
        height: 100%;
    }
    .left-0
 {
        left: 0;
    }
    .top-0
 {
        top: 0;
    }
    .px-2
 {
        padding-left: var(--space-2); padding-right: var(--space-2);
    }
    .mt-10
 {
        margin-top: var(--space-10);
    }
    .mb-4
 {
        margin-bottom: var(--space-4);
    }
    .mb-5
 {
        margin-bottom: var(--space-5);
    }
    .mb-6
 {
        margin-bottom: var(--space-6);
    }
    .min-w-80px
 {
        min-width: 80px;
    }
    .min-w-100px
 {
        min-width: 100px;
    }
    .min-w-120px
 {
        min-width: 120px;
    }
    .min-w-130px
 {
        min-width: 130px;
    }
    .min-w-150px
 {
        min-width: 150px;
    }
    .max-w-120px
 {
        max-width: 120px;
    }
    .max-w-150px
 {
        max-width: 150px;
    }
    .w-48
 {
        width: 48%;
    }
    .py-2
 {
        padding-top: var(--space-2); padding-bottom: var(--space-2);
    }
    .section-title
 {
        margin-bottom: var(--space-5); border-bottom: 2px solid var(--primary); padding-bottom: var(--space-2);
    }
    .my-5
 {
        margin: var(--space-5) 0;
    }
    .my-2
 {
        margin: var(--space-2) 0;
    }
    .my-4
 {
        margin: var(--space-4) 0;
    }
    .my-3
 {
        margin: var(--space-3) 0;
    }
    .border-left-4
 {
        border-left: 4px solid var(--success);
    }
    .mb-8
 {
        margin-bottom: var(--space-8);
    }
    .mt-4
 {
        margin-top: var(--space-4);
    }
    .mt-5
 {
        margin-top: var(--space-5);
    }
    .p-4
 {
        padding: var(--space-4);
    }
    .p-5
 {
        padding: var(--space-5);
    }
    .p-10
 {
        padding: var(--space-10);
    }
    .ml-2
 {
        margin-left: var(--space-2);
    }
    .p-1
 {
        padding: var(--space-1);
    }
    .m-1
 {
        margin: var(--space-1);
    }
    .mb-1
 {
        margin-bottom: var(--space-1);
    }
    .mt-1
 {
        margin-top: var(--space-1);
    }
    .ml-1
 {
        margin-left: var(--space-1);
    }
    .mr-1
 {
        margin-right: var(--space-1);
    }
    .p-2
 {
        padding: var(--space-2);
    }
    .px-4
 {
        padding-left: var(--space-4); padding-right: var(--space-4);
    }
    .m-2
 {
        margin: var(--space-2);
    }
    .mb-2
 {
        margin-bottom: var(--space-2);
    }
    .mr-2
 {
        margin-right: var(--space-2);
    }
    .p-3
 {
        padding: var(--space-3);
    }
    .m-3
 {
        margin: var(--space-3);
    }
    .mb-3
 {
        margin-bottom: var(--space-3);
    }
    .mt-3
 {
        margin-top: var(--space-3);
    }
    .ml-3
 {
        margin-left: var(--space-3);
    }
    .mr-3
 {
        margin-right: var(--space-3);
    }
    .m-4
 {
        margin: var(--space-4);
    }
    .ml-4
 {
        margin-left: var(--space-4);
    }
    .mr-4
 {
        margin-right: var(--space-4);
    }
    .m-5
 {
        margin: var(--space-5);
    }
    .ml-5
 {
        margin-left: var(--space-5);
    }
    .mr-5
 {
        margin-right: var(--space-5);
    }
    .p-6
 {
        padding: var(--space-6);
    }
    .m-6
 {
        margin: var(--space-6);
    }
    .mt-6
 {
        margin-top: var(--space-6);
    }
    .ml-6
 {
        margin-left: var(--space-6);
    }
    .mr-6
 {
        margin-right: var(--space-6);
    }
    .p-7
 {
        padding: var(--space-7);
    }
    .m-7
 {
        margin: var(--space-7);
    }
    .mb-7
 {
        margin-bottom: var(--space-7);
    }
    .mt-7
 {
        margin-top: var(--space-7);
    }
    .ml-7
 {
        margin-left: var(--space-7);
    }
    .mr-7
 {
        margin-right: var(--space-7);
    }
    .p-8
 {
        padding: var(--space-8);
    }
    .m-8
 {
        margin: var(--space-8);
    }
    .ml-8
 {
        margin-left: var(--space-8);
    }
    .mr-8
 {
        margin-right: var(--space-8);
    }
    .p-9
 {
        padding: var(--space-9);
    }
    .m-9
 {
        margin: var(--space-9);
    }
    .mb-9
 {
        margin-bottom: var(--space-9);
    }
    .mt-9
 {
        margin-top: var(--space-9);
    }
    .ml-9
 {
        margin-left: var(--space-9);
    }
    .mr-9
 {
        margin-right: var(--space-9);
    }
    .m-10
 {
        margin: var(--space-10);
    }
    .mb-10
 {
        margin-bottom: var(--space-10);
    }
    .ml-10
 {
        margin-left: var(--space-10);
    }
    .mr-10
 {
        margin-right: var(--space-10);
    }
    .inline-style-1, .inline-style-2
 {
        gap: 8px; margin-right: 10px;
    }
    .inline-style-3
 {
        margin-top: 5px;
    }
    .inline-style-5
 {
        margin-left: 24px; margin-top: 4px;
    }
    .inline-style-6
 {
        margin-right: 8px;
    }
    .bg-p-1
 {
        padding: 8px;
    }
    .inline-style-7
 {
        margin-left: 24px; margin-top: 4px;
    }
    .inline-style-8
 {
        margin-right: 8px;
    }
    .bg-p-m
 {
        margin-bottom: 10px; padding: 8px;
    }
    .inline-style-9
 {
        padding-top: 10px;
    }
    .p-11
 {
        padding: 0 10px;
    }
    .bg-p-2
 {
        padding: 15px 0; border-left: 4px solid #2196F3;
    }
    .inline-style-11
 {
        margin-left: 10px;
    }
    .inline-style-12
 {
        margin-left: 10px;
    }
    .inline-style-13
 {
        margin-left: 10px;
    }
    .inline-style-14
 {
        margin-left: 10px;
    }
    .inline-style-15
 {
        margin-left: 10px;
    }
    .inline-style-16
 {
        margin-left: 10px;
    }
    .inline-style-17
 {
        margin-left: 10px;
    }
    .inline-style-18
 {
        margin-left: 10px;
    }
    .inline-style-19
 {
        margin-left: 10px;
    }
    .inline-style-20
 {
        margin-left: 10px;
    }
    .inline-style-21
 {
        margin-left: 10px;
    }
    .inline-style-22
 {
        margin-left: 10px;
    }
    .inline-style-23
 {
        margin-left: 10px;
    }
    .inline-style-24
 {
        margin-left: 10px;
    }
    .inline-style-25
 {
        margin-left: 10px;
    }
    .inline-style-26
 {
        margin-left: 10px;
    }
    .inline-style-27
 {
        margin-left: 10px;
    }
    .inline-style-28
 {
        margin-left: 10px;
    }
    .inline-style-29
 {
        margin-left: 10px;
    }
    .inline-style-30
 {
        margin-left: 10px;
    }
    .inline-style-31
 {
        margin-left: 10px;
    }
    .inline-style-32
 {
        margin-left: 10px;
    }
    .inline-style-33
 {
        margin-left: 10px;
    }
    .inline-style-34
 {
        margin-left: 10px;
    }
    .inline-style-35
 {
        margin-left: 10px;
    }
    .inline-style
 {
        gap: 8px;
    }
    .utility
 {
        top: 2px; left: 50%; transform: translateX(-50%);
    }
    .utility-1
 {
        padding-top: 10px;
    }
    .bg-p-text
 {
        right: 5px; top: 50%; transform: translateY(-50%); font-size: 1.2em; padding: 0;
    }
    .utility-2
 {
        padding-right: 40px; width: 100%;
    }
    .utility-3
 {
        width: 100%;
    }
    .utility-6
 {
        gap: 10px;
    }
    .utility-8
 {
        min-width: 250px;
    }
    .utility-9
 {
        min-width: 200px;
    }
    .bg-m-border
 {
        margin: 10px 0; border: 1px solid #ccc;
    }
    .bg-border
 {
        border: 1px solid var(--color-success);
    }
    .utility-17
 {
        width: 100%;
    }
    .utility-18
 {
        width: 300px;
    }
    .bg-border-5
 {
        border-left: 4px solid #17a2b8;
    }
    .bg-border-6
 {
        border-left: 4px solid #ff9800;
    }
    .utility-27
 {
        gap: 10px;
    }
    .bg-border-7
 {
        border-left: 4px solid #2196F3;
    }
    .utility-31
 {
        width: 280px;
    }
    .utility-32
 {
        margin-left: 20px; margin-top: 10px;
    }
    .mt-15
 {
        margin-top: 15px;
    }
    .utility-35
 {
        max-height: 300px;
    }
    .bg-border-8
 {
        border-left: 4px solid #ffc107;
    }
    .bg-m-border-1
 {
        border-left: 4px solid #dc3545; margin: 15px 0;
    }
    .m-border
 {
        margin: 15px 0; border-left: 4px solid #28a745;
    }
    .m-border-1
 {
        margin: 15px 0; border-left: 4px solid #2792ae;
    }
    .utility-40
 {
        min-width: 150px;
    }
    .utility-41
 {
        min-width: 0;
    }
    .bg-border-9
 {
        border-left: 4px solid var(--color-success);
    }
    .m-text
 {
        margin: 0;
    }
    .bg-m-border-2
 {
        border: 2px solid #ffc107; margin: 20px 0;
    }
    .bg-border-10
 {
        border-left: 3px solid #ffc107;
    }
    .utility-45
 {
        border-bottom: 3px solid #667eea; padding-bottom: 10px;
    }
    .utility-47
 {
        width: 18px; height: 18px;
    }
    .bg-border-11
 {
        border: 2px solid #f44336;
    }
    .bg-border-12
 {
        border: 2px solid #ff9800;
    }
    .bg-border-13
 {
        border: 2px solid var(--color-success);
    }
    .utility-50
 {
        gap: 15px;
    }
    .bg-border-14
 {
        border: 2px solid #667eea;
    }
    .bg-border-15
 {
        border: 2px solid #ffc107;
    }
    .bg-border-16
 {
        border: 1px solid #ddd;
    }
    .utility-53
 {
        gap: 10px;
    }
    .bg-border-17
 {
        gap: 20px; border: 2px solid #667eea;
    }
    .m-text-1
 {
        margin-top: -20px;
    }
    .exam-ticket-signature-cell
 {
        border-bottom: 1px solid black;
    }
    .exam-ticket-meta-label
 {
        border-bottom: 0px solid black;
    }
    .exam-ticket-label-cell
 {
        border-bottom: 0px solid black;
    }
    .exam-ticket-value-cell, .utility-59
 {
        border-bottom: 1px solid black;
    }
    .exam-ticket-banner-cell
 {
        border-bottom: 0px solid black;
    }
    .exam-ticket-header-main
 {
        width: 80%;
    }
    .exam-ticket-logo
 {
        max-height: 80px;
    }
    .exam-ticket-logo-col
 {
        width: 20%;
    }
    .exam-ticket-table, .utility-64
 {
        width: 100%;
    }
    .utility-67
 {
        width: 100%;
    }
    .utility-69
 {
        height: 120px;
    }
    .utility-71
 {
        width: 200px;
    }
    .utility-74
 {
        min-width: 220px;
    }
    .utility-75
 {
        width: 80px;
    }
    .bg-border-18
 {
        border-left: 4px solid #ffc107;
    }
    .utility-76
 {
        gap: 15px;
    }
    .bg-border-21
 {
        border-left: 4px solid #2196F3;
    }
    .bg-m-border-3
 {
        margin: 20px 0; border-left: 4px solid #28a745;
    }
    .utility-78
 {
        gap: 15px;
    }
    .utility-79
 {
        gap: 15px;
    }
    .utility-80
 {
        width: 70%;
    }
    .utility-81
 {
        gap: 15px;
    }
    .gap-md
 {
        gap: 10px;
    }
    .utility-85
 {
        gap: 15px;
    }
    .utility-86
 {
        gap: 15px;
    }
    .utility-87
 {
        gap: 20px;
    }
    .bg-border-23
 {
        border: 1px solid #bee5eb;
    }
    .scrollable-list
 {
        max-height: 400px;
    }
    .bg-border-24
 {
        border-left: 4px solid #ffc107;
    }
    .scrollable-list-sm
 {
        max-height: 200px;
    }
    .utility-94
 {
        max-width: 200px;
    }
    .utility-98
 {
        width: 100px;
    }
    .utility-100
 {
        width: 150px;
    }
    .utility-101
 {
        width: 120px;
    }
    .utility-102
 {
        gap: 4px;
    }
    .m-border-2
 {
        margin: 4px 0; border: 1px solid #e9ecef;
    }
    .utility-105
 {
        transform: scale(1.2);
    }
    .bg-text-4
 {
        top: -1px; right: -1px;
    }
    .bg-border-28
 {
        border: 2px solid " . ($isStandard ? "#28a745" : "#dee2e6") . ";
    }
    .utility-106
 {
        gap: 15px;
    }
    .utility-107
 {
        border-bottom: 2px solid var(--color-primary); padding-bottom: 8px;
    }
    .bg-border-29
 {
        border-left: 4px solid #2196f3;
    }
    .m-border-3
 {
        margin: 20px 0; border: 1px solid #dee2e6;
    }
    .utility-113
 {
        border-bottom: 1px СЃРѕР»РёРґ Р±Р»СЌРє;
    }
    .utility-117
 {
        border-bottom: 1px solid black;
    }
    .m-text-2
 {
        width: 100%; margin-top: -5px;
    }
    .utility-118
 {
        width: 100%;
    }
    .utility-121
 {
        border-bottom: 1px solid black;
    }
    .utility-122
 {
        border-bottom: 1px solid black;
    }
    .utility-123
 {
        border-bottom: 1px СЃРѕР»РёРґ Р±Р»СЌРє;
    }
    .utility-124
 {
        width: 100%;
    }
    .utility-126
 {
        border-bottom: 1px СЃРѕР»РёРґ Р±Р»СЌРє;
    }
    .utility-128
 {
        width: 65px;
    }
    .utility-129
 {
        max-width: calc(var(--space-8) * 4.6875); max-height: calc(var(--space-8) * 4.6875);
    }
    .logo-container
 {
        margin-bottom: var(--space-6);
    }
    .logo-image
 {
        max-height: calc(var(--space-8) * 3.125); box-shadow: var(--shadow-sm);
    }
    .bg-m-border-4
 {
        margin: 15px 0; border: 2px solid var(--color-success);
    }
    .utility-130
 {
        gap: 5px;
    }
    .utility-131
 {
        gap: 15px;
    }
    .utility-133
 {
        gap: 20px;
    }
    .utility-135
 {
        min-width: 200px;
    }
    .utility-136
 {
        gap: 5px;
    }
    .bg-border-33
 {
        border: 1px solid #ccc;
    }
    .m-border-4
 {
        border-left: 4px solid var(--color-primary); margin: 10px 0;
    }
    .free-slots-container
 {
        max-width: 1400px; margin: var(--space-5) auto; padding: var(--space-5);
    }
    .results-container
 {
        padding: var(--space-5); box-shadow: var(--shadow-md);
    }
    .students-info
 {
        padding: var(--space-md); margin-bottom: var(--space-5); border-left: 4px solid var(--primary);
    }
    .students-info h3
 {
        margin: 0 0 var(--space-sm) 0;
    }
    .analyze-btn
 {
        padding: var(--space-md) var(--space-8); border: none; font-size: calc(var(--text-base) * 1); width: 100%; margin-top: var(--space-sm);
    }
    .analyze-btn:hover
 {
        transform: translateY(-2px); box-shadow: var(--shadow-lg);
    }
    .analyze-btn:active
 {
        transform: translateY(0);
    }
    .summary-cards
 {
        gap: var(--space-md); margin-bottom: var(--space-8);
    }
    .summary-card
 {
        padding: var(--space-5); box-shadow: var(--shadow-md);
    }
    .summary-card:hover
 {
        transform: translateY(-2px); box-shadow: var(--shadow-lg);
    }
    .summary-value
 {
        font-size: calc(var(--text-4xl) * 1); margin-bottom: var(--space-xs);
    }
    .summary-label
 {
        font-size: calc(var(--text-base) * 0.875);
    }
    .slot-card
 {
        border: 2px solid var(--border); padding: var(--space-5); margin-bottom: var(--space-5); box-shadow: var(--shadow-sm);
    }
    .slot-card:hover
 {
        box-shadow: var(--shadow-md); transform: translateY(-2px);
    }
    .slot-header
 {
        margin-bottom: var(--space-md); padding-bottom: var(--space-sm); border-bottom: 2px solid var(--border-light);
    }
    .slot-title
 {
        font-size: calc(var(--text-xl) * 1.25);
    }
    .slot-badge
 {
        padding: var(--space-xs) var(--space-md); font-size: calc(var(--text-base) * 0.875);
    }
    .slot-stats
 {
        gap: var(--space-md); margin-top: var(--space-md);
    }
    .stat-label
 {
        margin-top: var(--space-xs);
    }
    .stat-card--simple
 {
        padding: var(--space-2); box-shadow: none; border: none;
    }
    .stat-card--simple:hover
 {
        transform: none; box-shadow: none;
    }
    .stat-label--light
 {
        margin-top: var(--space-1);
    }
    .progress-bar-container
 {
        padding: calc(var(--space-1) * 0.375); margin: var(--space-md) 0;
    }
    .progress-bar
 {
        height: calc(var(--space-md) * 1.25); width: 0%;
    }
    .progress-text
 {
        margin-top: var(--space-1);
    }
    .progress-fill
 {
        height: 100%; font-size: calc(var(--text-base) * 0.75);
    }
    .file-preview-container
 {
        max-height: calc(var(--space-6) * 12.5); border: 1px solid var(--border-light); padding: var(--space-md);
    }
    .file-preview-item
 {
        border: 1px solid var(--border-light); padding: var(--space-2); margin: var(--space-1) 0;
    }
    .student-list
 {
        margin-top: var(--space-md);
    }
    .student-list-toggle
 {
        border: none; padding: var(--space-sm); width: 100%;
    }
    .student-list-content
 {
        margin-top: var(--space-sm); max-height: 300px;
    }
    .student-item
 {
        border: 1px solid var(--border);
    }
    .student-item:hover
 {
        box-shadow: var(--shadow-sm);
    }
    .exam-student-list
 {
        gap: var(--space-2);
    }
    .exam-student-item
 {
        gap: var(--space-3);
    }
    .exam-student-absent:hover
 {
        box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);
    }
    .exam-student-text
 {
        margin-top: var(--space-1);
    }
    .exam-student-text-dark
 {
        margin-top: var(--space-1);
    }
    .exam-separator
 {
        margin: 0 var(--space-2);
    }
    .exam-select-all-label
 {
        margin: 0;
    }
    .contact-option
 {
        border: 2px solid transparent; padding: var(--space-md);
    }
    .no-results
 {
        padding: var(--space-10); font-size: calc(var(--text-lg) * 1.125);
    }
    .uni-table-container
 {
        box-shadow: var(--shadow-sm); max-width: 100%;
    }
    .uni-table-container--scrollable
 {
        max-height: calc(
        var(--space-md) * 2 + 
        (var(--space-md) * 2 + var(--text-base) * 1.5) * 5 + 
        4px 
    );
    }
    .uni-table-container--scrollable::-webkit-scrollbar
 {
        width: 8px; height: 8px;
    }
    .uni-table
 {
        width: 100%; margin: 0;
    }
    .uni-table-header th
 {
        padding: var(--space-md) var(--space-3); border: none;
    }
    .uni-table td
 {
        padding: var(--space-md) var(--space-2); border-bottom: 1px solid var(--border);
    }
    .student-search-container
 {
        width: 100%; margin-bottom: var(--space-6);
    }
    .student-search-input
 {
        width: 100%; padding: var(--space-md) var(--space-lg); padding-right: calc(var(--space-10) + var(--space-2)); border: 2px solid var(--border); outline: none;
    }
    .student-search-input:focus
 {
        box-shadow: 0 0 0 3px rgba(39, 146, 174, 0.1);
    }
    .student-search-input:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .student-search-filters
 {
        gap: var(--space-md); margin-bottom: var(--space-md); padding: var(--space-md); border: 1px solid var(--border); box-shadow: var(--shadow-sm);
    }
    .student-search-filter-group
 {
        gap: var(--space-xs); min-width: 200px;
    }
    .student-search-filter-label
 {
        gap: var(--space-sm); margin-bottom: var(--space-xs);
    }
    .student-search-filter-label i
 {
        font-size: calc(var(--text-base) * 0.875);
    }
    .student-search-filter-select
 {
        width: 100%; padding: var(--space-md) var(--space-lg); border: 2px solid var(--border); outline: none; background-position: right var(--space-md) center; background-size: 12px; padding-right: calc(var(--space-lg) + var(--space-6) + var(--space-sm));
    }
    .student-search-filter-select:focus
 {
        box-shadow: 0 0 0 3px rgba(39, 146, 174, 0.1);
    }
    .student-search-filter-select:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .student-search-filter-select option
 {
        padding: var(--space-sm);
    }
    .student-search-results
 {
        margin-top: var(--space-md); margin-bottom: 0; padding: 0; border: 1px solid var(--border); box-shadow: var(--shadow-lg); height: calc(
        calc(var(--space-md) + var(--text-base) * 1.5 + var(--space-md)) + 
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-md)) * 4 + 
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-xs)) + 
        4px 
    ); min-height: calc(
        calc(var(--space-md) + var(--text-base) * 1.5 + var(--space-md)) +
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-md)) * 4 +
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-xs)) +
        4px
    ); max-height: calc(
        calc(var(--space-md) + var(--text-base) * 1.5 + var(--space-md)) +
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-md)) * 4 +
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-xs)) +
        4px
    );
    }
    .student-search-results-header
 {
        padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--border); gap: var(--space-md); height: calc(var(--space-md) + var(--text-base) * 1.5 + var(--space-md)); min-height: calc(var(--space-md) + var(--text-base) * 1.5 + var(--space-md)); max-height: calc(var(--space-md) + var(--text-base) * 1.5 + var(--space-md)); margin: 0;
    }
    .student-search-results-count
 {
        gap: var(--space-sm);
    }
    .student-search-results-total
 {
        font-size: calc(var(--text-base) * 0.875);
    }
    .student-search-select-all
 {
        margin-left: auto;
    }
    .student-search-checkbox-label
 {
        gap: var(--space-sm);
    }
    .student-search-checkbox
 {
        width: calc(var(--space-4) + var(--space-1)); height: calc(var(--space-4) + var(--space-1)); min-width: calc(var(--space-4) + var(--space-1)); min-height: calc(var(--space-4) + var(--space-1));
    }
    .student-search-checkbox:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .student-search-results-list
 {
        height: calc(
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-md)) * 4 + 
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-xs)) + 
        4px 
    ); min-height: calc(
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-md)) * 4 +
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-xs)) +
        4px
    ); max-height: calc(
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-md)) * 4 +
        (var(--space-md) + var(--text-base) * 1.5 + var(--space-xs) + var(--text-base) * 1.5 + var(--space-xs)) +
        4px
    ); margin: 0; padding: 0; padding-right: calc(var(--space-10) + var(--space-2));
    }
    .student-search-results-list::-webkit-scrollbar
 {
        width: 8px;
    }
    .student-search-item
 {
        padding: var(--space-md) var(--space-lg); margin: 0; border-bottom: 1px solid var(--border-light); gap: var(--space-md);
    }
    .student-search-item-content
 {
        min-width: 0; width: 100%;
    }
    .student-search-item-checkbox-label
 {
        padding-top: calc(var(--text-base) * 0.25);
    }
    .student-search-item-checkbox
 {
        width: calc(var(--space-4) + var(--space-1)); height: calc(var(--space-4) + var(--space-1)); min-width: calc(var(--space-4) + var(--space-1)); min-height: calc(var(--space-4) + var(--space-1));
    }
    .student-search-item-checkbox:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .student-search-item:last-child
 {
        border-bottom: none; padding-bottom: var(--space-xs); margin-bottom: 0;
    }
    .student-search-item:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: -2px;
    }
    .student-search-item.active
 {
        border-left: 4px solid var(--primary);
    }
    .student-search-item-name-row
 {
        width: 100%; margin-bottom: var(--space-xs);
    }
    .student-search-item-details-row
 {
        gap: var(--space-md); width: 100%;
    }
    .student-search-scroll-buttons
 {
        right: var(--space-sm); top: 50%; transform: translateY(-50%); gap: var(--space-sm);
    }
    .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)); border: 2px solid var(--primary); box-shadow: 0 4px 12px rgba(39, 146, 174, 0.3), 0 2px 4px rgba(0, 0, 0, 0.1); font-size: calc(var(--text-base) * 0.875);
    }
    .student-search-scroll-btn::before
 {
        top: 50%; left: 50%; width: 0; height: 0; transform: translate(-50%, -50%);
    }
    .student-search-scroll-btn:hover
 {
        transform: translateY(-2px) scale(1.05); box-shadow: 0 6px 16px rgba(39, 146, 174, 0.4), 0 4px 8px rgba(0, 0, 0, 0.15);
    }
    .student-search-scroll-btn:hover::before
 {
        width: 100%; height: 100%;
    }
    .student-search-scroll-btn:active
 {
        transform: translateY(0) scale(0.98); box-shadow: 0 2px 8px rgba(39, 146, 174, 0.3), 0 1px 2px rgba(0, 0, 0, 0.1);
    }
    .student-search-scroll-btn:focus-visible
 {
        outline: 3px solid var(--primary); outline-offset: 3px; box-shadow: 0 4px 12px rgba(39, 146, 174, 0.4), 0 0 0 3px rgba(39, 146, 174, 0.2);
    }
    .student-search-scroll-btn:disabled
 {
        box-shadow: none;
    }
    .student-search-scroll-btn i
 {
        font-size: calc(var(--text-base) * 0.875);
    }
    .student-search-no-results
 {
        padding: var(--space-10); height: 100%; min-height: calc(
        (var(--space-md) * 2 + var(--text-base) * 1.5 + var(--space-2)) * 5 +
        4px
    );
    }
    .student-search-loading
 {
        padding: var(--space-10); height: 100%; min-height: calc(
        (var(--space-md) * 2 + var(--text-base) * 1.5 + var(--space-2)) * 5 +
        4px
    );
    }
    .student-search-item-exams
 {
        margin-top: var(--space-3); padding-top: var(--space-3); padding-left: 0; padding-right: 0; padding-bottom: 0; border-top: 1px solid var(--border-light); width: 100%; margin-left: 0; margin-right: 0; margin-bottom: 0;
    }
    .student-search-item-exams-loading
 {
        gap: var(--space-2); padding: var(--space-2) 0; border: none; margin: 0;
    }
    .student-search-item-exams-error
 {
        gap: var(--space-2); padding: var(--space-2);
    }
    .student-search-item-exams-list
 {
        gap: var(--space-3);
    }
    .student-search-item-exams-title
 {
        gap: var(--space-2); margin-bottom: var(--space-2);
    }
    .student-search-item-exam
 {
        padding: var(--space-3); border: 1px solid var(--border-light); gap: var(--space-2); margin-bottom: var(--space-2);
    }
    .student-search-item-exam:last-child
 {
        margin-bottom: 0;
    }
    .student-search-item-exam-name
 {
        gap: var(--space-2);
    }
    .student-search-item-exam-details
 {
        gap: var(--space-3);
    }
    .student-search-item-exam-date, .student-search-item-exam-time, .student-search-item-exam-university
 {
        gap: var(--space-1);
    }
    .student-search-item-exam-meeting
 {
        margin-top: var(--space-1);
    }
    .student-search-item-exam-meeting-link
 {
        gap: var(--space-1); padding: var(--space-1) var(--space-2); border: 1px solid var(--primary);
    }
    .student-search-item-exam-meeting-link:hover
 {
        box-shadow: 0 4px 12px rgba(39, 146, 174, 0.3); transform: translateY(-1px);
    }
    .student-search-item-exam-meeting-link:active
 {
        transform: translateY(0);
    }
    .student-search-item-exam-meeting-link:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px; box-shadow: 0 0 0 4px rgba(39, 146, 174, 0.2);
    }
    .pending-exams-container
 {
        width: 100%; margin-top: var(--space-4);
    }
    .pending-exams-loading
 {
        gap: var(--space-2); padding: var(--space-6);
    }
    .pending-exams-list
 {
        gap: var(--space-4);
    }
    .pending-exams-header
 {
        gap: var(--space-2); padding: var(--space-3); margin-bottom: var(--space-2);
    }
    .pending-exam-item
 {
        gap: var(--space-md); padding: var(--space-4); border: 1px solid var(--border-light); box-shadow: var(--shadow-sm);
    }
    .pending-exam-item:hover
 {
        box-shadow: var(--shadow-md);
    }
    .pending-exam-checkbox-wrapper
 {
        padding-top: calc(var(--text-base) * 0.25);
    }
    .pending-exam-checkbox
 {
        width: calc(var(--space-4) + var(--space-1)); height: calc(var(--space-4) + var(--space-1)); min-width: calc(var(--space-4) + var(--space-1)); min-height: calc(var(--space-4) + var(--space-1)); margin: 0;
    }
    .pending-exam-radio-wrapper
 {
        padding-top: calc(var(--text-base) * 0.25);
    }
    .pending-exam-radio
 {
        width: calc(var(--space-4) + var(--space-1)); height: calc(var(--space-4) + var(--space-1)); min-width: calc(var(--space-4) + var(--space-1)); min-height: calc(var(--space-4) + var(--space-1)); margin: 0;
    }
    .pending-exam-radio-label
 {
        margin: 0; padding: 0;
    }
    .pending-exam-item:has(.pending-exam-radio:checked)
 {
        box-shadow: 0 0 0 2px rgba(39, 146, 174, 0.1);
    }
    .pending-exam-radio:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .pending-exam-content
 {
        min-width: 0; width: 100%;
    }
    .pending-exam-header-row
 {
        gap: var(--space-4); margin-bottom: var(--space-3);
    }
    .pending-exam-name
 {
        gap: var(--space-2); min-width: 200px;
    }
    .pending-exam-students-count
 {
        gap: var(--space-2); padding: var(--space-2) var(--space-3);
    }
    .pending-exam-details
 {
        gap: var(--space-4); margin-bottom: var(--space-3);
    }
    .pending-exam-detail-item
 {
        gap: var(--space-2);
    }
    .pending-exam-meeting
 {
        margin-top: var(--space-2);
    }
    .pending-exam-meeting-link
 {
        gap: var(--space-2); padding: var(--space-2) var(--space-3); border: 1px solid var(--primary);
    }
    .pending-exam-meeting-link:hover
 {
        box-shadow: 0 4px 12px rgba(39, 146, 174, 0.3); transform: translateY(-1px);
    }
    .pending-exam-meeting-link:active
 {
        transform: translateY(0);
    }
    .pending-exam-meeting-link:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px; box-shadow: 0 0 0 4px rgba(39, 146, 174, 0.2);
    }
    .add-students-to-exam-block
 {
        margin-top: var(--space-6); padding: var(--space-4); border: 1px solid var(--border-light);
    }
    .add-students-to-exam-btn
 {
        gap: var(--space-2); padding: var(--space-3) var(--space-6); border: 1px solid var(--primary); box-shadow: var(--shadow-sm);
    }
    .add-students-to-exam-btn:hover:not(:disabled)
 {
        box-shadow: 0 4px 12px rgba(39, 146, 174, 0.3); transform: translateY(-1px);
    }
    .add-students-to-exam-btn:active:not(:disabled)
 {
        transform: translateY(0); box-shadow: var(--shadow-sm);
    }
    .add-students-to-exam-btn:focus-visible
 {
        outline: 2px solid var(--primary); outline-offset: 2px;
    }
    .add-students-to-exam-btn:disabled
 {
        transform: none;
    }
    .exam-students-table-loading, .exam-students-table-empty, .exam-students-table-error
 {
        padding: var(--space-6);
    }
    .exam-students-table-loading i
 {
        margin-right: var(--space-2);
    }
    .exam-students-table-reasons
 {
        margin-top: var(--space-2);
    }
    .exam-status-badge
 {
        padding: var(--space-1) var(--space-2);
    }
    .pending-exams-empty
 {
        gap: var(--space-2); padding: var(--space-6);
    }
    .pending-exams-error
 {
        gap: var(--space-2); padding: var(--space-6);
    }
    .table-container .exam-students-table
 {
        width: 100%;
    }
    .table-container .exam-students-table col.col-checkbox
 {
        width: var(--space-10); min-width: var(--space-10); max-width: var(--space-10);
    }
    .table-container .exam-students-table col.col-full-name
 {
        width: 25%; min-width: 0;
    }
    .table-container .exam-students-table col.col-university
 {
        width: 15%; min-width: 0;
    }
    .table-container .exam-students-table col.col-degree
 {
        width: 10%; min-width: 0;
    }
    .table-container .exam-students-table col.col-specialty
 {
        width: 20%; min-width: 0;
    }
    .table-container .exam-students-table col.col-exam
 {
        width: 15%; min-width: 0;
    }
    .table-container .exam-students-table col.col-action-1
 {
        width: calc(var(--space-10) * 2); min-width: calc(var(--space-10) * 2); max-width: calc(var(--space-10) * 2);
    }
    .table-container .exam-students-table thead::after
 {
        bottom: 0; left: 0; right: 0; height: 2px;
    }
    .table-container .exam-students-table th
 {
        border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    }
    .table-container .exam-students-table td
 {
        border-bottom: 1px solid var(--border-light);
    }
    .table-container .exam-students-table tbody tr:last-child td
 {
        border-bottom: none;
    }
    .table-container .exam-students-table th:nth-child(1), .table-container .exam-students-table td:nth-child(1)
 {
        padding: var(--space-3) var(--space-2); width: 40px; min-width: 40px; max-width: 40px;
    }
    .table-container .exam-students-table th:nth-child(2), .table-container .exam-students-table td:nth-child(2)
 {
        padding: var(--space-3) var(--space-4); min-width: 150px;
    }
    .table-container .exam-students-table th:nth-child(3), .table-container .exam-students-table td:nth-child(3)
 {
        padding: var(--space-3) var(--space-3); min-width: 100px;
    }
    .table-container .exam-students-table th:nth-child(4), .table-container .exam-students-table td:nth-child(4)
 {
        padding: var(--space-3) var(--space-2); min-width: 80px;
    }
    .table-container .exam-students-table th:nth-child(5), .table-container .exam-students-table td:nth-child(5)
 {
        padding: var(--space-3) var(--space-3); min-width: 120px;
    }
    .table-container .exam-students-table th:nth-child(6), .table-container .exam-students-table td:nth-child(6)
 {
        padding: var(--space-3) var(--space-3); min-width: 100px;
    }
    .table-container .exam-students-table th:nth-child(7), .table-container .exam-students-table td:nth-child(7)
 {
        padding: var(--space-3) var(--space-2); width: 80px; min-width: 80px; max-width: 80px;
    }
    .table-container .exam-students-table tbody td:nth-child(7)
 {
        border-bottom: 1px solid var(--border-light);
    }
    .table-container .exam-students-table:not(.tbl) th:nth-child(1) input[type="checkbox"], .table-container .exam-students-table:not(.tbl) td:nth-child(1) input[type="checkbox"]
 {
        width: 18px; height: 18px; margin: 0;
    }
    .exam-students-table .btn-danger
 {
        padding: 0;
    }
    .exam-type-badge
 {
        gap: var(--space-1); padding: var(--space-1) var(--space-2);
    }
    .exam-type-badge i
 {
        font-size: 0.875em;
    }
    .exam-type-badge.exam-type-entrance
 {
        border: 1px solid rgba(220, 53, 69, 0.3);
    }
    .exam-type-badge.exam-type-one-time
 {
        border: 1px solid rgba(0, 123, 255, 0.3);
    }
    .exam-type-badge.exam-type-regular
 {
        border: 1px solid rgba(108, 117, 125, 0.3);
    }
    .student-search-item-exam-meeting-link, .student-search-item-exam-meeting-link:hover, .student-search-item-exam-meeting-link:active, .pending-exam-meeting-link, .pending-exam-meeting-link:hover, .pending-exam-meeting-link:active
 {
        transform: none;
    }
    .search-results-header
 {
        gap: var(--space-3); margin-bottom: var(--space-3);
    }
    .search-results-header h2
 {
        margin: 0; min-width: 0;
    }
    .active-sort
 {
        border-bottom: calc(var(--space-1) / 2) solid var(--primary);
    }
    .filter-toggle[aria-expanded="true"] i
 {
        transform: rotate(180deg);
    }
    #main-results-section .table-wrapper, #excluded-section .table-wrapper
 {
        width: 100%; box-shadow: var(--shadow-sm);
    }
    #main-results-section .user-table, #excluded-section .user-table
 {
        width: 100%;
    }
    #main-results-section .user-table th.tbl__col--id, #main-results-section .user-table td.tbl__col--id, #excluded-section .user-table th.tbl__col--id, #excluded-section .user-table td.tbl__col--id
 {
        width: 8%; min-width: 55px;
    }
    .m
 {
        margin: var(--space-2);
    }
    .search-suggestions
 {
        top: 100%; left: 0; right: 0; border: 1px solid var(--border); border-top: none; max-height: calc(var(--space-16) * 4.6875); box-shadow: var(--shadow-lg);
    }
    .search-suggestion-item
 {
        padding: var(--space-3); border-bottom: 1px solid var(--border-light);
    }
    .search-suggestion-item.pending
 {
        border-left: calc(var(--space-1) / 2) solid var(--warning);
    }
    .search-suggestion-item.added
 {
        border-left: calc(var(--space-1) / 2) solid var(--success);
    }
    .search-suggestion-item:last-child
 {
        border-bottom: none;
    }
    .suggestion-header
 {
        margin-bottom: var(--space-1); gap: var(--space-3);
    }
    .suggestion-phone
 {
        margin-right: var(--space-3);
    }
    .no-suggestions
 {
        padding: var(--space-3);
    }
    .loading-suggestions
 {
        padding: var(--space-3);
    }
    .user-table.table-2cols
 {
        width: 100%;
    }
    .user-table.table-5cols
 {
        width: 100%;
    }
    .user-table.table-4cols
 {
        width: 100%;
    }
    .user-table.table-7cols
 {
        width: 100%;
    }
    .margin-top-5
 {
        margin-top: 5px;
    }
    .margin-top-10
 {
        margin-top: 10px;
    }
    .margin-top-15
 {
        margin-top: 15px;
    }
    .margin-bottom-20
 {
        margin-bottom: 20px;
    }
    .margin-left-15
 {
        margin-left: 15px;
    }
    .gap-10
 {
        gap: 10px;
    }
    .gap-15
 {
        gap: 15px;
    }
    .teams-dashboard-actions
 {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px !important;
    }
    .teams-dashboard-action-btn
 {
        width: 100%;
    }
    .width-50
 {
        width: 50px;
    }
    .font-size-18
 {
        font-size: 18px;
    }
    .font-size-24
 {
        font-size: 24px;
    }
    .translation-selection-block
 {
        gap: 10px; width: 100%; padding: 8px 12px; border: 1px solid #4a90e2; margin: 0;
    }
    .translation-selection-block:hover
 {
        box-shadow: 0 2px 8px rgba(74, 144, 226, 0.2);
    }
    .translation-checkbox
 {
        margin: 0; width: 20px; height: 20px;
    }
    .translation-label
 {
        margin: 0; font-size: 14px; gap: 5px;
    }
    .translation-label .icon
 {
        font-size: 16px;
    }
    .translation-quantity
 {
        width: 70px; padding: 6px 10px; border: 2px solid #4a90e2; font-size: 14px;
    }
    .translation-quantity:focus
 {
        outline: none; box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
    }
    .translation-block
 {
        margin: 15px 0; padding: 8px;
    }
    .translation-block-blue
 {
        border-left: 4px solid #4a90e2;
    }
    .translation-block-yellow
 {
        border-left: 4px solid #ffc107;
    }
    .translation-document-link
 {
        margin-left: 10px;
    }
    .translation-session-message
 {
        padding: 15px 20px; margin: 20px 0; border-left: 5px solid; box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }
    .translation-statistics
 {
        padding: 25px; margin: 20px 0; border-left: 5px solid var(--color-primary); box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    }
    .translation-statistics h4
 {
        margin: 0 0 20px 0; gap: 8px; font-size: 1.4em; border-bottom: 2px solid #dee2e6; padding-bottom: 10px;
    }
    .translation-statistics h5
 {
        margin: 15px 0 10px 0; gap: 8px; font-size: 1.1em;
    }
    .translation-complete-badge
 {
        padding: 4px 10px; font-size: 0.85em; margin-left: 10px;
    }
    .translation-partial-badge
 {
        padding: 4px 10px; font-size: 0.85em; margin-left: 10px;
    }
    .translation-section
 {
        margin-bottom: 20px;
    }
    .translation-section-title
 {
        border-bottom: 2px solid var(--color-primary); padding-bottom: 5px; margin: 15px 0 10px 0; gap: 8px; font-size: 1.1em;
    }
    .translation-section-title-success
 {
        border-bottom: 2px solid #28a745; padding-bottom: 5px; margin: 15px 0 10px 0; gap: 8px; font-size: 1.1em;
    }
    .translation-section-title-danger
 {
        border-bottom: 2px solid #dc3545; padding-bottom: 5px; margin: 15px 0 10px 0; gap: 8px; font-size: 1.1em;
    }
    .translation-success-box
 {
        padding: 15px; margin-top: 10px;
    }
    .translation-success-box ul
 {
        margin: 0; padding-left: 20px;
    }
    .translation-danger-box
 {
        padding: 15px; margin-top: 10px;
    }
    .translation-danger-box p
 {
        margin: 0;
    }
    .translation-danger-box p.info
 {
        margin: 10px 0 0 0;
    }
    .translation-partial-box
 {
        margin-top: 15px; padding: 15px;
    }
    .translation-partial-box p
 {
        margin: 0 0 10px 0;
    }
    .translation-table
 {
        margin-top: 10px;
    }
    .translation-table th
 {
        width: 150px;
    }
    .addMoreFiles
 {
        gap: var(--space-2); padding: var(--space-2) var(--space-4); margin-top: var(--space-2); border: 1px solid var(--secondary); min-height: calc(var(--space-8) + var(--space-1));
    }
    .addMoreFiles:hover
 {
        box-shadow: 0 4px 12px rgba(108, 117, 125, 0.3); transform: translateY(calc(var(--space-1) / -2));
    }
    .addMoreFiles:active
 {
        transform: translateY(0);
    }
    .addMoreFiles:focus-visible
 {
        outline: 2px solid var(--secondary); outline-offset: 2px; box-shadow: 0 0 0 4px rgba(108, 117, 125, 0.2);
    }
    .user-table.table-2cols
 {
        width: 100%;
    }
    .user-table.table-5cols
 {
        width: 100%;
    }
    .user-table.table-4cols
 {
        width: 100%;
    }
    .user-table.table-7cols
 {
        width: 100%;
    }
    .translation-selection-block:hover
 {
        box-shadow: 0 2px 8px rgba(74, 144, 226, 0.2);
    }
    .translation-label .icon
 {
        font-size: 16px;
    }
    .translation-quantity:focus
 {
        outline: none; box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
    }
    .translation-statistics h4
 {
        margin: 0 0 20px 0; gap: 8px; font-size: 1.4em; border-bottom: 2px solid #dee2e6; padding-bottom: 10px;
    }
    .translation-statistics h5
 {
        margin: 15px 0 10px 0; gap: 8px; font-size: 1.1em;
    }
    .translation-success-box ul
 {
        margin: 0; padding-left: 20px;
    }
    .translation-danger-box p
 {
        margin: 0;
    }
    .translation-danger-box p.info
 {
        margin: 10px 0 0 0;
    }
    .translation-partial-box p
 {
        margin: 0 0 10px 0;
    }
    .translation-table th
 {
        width: 150px;
    }
    .stats-container
 {
        width: 100%; padding: var(--space-4) 0;
    }
    .stat-widget
 {
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08); border: 1px solid transparent;
    }
    .stat-widget:hover
 {
        transform: translateY(-4px); box-shadow: 0 12px 25px rgba(0, 0, 0, 0.12);
    }
    .stat-widget::before
 {
        top: -50%; right: -50%; width: 200%; height: 200%;
    }
    .stat-widget::after
 {
        top: 0; left: 0; right: 0; bottom: 0;
    }
    .stat-widget-content
 {
        gap: var(--space-2);
    }
    .stat-widget--primary
 {
        border: 1px solid rgba(39, 146, 174, 0.3);
    }
    .stat-widget--success
 {
        border: 1px solid rgba(5, 150, 105, 0.3);
    }
    .stat-widget--warning
 {
        border: 1px solid rgba(212, 160, 23, 0.3);
    }
    .stat-widget--danger
 {
        border: 1px solid rgba(239, 68, 68, 0.3);
    }
    .stat-widget--info
 {
        border: 1px solid rgba(59, 130, 246, 0.3);
    }
    .stat-widget--neutral
 {
        border: 1px solid rgba(107, 114, 128, 0.3);
    }
    .stat-widget--light
 {
        border: 1px solid rgba(75, 85, 99, 0.15);
    }
    .stat-icon
 {
        margin-bottom: 0;
    }
    .stat-widget:hover .stat-icon
 {
        transform: scale(1.1) rotate(5deg);
    }
    .stat-value
 {
        margin: 0;
    }
    .stat-label
 {
        margin-bottom: 0;
    }
    .stat-subtitle
 {
        font-size: 0.75rem; margin-top: 0; flex-basis: 100%;
    }
    .stat-trend
 {
        gap: var(--space-1); font-size: 0.85rem; margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px solid rgba(255, 255, 255, 0.1); flex-basis: 100%;
    }
    .stat-trend i
 {
        font-size: 1rem;
    }
    .stat-progress
 {
        width: 100%; height: 4px; margin-top: var(--space-2); flex-basis: 100%;
    }
    .stat-progress-bar
 {
        height: 100%; box-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
    }
    .stat-widget--sm
 {
        padding: var(--space-3);
    }
    .stat-widget--sm .stat-label
 {
        font-size: 0.75rem;
    }
    .stat-widget--sm .stat-icon
 {
        width: 36px; height: 36px;
    }
    .stat-widget--lg .stat-icon
 {
        width: 64px; height: 64px;
    }
    .stats-grid
 {
        gap: var(--space-4); width: 100%;
    }
    #mail-settings.site-settings-mail
 {
        border: 2px solid var(--color-primary); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    }
    #mail-settings.site-settings-mail .mail-settings-tabs
 {
        border-bottom: 1px solid #dee2e6;
    }
    #mail-settings.site-settings-mail .mail-settings-tab
 {
        border: 1px solid #ccc;
    }
    #mail-settings.site-settings-mail .mail-config-subtab
 {
        border: 1px solid #ced4da;
    }
    #mail-settings.site-settings-mail .mail-tab-panel
 {
        padding-top: var(--space-2);
    }
    #mail-settings.site-settings-mail .mail-relationship-hint
 {
        border-left: 4px solid #17a2b8;
    }
    #mail-settings.site-settings-mail .mail-hosting-hint
 {
        border-left: 3px solid #6c757d;
    }
    #mail-settings.site-settings-mail .mail-accounts-intro
 {
        margin: 0 0 var(--space-4);
    }
    #mail-settings.site-settings-mail .mail-root-env-roles-intro
 {
        margin: 0 0 var(--space-4);
    }
    #mail-settings.site-settings-mail .mail-cred-map-heading
 {
        margin-top: var(--space-4);
    }
    #mail-settings.site-settings-mail .mail-cred-map-table
 {
        margin-bottom: var(--space-5);
    }
    #mail-settings.site-settings-mail .mail-cred-status
 {
        padding: 0.15em 0.5em;
    }
    #mail-settings.site-settings-mail .mail-cred-role-card
 {
        margin: var(--space-5) 0; padding: var(--space-4); border: 1px solid var(--border-color, #dee2e6);
    }
    #mail-settings.site-settings-mail .mail-cred-role-card__title
 {
        margin-top: 0;
    }
    #mail-settings.site-settings-mail .mail-cred-role-card__link
 {
        margin: 0 0 var(--space-2);
    }
    #mail-settings.site-settings-mail .mail-cred-role-email
 {
        margin: 0 0 var(--space-3);
    }
    #mail-settings.site-settings-mail .mail-cred-warning, #mail-settings.site-settings-mail .mail-cred-fallback-note
 {
        margin: 0 0 var(--space-3);
    }
    #mail-settings.site-settings-mail .mail-cred-other-heading
 {
        margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--border-color, #dee2e6);
    }
    #mail-settings.site-settings-mail .mail-cred-secret-display
 {
        max-width: 100%;
    }
    body.otp-gate-page
 {
        min-height: 100vh; padding: 20px; margin: 0;
    }
    body.otp-gate-page .otp-gate-layout
 {
        width: 100%;
    }
    .cost-management-container
 {
        max-width: 1200px; margin: 0 auto; padding: 20px;
    }
    .cost-management-container .specialty-checkbox
 {
        margin-right: 10px !important; margin-top: 2px !important;
    }
    .selected-params
 {
        border: 1px solid #2196f3; padding: 15px; margin-bottom: 20px;
    }
    .selected-params h4
 {
        margin: 0 0 10px 0;
    }
    .selected-params p
 {
        margin: 5px 0; font-size: 14px;
    }
    .help-text
 {
        font-size: 12px; margin-left: 28px;
    }
    .line-actions
 {
        gap: 10px; margin-top: 10px;
    }
    .loading
 {
        padding: 20px;
    }
    .message
 {
        padding: 15px; margin: 20px 0;
    }
    .message.success
 {
        border: 1px solid #c3e6cb;
    }
    .message.error
 {
        border: 1px solid #f5c6cb;
    }
    .message.warning
 {
        border: 1px solid #ffeaa7;
    }
    .restore-container
 {
        max-width: 1200px; margin: 20px auto; padding: 20px;
    }
    .students-list
 {
        gap: 15px; margin-bottom: 30px;
    }
    .tabs
 {
        gap: 10px; margin-bottom: 20px; border-bottom: 2px solid #ddd;
    }
    .tab
 {
        padding: 10px 20px; border: none; font-size: 16px; border-bottom: 3px solid transparent;
    }
    .edit-container
 {
        max-width: 1200px; margin: 20px auto; padding: 20px; box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
    .button-group
 {
        gap: 15px; margin-top: 30px; padding-top: 20px; border-top: 2px solid #ddd;
    }
    .entry-admission-content
 {
        padding: 20px 0;
    }
    .stats-info
 {
        padding: 15px; margin-bottom: 20px;
    }
    .current-admission
 {
        font-size: 0.9em;
    }
    .no-data
 {
        padding: 40px;
    }
    .management-section
 {
        padding: 25px; margin: 20px 0; box-shadow: 0 2px 15px rgba(0,0,0,0.08); border: 1px solid #e9ecef;
    }
    .section-title
 {
        margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #e9ecef; gap: 10px; font-size: 18px;
    }
    .bulk-actions
 {
        gap: 15px;
    }
    .no-data, .loading-cell
 {
        padding: 40px 20px;
    }
    .no-data i, .loading-cell i
 {
        font-size: 32px; margin-bottom: 10px;
    }
    .info-grid
 {
        gap: 15px;
    }
    .info-item
 {
        gap: 4px;
    }
    .info-item strong
 {
        font-size: 13px;
    }
    .management-section .stats-section h4
 {
        margin: 0 0 15px 0; padding-bottom: 8px; border-bottom: 2px solid #e9ecef;
    }
    .management-section .student-info
 {
        padding: 20px; margin-bottom: 25px; border-left: 4px solid var(--color-primary);
    }
    .management-section .student-info h4
 {
        margin: 0 0 15px 0; gap: 8px;
    }
    .syllabus-container
 {
        max-width: 900px; margin: 20px auto; padding: 20px; box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    }
    .calendar-container
 {
        padding: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-bottom: 30px;
    }
    .calendar-form
 {
        margin-bottom: 20px; gap: 15px;
    }
    .calendar-form select
 {
        padding: 8px 12px; border: 1px solid #ddd; font-size: 14px; min-width: 120px;
    }
    .calendar-form button
 {
        padding: 8px 20px; border: none; font-size: 14px;
    }
    .calendar-table
 {
        width: 100%; margin-top: 15px;
    }
    .calendar-table th, .calendar-table td
 {
        border: 1px solid #ddd; padding: 12px; min-width: 40px; height: 50px;
    }
    .calendar-table td
 {
        font-size: 14px;
    }
    .calendar-table td.today
 {
        border: 2px solid var(--color-primary);
    }
    .schedule-container
 {
        padding: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-bottom: 30px;
    }
    .schedule-table
 {
        width: 100%; margin-top: 15px;
    }
    .schedule-table th
 {
        padding: 12px; border-bottom: 2px solid #ddd;
    }
    .schedule-table td
 {
        padding: 10px 12px; border-bottom: 1px solid #eee;
    }
    .schedule-table tr.date-header td
 {
        padding: 10px 12px; border-bottom: 2px solid #ddd;
    }
    .attendance-status
 {
        gap: 5px; padding: 4px 10px; font-size: 13px;
    }
    .user-info-box
 {
        padding: 20px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); margin-bottom: 30px;
    }
    .user-info-box h2
 {
        margin-top: 0; gap: 10px;
    }
    .user-info-box .info-grid
 {
        gap: 15px; margin-top: 15px;
    }
    .user-info-box .info-item
 {
        gap: 5px;
    }
    .user-info-box .info-label
 {
        font-size: 13px;
    }
    .user-info-box .info-value
 {
        font-size: 15px;
    }
    .calendar-legend
 {
        gap: 20px; margin-top: 15px;
    }
    .legend-item
 {
        gap: 8px; font-size: 13px;
    }
    .legend-color
 {
        width: 20px; height: 20px; border: 1px solid #ddd;
    }
    .legend-color.today
 {
        border: 2px solid var(--color-primary);
    }
    .empty-state
 {
        padding: 40px 20px;
    }
    .empty-state i
 {
        font-size: 48px; margin-bottom: 15px;
    }
    .error-message
 {
        padding: 15px; border-left: 4px solid #dc3545; margin: 15px 0;
    }
    .btn-export
 {
        padding: 10px 20px; gap: 8px; font-size: 14px;
    }
    .btn-export:active
 {
        transform: scale(0.98);
    }
    .curator-links-table, .curator-table-responsive, .curator-btn, .curator-nav, .curator-search-results-header, .curator-student-info, .copy-toast, .curator-payment-link, .curator-login-pass-link
 {
        font-size: 14px;
    }
    .curator-user-table
 {
        max-width: 100%; width: 100%; margin: 0 auto;
    }
    .curator-user-table th
 {
        padding: 4px 3px; border-bottom: 2px solid var(--color-primary); font-size: 11px;
    }
    .curator-user-table td
 {
        padding: 3px 4px; font-size: 12px; border: 1px solid #e0e0e0; max-width: 180px;
    }
    .curator-user-table td:hover
 {
        box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    }
    .curator-user-table img, .curator-user-table-img
 {
        max-width: 100px; height: auto; border: 2px solid var(--color-primary);
    }
    .curator-gender-icon, .curator-status-icon, .curator-payment-icon, .curator-login-pass-icon
 {
        border: 0 !important;
    }
    .curator-user-table h1
 {
        font-size: 20px; margin: 10px 0;
    }
    .curator-user-table p, .curator-user-table a, .curator-user-table li, .curator-user-table button, .curator-user-table th, .curator-user-table td
 {
        font-size: 12px;
    }
    .curator-table-header-details, .credentials-modal.credentials-modal--curator .credentials-modal__label, .credentials-modal.credentials-modal--curator .credentials-modal__value, .credentials-modal.credentials-modal--curator .credentials-modal__body, .credentials-modal.credentials-modal--curator .credentials-modal__row
 {
        font-size: 14px;
    }
    .curator-table-responsive
 {
        margin: 15px 0;
    }
    .curator-user-table .curator-table-header-title
 {
        font-size: 14px; margin: 0;
    }
    .curator-user-table .curator-table-header-details
 {
        font-size: 12px;
    }
    .curator-user-table .curator-student-index-cell
 {
        width: 5%; min-width: 40px; font-size: 12px;
    }
    .curator-user-table .curator-student-name-cell
 {
        font-size: 12px;
    }
    .curator-student-name-text
 {
        font-size: 12px;
    }
    .curator-user-table .curator-student-status-cell, .curator-user-table .curator-student-payment-cell, .curator-user-table .curator-student-credentials-cell
 {
        width: 7%; min-width: 52px; font-size: 12px;
    }
    .curator-status-icon:hover
 {
        transform: scale(1.2);
    }
    .credentials-modal.credentials-modal--curator
 {
        inset: 0; padding: 24px;
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__backdrop
 {
        inset: 0;
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__dialog
 {
        width: min(420px, 100%); box-shadow: 0 24px 60px rgba(15, 23, 42, 0.25); padding: 24px 24px 28px; gap: 16px; max-height: 90vh;
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__close
 {
        top: 12px; right: 12px; width: 38px; height: 38px; border: none; font-size: 22px;
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__close:hover
 {
        transform: scale(1.05);
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__header
 {
        gap: 12px; padding-right: 40px;
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__title
 {
        font-size: 20px; margin: 0;
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__copy-btn
 {
        width: 42px; height: 42px; border: none;
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__copy-btn:hover
 {
        transform: translateY(-1px);
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__body
 {
        gap: 14px;
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__row
 {
        gap: 12px; padding: 12px 14px; box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.06);
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__label
 {
        font-size: 13px;
    }
    .credentials-modal.credentials-modal--curator .credentials-modal__value
 {
        font-size: 15px;
    }
    .university-header.curator-table-unihead, .curator-user-table th.curator-uni-group-header
 {
        border: 0;
    }
    .curator-user-table td [data-copy], .curator-user-table td .curator-profile-copy
 {
        padding: 2px 4px;
    }
    .curator-btn
 {
        padding: 12px 24px; border: none; font-size: 14px;
    }
    .curator-links-table
 {
        margin: 1rem 0;
    }
    .curator-links-table td
 {
        padding: 0.75rem;
    }
    .curator-links-table a
 {
        padding: 0.75rem; margin: 0.5rem 0;
    }
    .curator-search-results-header
 {
        gap: 20px; margin-bottom: 20px;
    }
    .curator-search-results-header h2
 {
        margin: 0;
    }
    .curator-nav
 {
        margin: 15px 0; gap: 10px;
    }
    .curator-user-table td:hover
 {
        box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
    }
    .curator-user-table img, .curator-user-table-img
 {
        object-fit: cover; margin: 0 auto; width: 40px; height: 40px;
    }
    .curator-user-table h1
 {
        font-size: 18px; margin: 0;
    }
    .curator-user-table form
 {
        width: 100%;
    }
    .curator-user-table input[type="text"], .curator-user-table input[type="email"], .curator-user-table input[type="tel"], .curator-user-table input[type="password"], .curator-user-table input[type="file"]
 {
        font-size: 14px; padding: 8px 12px; border: 1px solid #ddd;
    }
    .curator-user-table input[type="text"]:focus, .curator-user-table input[type="email"]:focus, .curator-user-table input[type="tel"]:focus, .curator-user-table input[type="password"]:focus
 {
        outline: none; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
    }
    .curator-user-table label
 {
        font-size: 14px; margin-bottom: 5px;
    }
    .curator-user-table button[type="submit"], .curator-user-table a[href*="curator_panel"]
 {
        font-size: 16px !important; padding: 10px 20px !important; border: none; min-width: 150px; margin: 0 !important;
    }
    .curator-form-buttons button[type="submit"], .curator-form-buttons a[href*="curator_panel"], form ~ div button[type="submit"], form ~ div a[href*="curator_panel"], form + div button[type="submit"], form + div a[href*="curator_panel"]
 {
        font-size: 16px !important; padding: 10px 20px !important; border: none !important; margin: 0 !important;
    }
    .curator-user-table button[type="submit"]:hover, .curator-form-buttons button[type="submit"]:hover, form ~ div button[type="submit"]:hover, form + div button[type="submit"]:hover
 {
        transform: translateY(-1px); box-shadow: 0 2px 4px rgba(0, 123, 255, 0.3);
    }
    .curator-user-table a[href*="curator_panel"]:hover, .curator-form-buttons a[href*="curator_panel"]:hover, form ~ div a[href*="curator_panel"]:hover, form + div a[href*="curator_panel"]:hover
 {
        transform: translateY(-1px); box-shadow: 0 2px 4px rgba(108, 117, 125, 0.3);
    }
    .curator-form-buttons, form ~ div, form + div
 {
        gap: 10px !important; margin-top: 20px !important; width: 100% !important;
    }
    .curator-form-buttons button[type="submit"], .curator-form-buttons a[href*="curator_panel"], form ~ div button[type="submit"], form ~ div a[href*="curator_panel"], form + div button[type="submit"], form + div a[href*="curator_panel"]
 {
        min-width: 0 !important; width: auto !important; max-width: none !important; flex-basis: 0 !important;
    }
    .contact-type-option input[type="radio"]
 {
        margin-right: 8px;
    }
    .curator-user-table img[alt="Avatar"]
 {
        max-width: 150px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    .curator-student-box-admin-info
 {
        border-left: 5px solid var(--primary); padding: var(--space-5) var(--space-6); box-shadow: var(--shadow-sm);
    }
    .curator-empty-state-icon
 {
        font-size: 4rem; margin-bottom: var(--space-4);
    }
    .curator-user-table th .curator-col-heading-ellipsis
 {
        max-width: 60px; min-width: 40px;
    }
    .curator-student-box-title
 {
        margin: 0 0 var(--space-4); padding: var(--space-2) var(--space-4);
    }
    .curator-student-box-admin-info p
 {
        margin: var(--space-2) 0;
    }
    .curator-student-box-admin-actions
 {
        gap: var(--space-2);
    }
    .curator-action-icon
 {
        width: 60px; height: 60px; border: 2px solid var(--border); box-shadow: var(--shadow-sm);
    }
    .curator-action-icon img
 {
        width: 30px; height: 30px;
    }
    .curator-action-icon:hover
 {
        transform: scale(1.1); box-shadow: var(--shadow-md);
    }
    .curator-student-box-admin-info .curator-student-status
 {
        padding: var(--space-1) var(--space-3); box-shadow: var(--shadow-sm);
    }
    .copy-target i.copied
 {
        transform: scale(1.2);
    }
    .copy-target i
 {
        font-size: var(--text-xs);
    }
    .copy-target.copied i
 {
        transform: scale(1.2);
    }
    .curator-cost-semesters-table
 {
        width: 100%; max-width: 100%; margin: 20px 0; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }
    .curator-cost-semesters-table th
 {
        padding: 15px 12px; font-size: 13px; border-bottom: 2px solid #1a202c;
    }
    .curator-cost-semesters-table tbody tr
 {
        border-bottom: 1px solid var(--border-light);
    }
    .curator-cost-semesters-table tbody tr.tbl__row--danger.tbl__row--danger
 {
        border-left: 4px solid var(--danger);
    }
    .curator-cost-semesters-table tbody tr.tbl__row--warning.tbl__row--warning
 {
        border-left: 4px solid var(--warning);
    }
    .curator-cost-semesters-table tbody tr.tbl__row--success.tbl__row--success
 {
        border-left: 4px solid var(--success);
    }
    .curator-cost-semesters-table tbody tr.tbl__row--info.tbl__row--info
 {
        border-left: 4px solid var(--info);
    }
    .curator-cost-semesters-table tbody tr.tbl__row--future.tbl__row--future
 {
        border-left: 4px solid #9ca3af;
    }
    .curator-cost-semesters-table tbody tr.tbl__row--overpayment.tbl__row--overpayment
 {
        border-left: 4px solid #0ea5e9;
    }
    .curator-cost-semesters-table tbody tr.tbl__row--debt-paid.tbl__row--debt-paid
 {
        border-left: 4px solid #0d9488;
    }
    .curator-cost-semesters-table td
 {
        padding: 12px; font-size: 14px; border: none;
    }
    .curator-orders-table
 {
        border: 2px solid #7b1fa2; box-shadow: 0 4px 12px rgba(123, 31, 162, 0.15);
    }
    .curator-orders-table thead th
 {
        font-size: 0.9em;
    }
    .curator-orders-table tbody tr:hover
 {
        transform: translateX(2px);
    }
    .curator-document-type
 {
        border-left: 3px solid #7b1fa2;
    }
    .curator-delivery-type
 {
        border-left: 3px solid #7b1fa2;
    }
    .curator-status-paid
 {
        border-left: 3px solid #388e3c;
    }
    .curator-status-waiting
 {
        border-left: 3px solid #d32f2f;
    }
    .curator-status-processing
 {
        border-left: 3px solid #7b1fa2;
    }
    .curator-student-item
 {
        border-left: 4px solid #7b1fa2;
    }
    .curator-student-item:hover
 {
        transform: translateX(3px); box-shadow: 0 4px 12px rgba(123, 31, 162, 0.2);
    }
    .curator-student-info-card
 {
        border: 2px solid #7b1fa2;
    }
    .curator-action-button
 {
        border: none; padding: 8px 16px; font-size: 0.85em;
    }
    .curator-action-button:hover
 {
        transform: translateY(-2px); box-shadow: 0 4px 12px rgba(123, 31, 162, 0.3);
    }
    .curator-status-controls
 {
        gap: 8px;
    }
    .curator-status-badge
 {
        padding: 4px 8px; font-size: 11px;
    }
    .curator-warning
 {
        border-left: 4px solid #ff9800; padding: 12px;
    }
    .curator-error
 {
        border-left: 4px solid #f44336; padding: 12px;
    }
    .curator-success
 {
        border-left: 4px solid var(--color-success); padding: 12px;
    }
    .receipt-missing-indicator__icons
 {
        gap: 0.2rem; font-size: 0.875rem;
    }
    .receipt-missing-indicator__icons .fa-times-circle
 {
        font-size: 0.88em;
    }
    .receipt-missing-indicator .sr-only
 {
        width: 1px; height: 1px; padding: 0; margin: -1px; border: 0;
    }
    .curator-settings-info-banner
 {
        border-left: 4px solid #2196f3; margin-bottom: 20px; padding: 15px;
    }
    .curator-settings-section-heading
 {
        padding: 10px;
    }
    .curator-settings-section-heading--warning
 {
        border-left: 4px solid #ffc107;
    }
    .curator-settings-input-readonly
 {
        width: 100%;
    }
    .curator-field-info-sm
 {
        font-size: 11px; margin-top: 3px;
    }
    .curator-contact-options-wrap
 {
        padding: 10px 0;
    }
    .curator-contact-type-option
 {
        padding: 8px; border: 2px solid transparent; margin-bottom: 10px;
    }
    .curator-contact-type-option:last-child
 {
        margin-bottom: 0;
    }
    .curator-contact-type-option input[type="radio"]
 {
        margin-right: 8px;
    }
    .curator-contact-type-desc
 {
        font-size: 12px; margin-left: 24px; margin-top: 4px;
    }
    .curator-contact-info-highlight
 {
        font-size: 11px; padding: 8px; margin-top: 5px;
    }
    .curator-settings-avatar-preview
 {
        max-width: 150px;
    }
    

/* =============================================================================
 * Migrated from common.css (strict) — scripts/migrate_common_strict.py
 * ============================================================================= */
    .cost-edit-table-wrap--desktop
 {
        display: none;
    }
    .cost-edit-table-wrap--mobile
 {
        display: block;
        
        box-sizing: border-box;
    }
    

/* === css_split_uni.py append @ 2026-04-03 21:34:34 === */

/* ═══════════════════════════════════════════════════════════════════════════
   📱 MAIL MOBILE STYLES - Все размеры для мобильных (до 767px)
   ═══════════════════════════════════════════════════════════════════════════ */

/* Mobile (до 767px) */

    

    .mail-container {
        width: 100%;
        /* Ширина контролируется родительским .container (100%) */
        padding: 15px;
        margin: 15px auto;
    }

    

    .footer-lang-btn {
        width: 45px;
        height: 45px;
    }

    /* 👨‍🎓 Основная навигация */
    

    

    

    

    

    /* 🧗 Навигация студента */
    .mail-student-navigation ul {
        grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
        gap: 8px;
    }

    .mail-student-navigation a {
        padding: 10px 12px;
        font-size: 13px;
        min-height: 44px;
    }

    .mail-student-navigation a i {
        font-size: 16px;
    }

    /* 👨‍💼 Навигация куратора/админа */
    nav .head-icon-menu {
        grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
        gap: 8px;
    }

    nav .head-icon-menu a {
        padding: 10px 12px;
        font-size: 12px;
        min-height: 44px;
    }

    nav .head-icon-menu a i {
        width: 24px;
        height: 24px;
    }

    /* 🦸 Навигация героя */
    .hero-icon-menu tr {
        gap: 8px;
    }

    .hero-icon-menu-link {
        padding: 12px 15px;
        min-width: 100px;
        font-size: 12px;
    }

    .hero-icon-menu-link i {
        font-size: 24px;
    }

    .hero-icon-menu-title {
        font-size: 11px;
    }
    
    
    
    
    
    /* Адаптация стилей корзины для очень малых экранов */
    
    
    
    
    
    
    .mail-item.sent-message .mail-subject,
    .mail-item.received-message .mail-subject {
        font-size: 13px;
        padding-right: 25px;
    }
    
    .mail-item.sent-message .mail-from .mail-address,
    .mail-item.received-message .mail-from .mail-address {
        font-size: 12px;
    }
    
    /* Отключаем hover эффекты на очень малых экранах */
    .mail-item.sent-message:hover,
    .mail-item.received-message:hover {
        transform: none;
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    .mail-search-input {
        font-size: 14px;
        padding: 10px 12px 10px 40px;
    }
    
    
    
    
    
    .mail-from, .mail-to {
        font-size: 12px;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }
    
    .mail-label {
        min-width: auto;
    }
    
    .mail-date {
        font-size: 11px;
    }
    
    .mail-body-wrapper {
        margin: 10px auto;
        overflow-x: auto;
    }
    
    .mail-body {
        padding: 10px;
        font-size: 13px;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
    }
    
    .mail-body table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
    }
    
    .mail-compose-form {
        padding: 15px;
        margin: 0;
        border-radius: 6px;
        border-width: 1px;
    }
    
    .mail-form-group {
        margin-bottom: 15px;
    }
    
    .mail-form-label {
        font-size: 12px;
        margin-bottom: 5px;
    }
    
    .mail-form-input,
    .mail-form-textarea {
        font-size: 14px;
        padding: 8px 10px;
        border-radius: 6px;
        width: 100%;
        max-width: 100%;
    }
    
    .mail-form-textarea {
        min-height: 150px;
    }
    
    .mail-form-file {
        padding: 6px;
        width: 100%;
        max-width: 100%;
    }
    
    .mail-submit-btn {
        width: 100%;
        padding: 12px 20px;
        font-size: 15px;
        border-radius: 8px;
    }
    
    .mail-empty i {
        font-size: 56px;
    }
    
    .mail-empty h3 {
        font-size: 18px;
    }
}

@media (min-width: 480px) and (max-width: 767px) {
/* ═══════════════════════════════════════════════════════════════════════════════
 * РАЗМЕРЫ КОЛОНОК ДЛЯ .tbl--smart-cells НА МОБИЛЬНОМ (480-767px)
 * ═══════════════════════════════════════════════════════════════════════════════ */
    
    .tbl--smart-cells.tbl--compact td, .tbl--smart-cells.tbl--compact th
 {
        padding: var(--space-2) var(--space-3) !important;
        min-height: 32px !important;
    }
    .tbl--smart-cells td .d-flex
 {
        flex-direction: column;
    }
    .tbl--smart-cells td .d-flex .btn, .tbl--smart-cells td .d-flex button
 {
        width: 100%;
        min-width: auto;
    }
    
    .tbl--smart-cells td, .tbl--smart-cells th
 {
        padding: 10px 8px !important;
        min-height: 36px !important;
        font-size: 12px !important;
        box-sizing: border-box !important;
    }
    
    .tbl--smart-cells colgroup col:nth-child(1)
 {
        width: 45% !important;
    }
    .tbl--smart-cells colgroup col:nth-child(2)
 {
        width: 15% !important;
    }
    .tbl--smart-cells colgroup col:nth-child(3)
 {
        width: 40% !important;
    }
    .tbl--smart-cells thead th
 {
        padding: 10px 8px !important;
    }
    .tbl--smart-cells i, .tbl--smart-cells .fas, .tbl--smart-cells .far, .tbl--smart-cells .fab
 {
        margin-right: 6px !important;
    }
    
}

@media (min-width: 360px) and (max-width: 767px) {
/* ═══════════════════════════════════════════════════════════════════════════════
 * ПОКАЗЫВАЕМ ТЕКСТ КНОПКИ "ФИЛЬТРЫ" НА ЭКРАНАХ ≥360px
 * ═══════════════════════════════════════════════════════════════════════════════ */
    .filter-toggle span
 {
        display: inline;
    }
    
}

/* === css_split_uni.py append @ 2026-04-03 21:34:37 === */

/* student-mail-portal-shell .mail-container — base-uni.css */

@media (max-width: 767px) and (hover: none) {
    .main-navigation li a:hover,
    .main-navigation li a:hover i,
    button:hover,
    .btn:hover,
    .copy-all-btn:hover,
    .footer-lang-btn:hover,
    .student-search-scroll-btn:hover
 {
        transform: none;
        box-shadow: none;
    }

    .main-navigation li a:active,
    button:active,
    .btn:active,
    .copy-all-btn:active,
    .footer-lang-btn:active,
    .student-search-scroll-btn:active
 {
        transform: scale(0.97);
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after
 {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        transform: none !important;
    }
}

@media (max-width: 767px) and (orientation: landscape) {
    body.verify-page .signature-pad
 {
        height: 120px;
    }
    body.verify-page #verifyForm .user-table td
 {
        padding: 6px;
    }
    body.verify-page #verifyForm h2
 {
        font-size: 18px;
        margin: 10px 0;
    }
    
}
