/* ИИ: порядок <link> — docs/css-cascade-order.md · ур.5 responsive: desktop-first. */
/* ==========================================================================
 * DESKTOP-UNI — desktop-only overrides (≥ 1024px)
 * Техническая логика для ИИ-ассистента:
 * - хранить здесь только large-screen размеры, column widths и desktop layout overrides;
 * - не дублировать base/common/tablet/mobile правила;
 * - desktop fixes для student/admin UI добавлять сюда, а не в новый `student.css`.
 * ========================================================================== */

@media (min-width: 1024px) {
    #student-nostrification-root .student-nostrification-card__header
 {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
    }
    #student-nostrification-root .student-nostrification-grid
 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    #student-nostrification-root .student-nostrification-actions .student-btn
 {
        width: auto;
        min-width: 220px;
    }
    #student-documents-portal-root .student-orders-table,
    #student-documents-portal-root .student-documents-table
 {
        table-layout: auto !important;
    }
    #student-documents-portal-root .student-orders-table th,
    #student-documents-portal-root .student-orders-table td,
    #student-documents-portal-root .student-documents-table th,
    #student-documents-portal-root .student-documents-table td
 {
        overflow: visible;
        text-overflow: clip;
        word-break: normal;
        overflow-wrap: break-word;
        white-space: normal;
    }
    #student-documents-portal-root .student-orders-table .student-col-order-doc,
    #student-documents-portal-root .student-orders-table th.student-col-order-doc,
    #student-documents-portal-root .student-orders-table td.student-col-order-doc
 {
        width: 18% !important;
        min-width: 180px;
    }
    #student-documents-portal-root .student-orders-table th:nth-child(2),
    #student-documents-portal-root .student-orders-table td:nth-child(2)
 {
        width: 16% !important;
        min-width: 150px;
    }
    #student-documents-portal-root .student-orders-table th:nth-child(9),
    #student-documents-portal-root .student-orders-table td:nth-child(9)
 {
        width: 12% !important;
        min-width: 190px;
    }

    /* Student cabinet desktop menu follows the curator header pattern: roomy multi-column cards,
       while mobile behavior stays in mobile-uni/mobile-small-uni. */
    .student-cabinet-navigation #head-icon-menu
 {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
        gap: var(--space-3);
        align-items: stretch;
    }
    .student-cabinet-navigation #head-icon-menu li
 {
        width: 100%;
        max-width: none;
        min-width: 0;
        flex: none;
    }
    .student-cabinet-navigation #head-icon-menu .menu-link
 {
        align-items: center;
        min-height: 56px;
        height: 100%;
        width: 100%;
        padding: 8px 14px;
        overflow: hidden;
        gap: 10px;
        border-radius: 14px;
    }
    .student-cabinet-navigation #head-icon-menu .menu-link i
 {
        width: 24px;
        height: 24px;
        min-width: 24px;
        text-align: center;
        align-self: center;
        font-size: 16px;
    }
    .student-cabinet-navigation #head-icon-menu .menu-link span
 {
        display: -webkit-box;
        margin-left: 0;
        font-size: 0.9rem;
        font-weight: 600;
        white-space: normal !important;
        word-break: normal;
        overflow-wrap: break-word;
        word-wrap: break-word;
        hyphens: none;
        text-overflow: clip;
        line-height: 1.15;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /*
     * Куратор / админ (.admin-head-navigation без student-cabinet-navigation):
     * без явной сетки ячейки могут сжимать подпись (flex:1 + min-width:0), текст «пропадает»,
     * а align-items: stretch тянут кнопки по высоте строки — визуально «узкие столбы».
     */
    .admin-head-navigation:not(.student-cabinet-navigation) #head-icon-menu
 {
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
        gap: var(--space-3);
        align-items: start;
    }
    .admin-head-navigation:not(.student-cabinet-navigation) #head-icon-menu li
 {
        width: 100%;
        max-width: none;
        min-width: 0;
    }
    .admin-head-navigation:not(.student-cabinet-navigation) #head-icon-menu .menu-link,
    .admin-head-navigation:not(.student-cabinet-navigation) #head-icon-menu a.menu-link
 {
        align-items: center;
        min-height: 56px;
        height: auto;
        width: 100%;
    }
    .admin-head-navigation:not(.student-cabinet-navigation) #head-icon-menu .menu-link span,
    .admin-head-navigation:not(.student-cabinet-navigation) #head-icon-menu a.menu-link span
 {
        display: block;
        flex: 1 1 auto;
        min-width: 0;
        overflow: visible;
        white-space: normal;
        word-break: normal;
        overflow-wrap: break-word;
        -webkit-line-clamp: unset;
        line-clamp: unset;
        -webkit-box-orient: unset;
    }

    .teams-delivered-section-header,
    .teams-table-header
 {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        text-align: left;
    }
    .teams-table-title,
    .teams-table-stats
 {
        width: auto;
        margin: 0;
    }
    .teams-table-stats
 {
        margin-left: auto;
        justify-content: flex-end;
    }
    :root
 {
        --form-card-padding: var(--space-6);
        --form-card-radius: 24px;
        --form-card-label-font-size: 0.95rem;
        --form-card-input-icon-offset: 14px;
        --form-card-input-icon-size: 1rem;
        --form-card-input-icon-box: 20px;
        --form-card-input-padding-left: calc(var(--space-4) * 3);
        --form-card-submit-font-size: 1.05rem;
        --form-card-submit-gap: var(--space-2);
        --form-inline-icon-min-height: 44px;
        --form-choice-chip-pad-y: 4px;
        --form-choice-chip-pad-x: 8px;
        --form-choice-chip-font-size: 11px;
        --form-choice-chip-min-height: 28px;
        --apostille-form-padding: 32px;
        --apostille-form-margin-y: 24px;
        --apostille-form-title-font-size: 24px;
        --apostille-form-title-margin-bottom: 28px;
        --apostille-form-group-gap: 24px;
        --apostille-radio-size: 20px;
        --apostille-control-font-size: 15px;
        --apostille-control-pad-y: 12px;
        --apostille-control-pad-x: 16px;
        --qr-select-min-width: 140px;
        --translation-label-font-size: 14px;
        --translation-icon-size: 16px;
        --input-font-size-lg: 15px;
        --input-padding-y-lg: 10px;
        --input-padding-x-lg: 14px;
        --input-radius: var(--form-radius-md, 8px);
        --specialty-form-gap: 20px;
        --specialty-form-padding: 20px;
        --specialty-form-section-padding: 20px;
        --specialty-form-footer-margin-top: 20px;
        --modal-overlay-padding: var(--space-6);
        --modal-card-padding: var(--space-6);
        --modal-card-radius: var(--radius-xl);
        --modal-dialog-width: 90%;
        --modal-dialog-max-width: 600px;
        --modal-dialog-max-height: 90vh;
        --modal-compact-min-width: 400px;
        --modal-compact-max-width: 400px;
        --modal-medium-max-width: 500px;
        --modal-large-max-width: 900px;
        --modal-content-large-max-width: 1200px;
        --modal-content-large-padding: var(--space-6);
        --modal-image-width: 60%;
        --modal-image-max-width: 400px;
        --modal-image-padding-top: 10%;
        --modal-header-gap: var(--space-3);
        --modal-header-margin-bottom: var(--space-5);
        --modal-header-padding-bottom: var(--space-4);
        --modal-title-font-size: var(--text-2xl);
        --modal-close-size: 44px;
        --modal-close-font-size: var(--text-2xl);
        --modal-footer-gap: var(--space-3);
        --modal-footer-margin-top: var(--space-5);
        --modal-action-pad-y: 15px;
        --modal-action-pad-x: 30px;
        --modal-action-font-size: var(--text-base);
        --modal-action-min-width: 140px;
        --modal-scoped-header-pad-y: 20px;
        --modal-scoped-header-pad-x: 25px;
        --modal-scoped-body-pad: 25px;
        --modal-scoped-body-max-h: 60vh;
        --card-title-font-size: 1.125rem;
        --card-title-margin-bottom: 20px;
        --card-title-padding-bottom: 10px;
        --card-header-padding-y: var(--space-5);
        --card-header-padding-x: var(--space-6);
        --card-body-padding: var(--space-6);
        --card-grid-min-width: calc(var(--space-16) * 3);
        --student-card-padding: var(--space-4);
        --student-card-margin-bottom: 20px;
        --student-card-heading-margin-bottom: 10px;
        --sys-container-max-width: 1200px;
        --sys-container-margin: 30px auto;
        --sys-container-padding: 20px;
        --sys-container-title-margin-bottom: 25px;
        --sys-container-title-font-size: 24px;
        --teams-student-card-padding: 20px;
        --teams-student-card-gap: 16px;
        --teams-card-header-gap: 16px;
        --teams-card-content-gap: 16px;
        --teams-card-content-padding-top: 12px;
        --teams-card-actions-gap: 8px;
        --summary-cards-min-width: 200px;
        --summary-cards-gap: var(--space-4);
        --summary-card-padding: var(--space-5);
        --pending-request-card-padding: 15px;
        --search-panel-padding: 20px;
        --search-panel-actions-gap: 10px;
        --debt-summary-card-padding: 20px;
        --debt-summary-card-margin: 20px 0;
        --debt-summary-card-icon-top: 15px;
        --debt-summary-card-icon-right: 15px;
        --debt-summary-card-icon-size: 24px;
        --payment-card-header-padding: 18px 20px 12px;
        --payment-card-title-font-size: 18px;
        --payment-card-title-gap: 10px;
        --payment-card-body-padding: 20px;
        --payment-result-card-padding: 40px;
        --donation-card-padding: 3rem;
        --donation-card-margin-bottom: 3rem;
        --donation-card-max-width: 600px;
        --donation-card-icon-size: 80px;
        --donation-card-icon-margin-bottom: 1.5rem;
        --donation-card-icon-font-size: 2.5rem;
        --donation-card-subtitle-margin-bottom: 2rem;
        --donation-card-title-font-size: 1.75rem;
        --common-curator-grid-min: 120px;
        --common-curator-grid-gap: 12px;
        --common-curator-grid-margin-top: 12px;
        --common-curator-grid-padding-y: 8px;
        --credentials-dialog-width: min(420px, 100%);
        --credentials-dialog-padding: 24px 24px 28px;
        --credentials-dialog-radius: 20px;
        --credentials-dialog-gap: 16px;
        --credentials-close-offset: 12px;
        --credentials-close-size: 38px;
        --credentials-close-font-size: 22px;
        --credentials-header-gap: 12px;
        --credentials-header-padding-right: 40px;
        --credentials-body-gap: 14px;
        --credentials-row-gap: 12px;
        --credentials-row-padding: 12px 14px;
        --credentials-row-radius: 12px;
        --credentials-title-font-size: 20px;
        --credentials-label-font-size: 13px;
        --credentials-value-font-size: 15px;
        --common-student-panel-padding: 1.2rem 1.5rem;
        --common-student-title-margin-bottom: 1rem;
        --common-student-title-font-size: 1.4rem;
        --common-student-title-padding: 0.5rem 1rem;
        --common-student-actions-gap: 0.5rem;
        --common-head-menu-gap: 10px;
        --common-head-menu-item-width: calc(20% - 10px);
        --common-head-menu-link-padding: 5px;
        --common-head-menu-link-radius: 15px;
        --common-head-menu-link-font-size: 12px;
        --common-head-menu-link-gap: 10px;
        --common-head-menu-icon-size: 30px;
        --common-head-menu-text-font-size: 11px;
        --common-detail-panel-padding: 20px;
        --common-detail-panel-margin: 10px 0;
        --common-detail-row-padding: 12px 0;
        --common-option-grid-min: 250px;
        --common-option-grid-gap: 20px;
        --common-option-grid-margin-bottom: 24px;
        --common-option-card-padding: 20px;
        --common-settings-group-gap: 24px;
        --common-settings-group-padding: 16px;
        --common-selection-block-gap: 10px;
        --common-selection-block-padding: 8px 12px;
        --common-translation-block-margin: 15px 0;
        --common-translation-block-padding: 8px;
        --common-quantity-width: 70px;
        --common-quantity-padding: 6px 10px;
        --common-quantity-font-size: 14px;
        --common-alert-max-width: 1200px;
        --common-alert-margin: 20px auto;
        --common-alert-padding: 15px 20px;
        --common-alert-font-size: 15px;
    }
    body .container.has-login
 {
        max-width: 1200px;
        padding: clamp(var(--main-space-md), 3.2vw, var(--main-space-lg));
    }
    body .container.has-login .login-container
 {
        width: 100%;
        max-width: min(560px, 100%);
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }
    body .container.has-login .login-statistics
 {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: stretch;
        gap: clamp(var(--main-space-md), 1.6vw, var(--main-space-lg));
    }
    body .container.has-login .login-stat-item
 {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        padding: clamp(var(--main-space-md), 1.4vw, var(--main-space-lg));
    }

    /* Таблицы: desktop ownership размеров */
    .table-container,
    .table-responsive,
    .container .table-responsive
 {
        width: 100%;
        margin: 0;
    }
    .user-table th, .user-table td,
    .orders-table th, .orders-table td,
    .admin-orders-table th, .admin-orders-table td
 {
        padding: 10px 12px;
        font-size: 14px;
    }
    .user-table img
 {
        width: 40px;
        height: 40px;
    }
    .user-table .student-index-cell
 {
        width: 5%;
        min-width: 40px;
    }
    .user-table .student-status-cell, .user-table .student-payment-cell, .user-table .student-credentials-cell
 {
        width: 7%;
        min-width: 52px;
    }
    .apostille-documents-table a
 {
        width: 40px;
        height: 40px;
    }
    .apostille-documents-table a i
 {
        font-size: 16px;
    }
    .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: 14px 16px;
        font-size: 14px;
    }
    .admin-orders-table .document-type, .admin-orders-table .delivery-type
 {
        padding: 6px 12px;
        font-size: 13px;
    }
    .lesson th, .lesson td,
    .receipt-table th, .receipt-table td,
    .admin-schools-table th, .admin-schools-table td
 {
        padding: 12px 15px;
        font-size: 14px;
    }
    .translation-table th
 {
        width: 150px;
    }
    .admin-table-empty
 {
        padding: 40px 20px !important;
    }
    .admin-table-empty i
 {
        font-size: 2em;
    }
    .admin-schools-table .admin-action-icon
 {
        width: 32px;
        height: 32px;
        font-size: 16px;
    }
    .curator-list-table
 {
        min-width: 750px;
    }
    .curator-list-table th, .curator-list-table td
 {
        font-size: 12px;
    }
    .curator-list-table th:nth-child(1), .curator-list-table td:nth-child(1)
 {
        width: 50px;
        min-width: 50px;
        max-width: 50px;
    }
    .curator-list-table th:nth-child(2), .curator-list-table td:nth-child(2)
 {
        width: 200px;
        min-width: 200px;
        max-width: 250px;
    }
    .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: 140px;
        min-width: 140px;
        max-width: 180px;
    }
    .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: 60px;
        min-width: 60px;
        max-width: 80px;
    }

    /* common-uni ownership moved: smart table desktop columns */
    .tbl--smart-cells colgroup col:nth-child(1)
 {
        width: 40%;
    }
    .tbl--smart-cells colgroup col:nth-child(2)
 {
        width: 20%;
    }
    .tbl--smart-cells colgroup col:nth-child(3)
 {
        width: 40%;
    }

    /* Почта: desktop-only ownership (≥1024px) */
    .mail-container,
    .mail-content,
    .mail-body
 {
        max-width: 1200px;
    }
    
}

@media (min-width: 1024px) and (max-width: 1199px) {
/* 1024–1199px: .action-icon между tablet 56px (≤1023) и 80px (≥1200) */
    .action-icon
 {
        width: 72px;
        height: 72px;
    }
    .action-icon img, .action-icon i
 {
        width: 36px;
        height: 36px;
    }
    
}

@media (min-width: 1200px) {
    .student-box-admin-info
 {
        flex: 2;
    }
    .student-box-admin-actions
 {
        flex: 1;
        justify-content: flex-start;
    }
    .action-icon
 {
        width: 80px;
        height: 80px;
    }
    .action-icon img, .action-icon i
 {
        width: 40px;
        height: 40px;
    }
    .curator-student-box-admin-info
 {
        flex: 2;
    }
    .curator-student-box-admin-actions
 {
        flex: 1;
        justify-content: flex-start;
    }
    .curator-action-icon
 {
        width: 72px;
        height: 72px;
    }
    .curator-action-icon img
 {
        width: 36px;
        height: 36px;
    }
    
}

@media (min-width: 1440px) {
/* === css_split_uni.py append @ 2026-04-03 10:24:52 === *//* ═══════════════════════════════════════════════════════════════════════════════
 * БОЛЬШИЕ ЭКРАНЫ (≥1440px) - Увеличенные иконки действий
 * ═══════════════════════════════════════════════════════════════════════════════ */
    
    .student-box-admin-actions
 {
        gap: var(--space-4);
    }
    .student-box-admin-actions .action-icon
 {
        width: 110px;
        height: 110px;
        min-width: 110px;
    }
    .student-box-admin-actions .action-icon img, .student-box-admin-actions .action-icon i
 {
        width: 55px;
        height: 55px;
    }
    .student-box-admin-actions .action-icon i
 {
        font-size: var(--text-3xl);
    }
    
}

@media (min-width: 1920px) {
/* ═══════════════════════════════════════════════════════════════════════════════
 * ОЧЕНЬ БОЛЬШИЕ ЭКРАНЫ (≥1920px) - Full HD и выше
 * ═══════════════════════════════════════════════════════════════════════════════ */
    
    .student-box-admin-actions
 {
        gap: var(--space-5);
        padding: var(--space-8) 0;
    }
    .student-box-admin-actions .action-icon
 {
        width: 140px;
        height: 140px;
        min-width: 140px;
    }
    .student-box-admin-actions .action-icon img, .student-box-admin-actions .action-icon i
 {
        width: 70px;
        height: 70px;
    }
    .student-box-admin-actions .action-icon i
 {
        font-size: var(--text-4xl);
    }
    

    .stats-container
 {
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        gap: var(--space-3);
        width: 100%;
    }
    .stat-value
 {
        font-size: var(--text-2xl);
    }
    .stat-icon
 {
        width: 40px;
        height: 40px;
        font-size: var(--text-lg);
    }
    .stat-label
 {
        font-size: 0.85rem;
    }
    
}

@media (min-width: 1280px) {
    .mail-content
 {
        padding: 20px;
    }
    .mail-nav-item
 {
        max-width: 200px;
    }
    
    .mail-item.sent-message, .mail-item.received-message
 {
        border-left-width: 4px;
        transition: all 0.3s ease;
    }
    .mail-type-indicator
 {
        padding: 5px 10px;
        font-size: 11px;
        transition: all 0.2s ease;
    }
    .mail-item.sent-message:hover .mail-type-indicator, .mail-item.received-message:hover .mail-type-indicator
 {
        transform: scale(1.05);
    }
    .mail-nav-menu
 {
        gap: 15px;
    }
    .mail-item
 {
        padding: 20px;
        margin-bottom: 20px;
    }
    
}

@media (min-width: 1024px) and (max-width: 1279px) {
/* === css_split_uni.py append @ 2026-04-03 21:34:33 === */

    .mail-content {
        padding: 20px;
    }
    .mail-nav-item {
        max-width: 180px;
    }


/* Desktop Medium (1024px - 1279px) */

    .mail-nav-menu {
        gap: 10px;
    }

    .mail-item {
        padding: 18px;
        margin-bottom: 18px;
    }
}
