/* /UI/Layout/PublicHeader.razor.rz.scp.css */
.public-header[b-abtzmqzimd] {
    position: sticky;
    top: 0;
    z-index: 100;
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: 1px solid rgba(23, 69, 163, 0.12);
}

.header-glass[b-abtzmqzimd] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0.75rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    position: relative;
}

/* Скрытые чекбоксы — носители состояния меню: открыть/закрыть без единой строчки JS. */
.nav-toggle[b-abtzmqzimd],
.dropdown-toggle[b-abtzmqzimd] {
    display: none;
}

.brand[b-abtzmqzimd] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: inherit;
    flex-shrink: 0;
}

.brand-logo[b-abtzmqzimd] {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.brand-text[b-abtzmqzimd] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.3;
}

.main-nav[b-abtzmqzimd] {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    flex: 1;
    justify-content: center;
}

.nav-link[b-abtzmqzimd] {
    font-size: 0.8125rem;
    color: #4b5563;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.15s ease;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    font-family: inherit;
}

    .nav-link:hover[b-abtzmqzimd] {
        color: #1745a3;
    }

.nav-dropdown[b-abtzmqzimd] {
    position: relative;
}

.nav-dropdown-trigger[b-abtzmqzimd] {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.dropdown-arrow[b-abtzmqzimd] {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform 0.2s ease;
}

.nav-dropdown-menu[b-abtzmqzimd] {
    position: absolute;
    top: calc(100% + 0.625rem);
    left: 50%;
    transform: translateX(-50%) translateY(-6px);
    background: rgba(255, 255, 255, 0.98);
    border: 1px solid rgba(23, 69, 163, 0.15);
    border-radius: 10px;
    min-width: 220px;
    padding: 0.375rem;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.dropdown-item[b-abtzmqzimd] {
    display: block;
    padding: 0.625rem 0.75rem;
    color: #374151;
    text-decoration: none;
    font-size: 0.8125rem;
    font-weight: 500;
    border-radius: 6px;
    transition: all 0.15s ease;
}

    .dropdown-item:hover[b-abtzmqzimd] {
        background: rgba(23, 69, 163, 0.06);
        color: #1745a3;
    }

@media (min-width: 1025px) {
    .nav-dropdown:hover .nav-dropdown-menu[b-abtzmqzimd] {
        opacity: 1;
        visibility: visible;
        transform: translateX(-50%) translateY(0);
    }

    .nav-dropdown:hover .dropdown-arrow[b-abtzmqzimd] {
        transform: rotate(-135deg) translateY(-2px);
    }
}

.btn-header[b-abtzmqzimd],
.btn-header-mobile[b-abtzmqzimd] {
    padding: 0.5rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 8px;
    border: none;
    background: linear-gradient(135deg, #1745a3 0%, #6366f1 100%);
    color: white;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(23, 69, 163, 0.25);
    transition: all 0.15s ease;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

    .btn-header:hover[b-abtzmqzimd],
    .btn-header-mobile:hover[b-abtzmqzimd] {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(23, 69, 163, 0.35);
    }

.btn-header[b-abtzmqzimd] {
    flex-shrink: 0;
}

.btn-header-mobile[b-abtzmqzimd] {
    display: none;
    width: 100%;
    margin-top: 0.5rem;
}

/* Мобильная шапка — до 1024px включительно, ровно там, где кончается раскрытие меню по
   наведению (min-width: 1025px выше). Семь пунктов и кнопка в одну строку помещаются только
   от ~1000px, а между 769 и 1024 меню «Студентам» раньше не открывалось вовсе. */
@media (max-width: 1024px) {
    .btn-header[b-abtzmqzimd] {
        display: none;
    }

    .btn-header-mobile[b-abtzmqzimd] {
        display: inline-flex;
    }
}

.burger[b-abtzmqzimd] {
    display: none;
    flex-direction: column;
    user-select: none;
    -webkit-user-select: none;
    justify-content: center;
    align-items: center;
    gap: 4px;
    width: 34px;
    height: 34px;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 0;
    border-radius: 8px;
    transition: background 0.15s ease;
}

    .burger:hover[b-abtzmqzimd] {
        background: rgba(23, 69, 163, 0.06);
    }

.burger-line[b-abtzmqzimd] {
    display: block;
    width: 20px;
    height: 2px;
    background-color: #1a1a2e;
    border-radius: 2px;
    transition: all 0.25s ease;
    transform-origin: center;
}

@media (max-width: 1024px) {
    .header-glass[b-abtzmqzimd] {
        padding: 0.625rem 1rem;
        gap: 0.5rem;
    }

    .brand-text[b-abtzmqzimd] {
        font-size: 0.75rem;
    }

    .burger[b-abtzmqzimd] {
        display: flex;
        order: 3;
    }

    .main-nav[b-abtzmqzimd] {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        background: rgba(255, 255, 255, 0.98);
        border-bottom: 1px solid rgba(23, 69, 163, 0.12);
        padding: 0.5rem;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-8px);
        transition: all 0.2s ease;
        pointer-events: none;
    }

        .nav-toggle:checked ~ .main-nav[b-abtzmqzimd] {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            pointer-events: auto;
        }

    .nav-link[b-abtzmqzimd] {
        padding: 0.75rem 0.875rem;
        font-size: 0.875rem;
        color: #1a1a2e;
        border-radius: 8px;
        width: 100%;
        text-align: left;
    }

        .nav-link:hover[b-abtzmqzimd] {
            background: rgba(23, 69, 163, 0.06);
            color: #1745a3;
        }

    .nav-dropdown[b-abtzmqzimd] {
        width: 100%;
    }

    .nav-dropdown-trigger[b-abtzmqzimd] {
        width: 100%;
        justify-content: space-between;
        padding: 0.75rem 0.875rem;
        font-size: 0.875rem;
        color: #1a1a2e;
        border-radius: 8px;
    }

        .nav-dropdown-trigger:hover[b-abtzmqzimd] {
            background: rgba(23, 69, 163, 0.06);
        }

    .dropdown-toggle:checked ~ .nav-dropdown-trigger .dropdown-arrow[b-abtzmqzimd] {
        transform: rotate(-135deg) translateY(-2px);
    }

    .nav-dropdown-menu[b-abtzmqzimd] {
        position: static;
        transform: none;
        background: transparent;
        border: none;
        border-radius: 0;
        box-shadow: none;
        padding: 0 0 0 0.875rem;
        min-width: 0;
        margin-top: 0.125rem;
        max-height: 0;
        overflow: hidden;
        opacity: 1;
        visibility: visible;
        transition: max-height 0.25s ease;
    }

        .dropdown-toggle:checked ~ .nav-dropdown-menu[b-abtzmqzimd] {
            max-height: 300px;
        }

    .dropdown-item[b-abtzmqzimd] {
        padding: 0.5rem 0.875rem;
        font-size: 0.8125rem;
        color: #4b5563;
    }
}

@media (max-width: 480px) {
    .brand-text[b-abtzmqzimd] {
        font-size: 0.6875rem;
    }

    .header-glass[b-abtzmqzimd] {
        padding: 0.5rem 0.75rem;
    }
}
/* /UI/Pages/Public/About.razor.rz.scp.css */
.hero-glass[b-a7mjb7npfp] {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(23, 69, 163, 0.15);
    border-radius: 12px;
    padding: 2rem 1.75rem;
}

.hero-breadcrumbs[b-a7mjb7npfp] {
    font-size: 0.75rem;
    margin-bottom: 1rem;
}

.hero-title[b-a7mjb7npfp] {
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin-bottom: 0.5rem;
}

.hero-subtitle[b-a7mjb7npfp] {
    font-size: 0.9375rem;
    line-height: 1.55;
}

.glass-card[b-a7mjb7npfp] {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(23, 69, 163, 0.15);
    border-radius: 12px;
    padding: 1.25rem;
    box-shadow: none;
    transition: none;
}

    .glass-card:hover[b-a7mjb7npfp] {
        transform: none;
        box-shadow: none;
    }

.card-header[b-a7mjb7npfp] {
    margin-bottom: 0.875rem;
}

.card-tag[b-a7mjb7npfp] {
    font-size: 0.6875rem;
    padding: 0.1875rem 0.625rem;
    background: rgba(23, 69, 163, 0.08);
    color: #1745a3;
    border: 1px solid rgba(23, 69, 163, 0.15);
    border-radius: 100px;
}

.section-header[b-a7mjb7npfp] {
    margin-bottom: 1rem;
    margin-top: 0.5rem;
}

.section-number[b-a7mjb7npfp] {
    font-size: 0.75rem;
}

.section-title[b-a7mjb7npfp] {
    font-size: 1.125rem;
    font-weight: 700;
    color: #1a1a2e;
}

.bento-grid[b-a7mjb7npfp] {
    gap: 1rem;
    margin-bottom: 2rem;
}

.bento-intro[b-a7mjb7npfp] {
    grid-template-columns: 2fr 1fr;
}

.bento-leadership[b-a7mjb7npfp] {
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: auto auto;
}

.bento-deanery[b-a7mjb7npfp] {
    grid-template-columns: repeat(5, 1fr);
}

.bento-departments[b-a7mjb7npfp] {
    grid-template-columns: repeat(3, 1fr);
}

.bento-directions[b-a7mjb7npfp] {
    grid-template-columns: repeat(4, 1fr);
}

.glass-card-about[b-a7mjb7npfp] {
    grid-row: span 1;
}

.about-text[b-a7mjb7npfp] {
    font-size: 0.875rem;
    color: #374151;
    line-height: 1.6;
    margin-bottom: 0.875rem;
}

    .about-text:last-child[b-a7mjb7npfp] {
        margin-bottom: 0;
    }

.facts-list[b-a7mjb7npfp] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.fact-row[b-a7mjb7npfp] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(23, 69, 163, 0.08);
}

    .fact-row:last-child[b-a7mjb7npfp] {
        border-bottom: none;
    }

.fact-value[b-a7mjb7npfp] {
    font-size: 1.375rem;
    font-weight: 700;
    color: #1745a3;
    letter-spacing: -0.01em;
    font-variant-numeric: tabular-nums;
}

.fact-label[b-a7mjb7npfp] {
    font-size: 0.75rem;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.glass-card-director[b-a7mjb7npfp] {
    grid-row: span 2;
}

.person-main[b-a7mjb7npfp] {
    display: flex;
    gap: 1.25rem;
    align-items: flex-start;
}

.person-compact[b-a7mjb7npfp] {
    display: flex;
    gap: 0.875rem;
    align-items: center;
}

.person-info[b-a7mjb7npfp] {
    flex: 1;
    min-width: 0;
}

.person-name[b-a7mjb7npfp] {
    font-size: 1.0625rem;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 0.25rem;
    line-height: 1.3;
}

.person-compact .person-name[b-a7mjb7npfp] {
    font-size: 0.9375rem;
}

.person-position[b-a7mjb7npfp] {
    font-size: 0.8125rem;
    color: #1745a3;
    font-weight: 600;
    margin-bottom: 0.25rem;
    text-transform: lowercase;
}

.person-compact .person-position[b-a7mjb7npfp] {
    font-size: 0.75rem;
}

.person-details[b-a7mjb7npfp] {
    font-size: 0.8125rem;
    color: #6b7280;
    margin-bottom: 0.625rem;
}

.person-compact .person-details[b-a7mjb7npfp] {
    font-size: 0.75rem;
    margin-bottom: 0;
}

.person-contacts[b-a7mjb7npfp] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem;
    margin-top: 0.75rem;
}

.contact-chip[b-a7mjb7npfp] {
    display: inline-block;
    padding: 0.25rem 0.625rem;
    background: rgba(23, 69, 163, 0.06);
    border: 1px solid rgba(23, 69, 163, 0.15);
    border-radius: 100px;
    font-size: 0.75rem;
    color: #1745a3;
    font-weight: 500;
}

.department-name[b-a7mjb7npfp] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.3;
    margin-bottom: 0.625rem;
}

.department-head[b-a7mjb7npfp] {
    font-size: 0.75rem;
    color: #6b7280;
    line-height: 1.5;
}

.direction-code[b-a7mjb7npfp] {
    font-size: 0.8125rem;
    font-weight: 700;
    color: #1745a3;
    font-variant-numeric: tabular-nums;
    margin-bottom: 0.375rem;
    letter-spacing: 0.01em;
}

.direction-name[b-a7mjb7npfp] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.3;
    margin-bottom: 0.625rem;
}

.direction-level[b-a7mjb7npfp] {
    display: inline-block;
    padding: 0.1875rem 0.5625rem;
    background: rgba(23, 69, 163, 0.08);
    border: 1px solid rgba(23, 69, 163, 0.15);
    border-radius: 100px;
    font-size: 0.625rem;
    color: #1745a3;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.direction-profile[b-a7mjb7npfp] {
    font-size: 0.8125rem;
    color: #6b7280;
    line-height: 1.5;
    margin: 0.375rem 0 0.625rem;
}

.direction-meta[b-a7mjb7npfp] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3125rem;
    margin-top: 0.75rem;
    margin-bottom: 0.625rem;
}

.direction-chip[b-a7mjb7npfp] {
    display: inline-flex;
    align-items: center;
    padding: 0.1875rem 0.5625rem;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(23, 69, 163, 0.15);
    border-radius: 100px;
    font-size: 0.6875rem;
    color: #4b5563;
    font-weight: 500;
}

.glass-card-staff-curator[b-a7mjb7npfp] {
    position: relative;
    border-left: 3px solid #16a34a;
    background: rgba(22, 163, 74, 0.04);
}

    .glass-card-staff-curator .person-position[b-a7mjb7npfp] {
        color: #16a34a;
    }

    .glass-card-staff-curator:hover[b-a7mjb7npfp] {
        background: rgba(22, 163, 74, 0.07);
    }

.card-link[b-a7mjb7npfp] {
    display: inline-flex;
    align-items: center;
    gap: 0.3125rem;
    margin-top: 0.75rem;
    font-size: 0.75rem;
    color: #1745a3;
    text-decoration: none;
    font-weight: 600;
    transition: transform 0.15s ease;
}

    .card-link:hover[b-a7mjb7npfp] {
        transform: translateX(3px);
    }

.card-link-arrow[b-a7mjb7npfp] {
    display: inline-block;
    font-size: 0.8125rem;
}

.person-photo-wrapper[b-a7mjb7npfp] {
    width: 96px;
    height: 96px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    border: 2px solid rgba(255, 255, 255, 0.8);
    background: linear-gradient(135deg, #1745a3 0%, #6366f1 100%);
}

.person-photo[b-a7mjb7npfp] {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.bento-laboratories[b-a7mjb7npfp] {
    grid-template-columns: repeat(2, 1fr);
}

.laboratory-name[b-a7mjb7npfp] {
    font-size: 0.9375rem;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.3;
    margin-bottom: 0.625rem;
}

.laboratory-head[b-a7mjb7npfp] {
    font-size: 0.8125rem;
    color: #1745a3;
    font-weight: 600;
    margin-bottom: 0.625rem;
    line-height: 1.5;
}

.laboratory-description[b-a7mjb7npfp] {
    font-size: 0.8125rem;
    color: #6b7280;
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 1200px) {
    .bento-deanery[b-a7mjb7npfp] {
        grid-template-columns: repeat(3, 1fr);
    }

    .bento-directions[b-a7mjb7npfp] {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 1024px) {
    .bento-intro[b-a7mjb7npfp] {
        grid-template-columns: 1fr;
    }

    .bento-leadership[b-a7mjb7npfp] {
        grid-template-columns: 1fr 1fr;
    }

    .glass-card-director[b-a7mjb7npfp] {
        grid-column: span 2;
        grid-row: span 1;
    }

    .bento-departments[b-a7mjb7npfp] {
        grid-template-columns: repeat(2, 1fr);
    }

    .bento-directions[b-a7mjb7npfp] {
        grid-template-columns: repeat(2, 1fr);
    }

    .bento-laboratories[b-a7mjb7npfp] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .bento-deanery[b-a7mjb7npfp] {
        grid-template-columns: repeat(2, 1fr);
    }

    .bento-leadership[b-a7mjb7npfp] {
        grid-template-columns: 1fr;
    }

    .glass-card-director[b-a7mjb7npfp] {
        grid-column: span 1;
    }

    .person-main[b-a7mjb7npfp] {
        flex-direction: column;
    }

    .person-photo-wrapper[b-a7mjb7npfp] {
        width: 84px;
        height: 84px;
    }

    .hero-title[b-a7mjb7npfp] {
        font-size: 1.375rem;
    }

    .hero-glass[b-a7mjb7npfp] {
        padding: 1.5rem 1.25rem;
    }
}

@media (max-width: 640px) {
    .bento-deanery[b-a7mjb7npfp],
    .bento-departments[b-a7mjb7npfp],
    .bento-directions[b-a7mjb7npfp] {
        grid-template-columns: 1fr;
    }
}
/* /UI/Pages/Public/Index.razor.rz.scp.css */
/* Карточки главной — без backdrop-filter: размытие под каждой карточкой нагружает слабые
   телефоны, а на мягком фоне сайта полупрозрачная заливка выглядит почти так же. */

.demo-notice[b-pfv1baptq2] {
    background: rgba(245, 158, 11, 0.12);
    border-bottom: 1px solid rgba(245, 158, 11, 0.3);
    color: #92400e;
    font-size: 0.8125rem;
    padding: 0.5rem 0;
}

/* ---------- Кнопки ----------
   В стиле остальных кнопок сайта — шапки («Войти») и кабинета: скругление 8px, градиент
   #1745a3 → #6366f1 с лёгкой тенью и подъёмом на 1px при наведении; вторичная — белая
   с синей рамкой и синим текстом. Глобальный .btn из app.css сюда не подходит: он
   крупнее, со скруглением 6px и масштабированием при наведении. */

.home-btn[b-pfv1baptq2] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    padding: 0.625rem 1.25rem;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    border-radius: 8px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.home-btn-primary[b-pfv1baptq2] {
    border: none;
    background: linear-gradient(135deg, #1745a3 0%, #6366f1 100%);
    color: #ffffff;
    box-shadow: 0 2px 8px rgba(23, 69, 163, 0.25);
}

    .home-btn-primary:hover[b-pfv1baptq2] {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(23, 69, 163, 0.35);
    }

.home-btn-secondary[b-pfv1baptq2] {
    border: 1px solid rgba(23, 69, 163, 0.2);
    background: rgba(255, 255, 255, 0.9);
    color: #1745a3;
}

    .home-btn-secondary:hover[b-pfv1baptq2] {
        background: rgba(23, 69, 163, 0.08);
    }

/* ---------- Первый экран ---------- */

.home-hero[b-pfv1baptq2] {
    padding: 2.5rem 0 1rem;
}

.hero-card[b-pfv1baptq2] {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 28px;
    padding: 3rem;
    box-shadow: 0 4px 24px rgba(23, 69, 163, 0.06);
}

.home-title[b-pfv1baptq2] {
    font-size: 2.75rem;
    font-weight: 300;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #1a1a2e;
    margin: 0 0 1rem;
}

.home-title-accent[b-pfv1baptq2] {
    font-weight: 600;
    background: linear-gradient(90deg, #1745a3 0%, #6366f1 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.hero-lead[b-pfv1baptq2] {
    font-size: 1.125rem;
    line-height: 1.6;
    color: #4b5563;
    max-width: 640px;
    margin: 0 0 1.75rem;
}

.hero-actions[b-pfv1baptq2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

/* Если кнопки не влезают в строку, каждая растягивается на всю ширину — вместо двух
   кнопок разной длины на разных строках. */
@media (max-width: 640px) {
    .hero-actions .home-btn[b-pfv1baptq2] {
        flex: 1 1 140px;
    }
}

.hero-announcement[b-pfv1baptq2] {
    margin-top: 1.75rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 1rem;
    padding: 0.875rem 1.125rem;
    background: rgba(23, 69, 163, 0.06);
    border: 1px solid rgba(23, 69, 163, 0.12);
    border-radius: 14px;
    font-size: 0.9375rem;
    color: #1a1a2e;
}

.hero-announcement-link[b-pfv1baptq2] {
    color: #1745a3;
    font-weight: 600;
    white-space: nowrap;
}

    .hero-announcement-link:hover[b-pfv1baptq2] {
        text-decoration: underline;
    }

/* ---------- Общее для секций ---------- */

.home-section[b-pfv1baptq2] {
    padding: 1.5rem 0;
}

.home-section-last[b-pfv1baptq2] {
    padding-bottom: 4rem;
}

.home-section-title[b-pfv1baptq2] {
    font-size: 1.5rem;
    font-weight: 300;
    letter-spacing: -0.01em;
    color: #1a1a2e;
    margin: 0 0 1rem;
}

.section-head[b-pfv1baptq2] {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

    .section-head .home-section-title[b-pfv1baptq2] {
        margin: 0;
    }

.section-link[b-pfv1baptq2] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1745a3;
    white-space: nowrap;
}

    .section-link:hover[b-pfv1baptq2] {
        text-decoration: underline;
    }

.home-card[b-pfv1baptq2] {
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(23, 69, 163, 0.1);
    border-radius: 20px;
    padding: 1.25rem 1.375rem;
}

.card-link[b-pfv1baptq2] {
    display: block;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

    .card-link:hover[b-pfv1baptq2] {
        border-color: rgba(23, 69, 163, 0.3);
        transform: translateY(-2px);
    }

.card-label[b-pfv1baptq2] {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #6b7280;
    margin-bottom: 0.625rem;
}

.card-action[b-pfv1baptq2] {
    font-size: 0.875rem;
    font-weight: 600;
    color: #1745a3;
}

    .card-action:hover[b-pfv1baptq2] {
        text-decoration: underline;
    }

.empty-text[b-pfv1baptq2] {
    color: #6b7280;
    font-size: 0.9375rem;
    margin: 0;
}

a:focus-visible[b-pfv1baptq2],
button:focus-visible[b-pfv1baptq2],
select:focus-visible[b-pfv1baptq2] {
    outline: 2px solid #1745a3;
    outline-offset: 2px;
}

/* ---------- Сегодня ---------- */

.today-grid[b-pfv1baptq2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.week-number[b-pfv1baptq2] {
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.1;
    color: #1a1a2e;
}

.week-range[b-pfv1baptq2] {
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: #6b7280;
    font-variant-numeric: tabular-nums;
}

.week-color[b-pfv1baptq2] {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-top: 0.875rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: #1a1a2e;
}

.week-dot[b-pfv1baptq2] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #1a1a2e;
}

/* Красный — тот же, что в расписании кабинета (Schedule.razor: WeekColor.Red). */
.week-red .week-dot[b-pfv1baptq2] {
    background: #dc2626;
}

.week-red .week-color-text[b-pfv1baptq2] {
    color: #dc2626;
}

.highlight-card[b-pfv1baptq2] {
    background: rgba(23, 69, 163, 0.05);
    border-color: rgba(23, 69, 163, 0.22);
}

.highlight-title[b-pfv1baptq2] {
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.35;
    color: #1a1a2e;
    margin: 0 0 0.375rem;
}

.highlight-text[b-pfv1baptq2] {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #4b5563;
    margin: 0 0 0.75rem;
}

.schedule-form[b-pfv1baptq2] {
    display: flex;
    gap: 0.5rem;
}

/* Под выбором группы — вход в полное расписание для преподавателей и остальных фильтров. */
.schedule-more[b-pfv1baptq2] {
    display: inline-block;
    margin-top: 0.75rem;
}

.schedule-select[b-pfv1baptq2] {
    flex: 1;
    min-width: 0;
    padding: 0.625rem 0.75rem;
    font: inherit;
    font-size: 0.9375rem;
    color: #1a1a2e;
    background: #ffffff;
    border: 1px solid rgba(23, 69, 163, 0.18);
    border-radius: 8px;
}

/* ---------- Новости и анонсы ---------- */

.news-layout[b-pfv1baptq2] {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 1.5rem;
}

/* Осталась одна колонка (новостей или анонсов нет) — она занимает всю ширину. */
.news-layout-single[b-pfv1baptq2] {
    grid-template-columns: minmax(0, 1fr);
}

.news-featured[b-pfv1baptq2] {
    display: block;
}

    .news-featured:hover .news-featured-title[b-pfv1baptq2] {
        color: #1745a3;
    }

.news-cover[b-pfv1baptq2] {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: 14px;
    margin-bottom: 1rem;
}

.news-date[b-pfv1baptq2] {
    display: block;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6b7280;
}

.news-featured-title[b-pfv1baptq2] {
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.3;
    color: #1a1a2e;
    margin: 0.375rem 0 0.5rem;
    transition: color 0.15s ease;
}

.news-summary[b-pfv1baptq2] {
    font-size: 0.9375rem;
    line-height: 1.55;
    color: #4b5563;
    margin: 0;
}

.news-list[b-pfv1baptq2] {
    list-style: none;
    padding: 0;
    margin: 1.25rem 0 0;
}

.news-list-link[b-pfv1baptq2] {
    display: block;
    padding: 0.875rem 0 0.125rem;
    border-top: 1px solid rgba(23, 69, 163, 0.08);
}

    .news-list-link:hover .news-list-title[b-pfv1baptq2] {
        color: #1745a3;
    }

.news-list li + li .news-list-link[b-pfv1baptq2] {
    margin-top: 0.625rem;
}

.news-list-title[b-pfv1baptq2] {
    display: block;
    margin-top: 0.125rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: #1a1a2e;
    transition: color 0.15s ease;
}

.events-list[b-pfv1baptq2] {
    list-style: none;
    padding: 0;
    margin: 0;
}

    .events-list li + li .event-link[b-pfv1baptq2] {
        border-top: 1px solid rgba(23, 69, 163, 0.08);
    }

.event-link[b-pfv1baptq2] {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    padding: 0.75rem 0;
}

.events-list li:first-child .event-link[b-pfv1baptq2] {
    padding-top: 0;
}

.events-list li:last-child .event-link[b-pfv1baptq2] {
    padding-bottom: 0;
}

    .event-link:hover .event-title[b-pfv1baptq2] {
        color: #1745a3;
    }

.event-date[b-pfv1baptq2] {
    flex-shrink: 0;
    width: 3.25rem;
    padding: 0.375rem 0;
    text-align: center;
    background: rgba(23, 69, 163, 0.07);
    border-radius: 12px;
}

.event-day[b-pfv1baptq2] {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.1;
    color: #1745a3;
}

.event-month[b-pfv1baptq2] {
    display: block;
    font-size: 0.6875rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #1745a3;
}

.event-body[b-pfv1baptq2] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
    min-width: 0;
}

.event-title[b-pfv1baptq2] {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.35;
    color: #1a1a2e;
    transition: color 0.15s ease;
}

.event-meta[b-pfv1baptq2] {
    font-size: 0.8125rem;
    color: #6b7280;
}

/* Событие без ссылки не должно вести себя как ссылка (общее правило для «Анонсов»). */
div.event-link:hover .event-title[b-pfv1baptq2] {
    color: #1a1a2e;
}

/* ---------- Жизнь института ---------- */

.life-grid[b-pfv1baptq2] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 0.875rem;
}

.life-title[b-pfv1baptq2] {
    font-size: 1.0625rem;
    font-weight: 600;
    color: #1a1a2e;
    margin-bottom: 0.25rem;
}

.life-text[b-pfv1baptq2] {
    font-size: 0.875rem;
    line-height: 1.5;
    color: #4b5563;
}

.social-links[b-pfv1baptq2] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.social-link[b-pfv1baptq2] {
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 0.375rem 0.75rem;
    color: #1745a3;
    background: #ffffff;
    border: 1px solid rgba(23, 69, 163, 0.18);
    border-radius: 999px;
    transition: border-color 0.15s ease;
}

    .social-link:hover[b-pfv1baptq2] {
        border-color: rgba(23, 69, 163, 0.4);
    }

/* ---------- Адаптив ---------- */

@media (max-width: 1024px) {
    .news-layout[b-pfv1baptq2] {
        grid-template-columns: minmax(0, 1fr);
    }

    .home-title[b-pfv1baptq2] {
        font-size: 2.25rem;
    }
}

@media (max-width: 640px) {
    .home-hero[b-pfv1baptq2] {
        padding-top: 1.25rem;
    }

    .hero-card[b-pfv1baptq2] {
        padding: 1.75rem 1.25rem;
        border-radius: 22px;
    }

    .home-title[b-pfv1baptq2] {
        font-size: 1.75rem;
    }

    .hero-lead[b-pfv1baptq2] {
        font-size: 1rem;
    }

    .home-section-title[b-pfv1baptq2] {
        font-size: 1.3rem;
    }

    .schedule-form[b-pfv1baptq2] {
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .card-link[b-pfv1baptq2],
    .home-btn[b-pfv1baptq2],
    .news-featured-title[b-pfv1baptq2],
    .news-list-title[b-pfv1baptq2],
    .event-title[b-pfv1baptq2],
    .social-link[b-pfv1baptq2] {
        transition: none;
    }

        .card-link:hover[b-pfv1baptq2],
        .home-btn-primary:hover[b-pfv1baptq2] {
            transform: none;
        }
}
/* /UI/Pages/Public/Login.razor.rz.scp.css */
.login-page[b-up5czacb5p] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3rem 1.5rem 5rem;
    min-height: 70vh;
}

.login-shell[b-up5czacb5p] {
    width: 100%;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.login-back[b-up5czacb5p] {
    align-self: center;
    font-size: 0.8125rem;
    font-weight: 500;
    color: #6b7280;
    transition: color 0.15s ease;
}

    .login-back:hover[b-up5czacb5p] {
        color: #1745a3;
    }

@media (max-width: 640px) {
    .login-page[b-up5czacb5p] {
        padding: 2rem 1rem 3.5rem;
    }
}
/* /UI/Pages/Public/Schedule.razor.rz.scp.css */
/* Расписание — плотная таблица без украшений: белый лист, тонкие линии, мелкий, но
   читаемый шрифт. Акцент — синий сайта #1745a3, цвета типов занятий — как в ЛК.
   Телефон — до 719px: дни вкладками, фильтры сворачиваются после выбора. */

.sch[b-sx9a5tc2v9] {
    --sch-accent: #1745a3;
    --sch-accent-soft: #eef2fb;
    --sch-text: #111827;
    --sch-muted: #6b7280;
    --sch-faint: #9ca3af;
    --sch-line: #e6e9f0;
    --sch-line-strong: #d3d9e5;
    --sch-head: #f5f7fa;
    padding: 1.5rem 0 3rem;
    color: var(--sch-text);
}

.sch-card[b-sx9a5tc2v9] {
    background: #ffffff;
    border: 1px solid var(--sch-line-strong);
    border-radius: 8px;
}

a:focus-visible[b-sx9a5tc2v9],
select:focus-visible[b-sx9a5tc2v9],
label:focus-visible[b-sx9a5tc2v9] {
    outline: 2px solid var(--sch-accent);
    outline-offset: 2px;
}

.sch-visually-hidden[b-sx9a5tc2v9] {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* ---------- Заголовок ---------- */

.sch-head[b-sx9a5tc2v9] {
    margin-bottom: 1rem;
}

.sch-kicker[b-sx9a5tc2v9] {
    margin: 0 0 0.25rem;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--sch-muted);
}

.sch-title[b-sx9a5tc2v9] {
    margin: 0;
    font-size: 1.75rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.015em;
    overflow-wrap: anywhere;
}

.sch-subtitle[b-sx9a5tc2v9] {
    max-width: 820px;
    margin: 0.25rem 0 0;
    font-size: 0.875rem;
    line-height: 1.45;
    color: var(--sch-muted);
}

.sch-notice[b-sx9a5tc2v9] {
    margin: 0 0 0.75rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.8125rem;
    color: #92400e;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 6px;
}

.sch-continue[b-sx9a5tc2v9] {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.25rem 0.375rem;
    margin-bottom: 0.75rem;
    font-size: 0.875rem;
    color: var(--sch-accent);
}

.sch-continue-label[b-sx9a5tc2v9] {
    color: var(--sch-muted);
}

.sch-continue-title[b-sx9a5tc2v9] {
    font-weight: 600;
}

    .sch-continue:hover .sch-continue-title[b-sx9a5tc2v9] {
        text-decoration: underline;
    }

/* ---------- Фильтры ---------- */

.sch-filters[b-sx9a5tc2v9] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.sch-field[b-sx9a5tc2v9] {
    min-width: 0;
}

/* Свой треугольник вместо системного: одинаково во всех браузерах и не налезает на длинное
   название дисциплины. */
.sch-select[b-sx9a5tc2v9] {
    width: 100%;
    min-width: 0;
    height: 2.25rem;
    padding: 0 2rem 0 0.625rem;
    font: inherit;
    font-size: 0.875rem;
    color: var(--sch-text);
    text-overflow: ellipsis;
    background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.75rem center / 10px 6px;
    border: 1px solid var(--sch-line-strong);
    border-radius: 6px;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

    .sch-select:hover[b-sx9a5tc2v9] {
        border-color: #b7c0d1;
    }

    /* Выбранный фильтр видно сразу — без чтения всех четырёх списков. */
    .sch-select.is-set[b-sx9a5tc2v9] {
        font-weight: 600;
        color: var(--sch-accent);
        background-color: var(--sch-accent-soft);
        border-color: rgba(23, 69, 163, 0.35);
    }

.sch-filter-actions[b-sx9a5tc2v9] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.sch-reset[b-sx9a5tc2v9] {
    padding: 0 0.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--sch-accent);
    white-space: nowrap;
}

    .sch-reset:hover[b-sx9a5tc2v9] {
        text-decoration: underline;
    }

/* Переключатель фильтров есть только на телефоне (см. ниже). */
.sch-filters-open[b-sx9a5tc2v9] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.sch-filters-toggle[b-sx9a5tc2v9] {
    display: none;
}

/* ---------- Кнопки и сообщения ---------- */

.sch-btn[b-sx9a5tc2v9] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.375rem;
    height: 2.25rem;
    padding: 0 1rem;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    color: #ffffff;
    background: var(--sch-accent);
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

    .sch-btn:hover[b-sx9a5tc2v9] {
        background: #123a8a;
    }

.sch-message[b-sx9a5tc2v9] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 1rem 1.125rem;
}

.sch-message-title[b-sx9a5tc2v9] {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
}

.sch-message-text[b-sx9a5tc2v9] {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5;
    color: var(--sch-muted);
}

/* ---------- Неделя ---------- */

.sch-toolbar[b-sx9a5tc2v9] {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    margin-bottom: 0.75rem;
}

.sch-weeknav[b-sx9a5tc2v9] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.sch-weeknav-btn[b-sx9a5tc2v9] {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    font-size: 1.25rem;
    line-height: 1;
    color: var(--sch-accent);
    background: #ffffff;
    border: 1px solid var(--sch-line-strong);
    border-radius: 6px;
}

    .sch-weeknav-btn:hover[b-sx9a5tc2v9] {
        background: var(--sch-accent-soft);
    }

    .sch-weeknav-btn.is-disabled[b-sx9a5tc2v9] {
        color: #c7cbd4;
        background: transparent;
    }

.sch-weeknav-info[b-sx9a5tc2v9] {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0 0.75rem;
    padding: 0 0.5rem;
}

.sch-weeknav-title[b-sx9a5tc2v9] {
    display: inline-flex;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 0.9375rem;
    font-weight: 600;
}

.sch-weekcolor[b-sx9a5tc2v9] {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
}

.sch-weekcolor-dot[b-sx9a5tc2v9] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

/* Красный — тот же, что в расписании кабинета и на главной. */
.sch-weekcolor.is-red[b-sx9a5tc2v9] {
    color: #dc2626;
}

.sch-weeknav-range[b-sx9a5tc2v9] {
    font-size: 0.8125rem;
    color: var(--sch-muted);
    font-variant-numeric: tabular-nums;
}

.sch-today-link[b-sx9a5tc2v9] {
    display: inline-flex;
    align-items: center;
    height: 2rem;
    padding: 0 0.75rem;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--sch-accent);
    background: #ffffff;
    border: 1px solid var(--sch-line-strong);
    border-radius: 6px;
}

    .sch-today-link:hover[b-sx9a5tc2v9] {
        background: var(--sch-accent-soft);
    }

/* ---------- Таблица: общее для экрана и телефона ---------- */

/* Носители выбранного дня: видимы только скринридеру и клавиатуре. */
.sch-day-radio[b-sx9a5tc2v9] {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.sch-daytabs[b-sx9a5tc2v9],
.sch-daymode[b-sx9a5tc2v9] {
    display: none;
}

.sch-table[b-sx9a5tc2v9] {
    font-size: 0.8125rem;
    line-height: 1.3;
}

    .sch-table th[b-sx9a5tc2v9] {
        font-weight: inherit;
        text-align: left;
    }

.day-name[b-sx9a5tc2v9] {
    font-weight: 700;
}

.day-date[b-sx9a5tc2v9] {
    font-weight: 400;
    color: var(--sch-muted);
}

.day-today[b-sx9a5tc2v9] {
    margin-left: 0.5rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--sch-accent);
}

.pair[b-sx9a5tc2v9] {
    display: flex;
    align-items: baseline;
    gap: 0.375rem;
}

.pair-num[b-sx9a5tc2v9] {
    min-width: 0.625rem;
    font-weight: 700;
}

.pair-time[b-sx9a5tc2v9] {
    display: flex;
    flex-direction: column;
    font-size: 0.6875rem;
    font-weight: 400;
    line-height: 1.25;
    color: var(--sch-muted);
    font-variant-numeric: tabular-nums;
}

.r-pair.is-now .pair-num[b-sx9a5tc2v9],
.r-pair.is-now .pair-time[b-sx9a5tc2v9] {
    color: var(--sch-accent);
}

.cell-window[b-sx9a5tc2v9] {
    font-size: 0.75rem;
    color: var(--sch-faint);
}

/* Подпись группы в ячейке — только на телефоне, где названий столбцов нет. */
.cell-label[b-sx9a5tc2v9] {
    display: none;
}

/* Пустая пара группы под отменой — как в ЛК: «Занятий нет» и причина. */
.cell-off-title[b-sx9a5tc2v9],
.none-title[b-sx9a5tc2v9],
.none-empty[b-sx9a5tc2v9] {
    display: block;
    font-weight: 600;
    color: var(--sch-muted);
}

.cell-off-reason[b-sx9a5tc2v9],
.none-reason[b-sx9a5tc2v9] {
    display: block;
    font-size: 0.75rem;
    color: var(--sch-muted);
}

.none-reason + .none-title[b-sx9a5tc2v9] {
    margin-top: 0.375rem;
}

/* Подгруппы делят ячейку пополам; в узком столбце половины встают друг под друга. */
.cell-split[b-sx9a5tc2v9] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.375rem 0.75rem;
}

.cell-half[b-sx9a5tc2v9] {
    flex: 1 1 8rem;
    min-width: 0;
}

.half-free[b-sx9a5tc2v9] {
    font-size: 0.75rem;
    color: var(--sch-faint);
}

/* ---------- Занятие ---------- */

/* Тип — цветным словом, как в ЛК: видно, не вчитываясь. */
.lsn[b-sx9a5tc2v9] {
    --sch-type: var(--sch-muted);
    overflow-wrap: anywhere;
}

    .lsn + .lsn[b-sx9a5tc2v9] {
        margin-top: 0.375rem;
        padding-top: 0.375rem;
        border-top: 1px dashed var(--sch-line);
    }

.t-lecture[b-sx9a5tc2v9] {
    --sch-type: #1745a3;
}

.t-seminar[b-sx9a5tc2v9] {
    --sch-type: #7e22ce;
}

.t-lab[b-sx9a5tc2v9] {
    --sch-type: #0d9488;
}

.t-practical[b-sx9a5tc2v9] {
    --sch-type: #c2410c;
}

.t-self[b-sx9a5tc2v9] {
    --sch-type: #be185d;
}

.lsn-disc[b-sx9a5tc2v9] {
    font-weight: 600;
}

.lsn-meta[b-sx9a5tc2v9] {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.5rem;
    margin-top: 0.0625rem;
    font-size: 0.75rem;
    color: var(--sch-muted);
}

.lsn-type[b-sx9a5tc2v9] {
    font-weight: 600;
    color: var(--sch-type);
}

.lsn-room[b-sx9a5tc2v9] {
    color: var(--sch-text);
    white-space: nowrap;
}

.lsn-sub[b-sx9a5tc2v9] {
    white-space: nowrap;
}

.lsn-teachers a[b-sx9a5tc2v9] {
    color: inherit;
}

    .lsn-teachers a:hover[b-sx9a5tc2v9] {
        color: var(--sch-accent);
        text-decoration: underline;
    }

.lsn.is-cancelled .lsn-disc[b-sx9a5tc2v9] {
    color: var(--sch-faint);
    text-decoration: line-through;
}

.lsn-cancel[b-sx9a5tc2v9] {
    margin-top: 0.125rem;
    font-size: 0.75rem;
    font-weight: 600;
    color: #b91c1c;
}

/* ---------- Таблица на экране: как в ЛК ---------- */

@media (min-width: 720px) {
    /* Узкую таблицу (одна-две группы) не растягиваем на весь экран: столбцу хватает 20rem. */
    .sch-table-wrap[b-sx9a5tc2v9] {
        max-width: calc(4.75rem + var(--sch-cols, 1) * 20rem + 2px);
        overflow-x: auto;
        background: #ffffff;
        border: 1px solid var(--sch-line-strong);
        border-radius: 8px;
    }

        /* Таблица нескольких групп — окно высотой в экран без шапки сайта: листается и вниз, и
           вбок, а шапка с группами и номер пары остаются на месте, как в электронной таблице.
           Полоса прокрутки вбок при этом всегда на экране, а не под последним днём. */
        .sch-table-wrap:not(.is-single)[b-sx9a5tc2v9] {
            max-height: calc(100vh - 5rem);
            max-height: calc(100dvh - 5rem);
            overflow: auto;
        }

        .sch-table-wrap.is-single[b-sx9a5tc2v9] {
            max-width: 46rem;
        }

    .sch-table[b-sx9a5tc2v9] {
        width: 100%;
        /* Столбцу группы — не уже 9rem, иначе названия дисциплин рассыпаются по слогам. */
        min-width: calc(4.75rem + var(--sch-cols, 1) * 9rem);
        border-collapse: separate;
        border-spacing: 0;
        table-layout: fixed;
    }

    .is-single .sch-table[b-sx9a5tc2v9] {
        min-width: 0;
    }

    .col-pair[b-sx9a5tc2v9] {
        width: 4.75rem;
    }

        .sch-table th[b-sx9a5tc2v9],
        .sch-table td[b-sx9a5tc2v9] {
            padding: 0.375rem 0.5rem;
            text-align: left;
            vertical-align: top;
            border-bottom: 1px solid var(--sch-line);
        }

        .sch-table td[b-sx9a5tc2v9],
        .sch-table .c-col[b-sx9a5tc2v9] {
            border-left: 1px solid var(--sch-line);
        }

        /* Номер пары закреплён слева; фон непрозрачный — листающиеся ячейки уходят под него. */
        .sch-table .c-pair[b-sx9a5tc2v9] {
            position: sticky;
            left: 0;
            z-index: 1;
            background: #ffffff;
            box-shadow: inset -1px 0 0 var(--sch-line);
        }

        /* Справа у закреплённой ячейки уже есть линия (тень) — своя граница у соседа лишняя. */
        .sch-table .c-pair + td[b-sx9a5tc2v9],
        .sch-table .c-pair + .c-col[b-sx9a5tc2v9] {
            border-left: 0;
        }

    /* Шапка с группами — одна на всю таблицу и закреплена сверху. */
    .sch-table thead th[b-sx9a5tc2v9] {
        position: sticky;
        top: 0;
        z-index: 2;
        padding-top: 0.4375rem;
        padding-bottom: 0.4375rem;
        font-size: 0.75rem;
        font-weight: 600;
        color: var(--sch-accent);
        background: var(--sch-head);
        border-bottom: 1px solid var(--sch-line-strong);
        overflow-wrap: anywhere;
    }

        /* Угол над номерами пар — поверх и шапки, и столбца пар. */
        .sch-table thead .c-pair[b-sx9a5tc2v9] {
            z-index: 3;
            background: var(--sch-head);
        }

        .sch-table thead a[b-sx9a5tc2v9] {
            color: inherit;
        }

            .sch-table thead a:hover[b-sx9a5tc2v9] {
                text-decoration: underline;
            }

    /* Строка дня — дата на всю ширину таблицы. */
    .sch-table .c-day[b-sx9a5tc2v9] {
        padding-top: 0.3125rem;
        padding-bottom: 0.3125rem;
        font-size: 0.75rem;
        background: var(--sch-head);
        border-top: 1px solid var(--sch-line-strong);
    }

    .sch-tday:first-of-type .c-day[b-sx9a5tc2v9] {
        border-top: 0;
    }

    .sch-tday.is-today .c-day[b-sx9a5tc2v9] {
        color: var(--sch-accent);
        background: var(--sch-accent-soft);
    }

    /* Дата, «Занятий нет» и «окно» в строке на всю ширину остаются видны, сколько ни листай вбок. */
    .day-inner[b-sx9a5tc2v9],
    .none-inner[b-sx9a5tc2v9],
    .cell-window[b-sx9a5tc2v9] {
        position: sticky;
        left: 0.5rem;
        display: inline-block;
    }

    .cell-window[b-sx9a5tc2v9] {
        left: 5.25rem;
    }

    .sch-tday:last-child > tr:last-child > *[b-sx9a5tc2v9] {
        border-bottom: 0;
    }

    /* Прошедшие дни текущей недели и прошедшие пары сегодня отходят на второй план.
       У закреплённой ячейки пары прозрачным делаем только содержимое — иначе сквозь неё
       просвечивали бы ячейки, уехавшие под неё. */
    .sch-tday.is-past .c-cell[b-sx9a5tc2v9],
    .sch-tday.is-past .c-none[b-sx9a5tc2v9],
    .sch-tday.is-past .pair[b-sx9a5tc2v9],
    .r-pair.is-past > .c-cell[b-sx9a5tc2v9],
    .r-pair.is-past .pair[b-sx9a5tc2v9] {
        opacity: 0.5;
    }

    .r-pair:hover > *[b-sx9a5tc2v9] {
        background-color: #fafbfd;
    }

    .sch-table .r-pair.is-now > *[b-sx9a5tc2v9] {
        background-color: var(--sch-accent-soft);
    }

    /* Пустая пара под отменой — заштрихована, как в ЛК. */
    .sch-table .c-cell.is-off[b-sx9a5tc2v9],
    .sch-table .c-none.has-notes[b-sx9a5tc2v9] {
        background-image: repeating-linear-gradient(135deg, #eef1f6 0 3px, transparent 3px 7px);
    }

    .sch-table .c-none[b-sx9a5tc2v9] {
        color: var(--sch-faint);
    }
}

/* ---------- Адаптив ---------- */

@media (max-width: 1099px) {
    .sch-filters[b-sx9a5tc2v9] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sch-filter-actions[b-sx9a5tc2v9] {
        grid-column: 1 / -1;
    }

        .sch-filter-actions:not(:has(a))[b-sx9a5tc2v9] {
            display: none;
        }
}

@media (max-width: 719px) {
    .sch[b-sx9a5tc2v9] {
        padding: 1rem 0 2.5rem;
    }

    .sch-title[b-sx9a5tc2v9] {
        font-size: 1.375rem;
    }

    .sch-subtitle[b-sx9a5tc2v9] {
        font-size: 0.8125rem;
    }

        /* Длинное направление с профилем обрезаем до двух строк: курс стоит первым и виден всегда. */
        .sch-subtitle.is-clamped[b-sx9a5tc2v9] {
            display: -webkit-box;
            overflow: hidden;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
        }

    /* Фильтры: два столбца — группа и курс, преподаватель и дисциплина; после выбора
       свёрнуты за кнопкой «Изменить выбор». */
    .sch-filters[b-sx9a5tc2v9] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "group course"
            "teacher discipline"
            "actions actions";
        gap: 0.375rem;
    }

    .sch-field-group[b-sx9a5tc2v9] {
        grid-area: group;
    }

    .sch-field-course[b-sx9a5tc2v9] {
        grid-area: course;
    }

    .sch-field-teacher[b-sx9a5tc2v9] {
        grid-area: teacher;
    }

    .sch-field-discipline[b-sx9a5tc2v9] {
        grid-area: discipline;
    }

    .sch-filter-actions[b-sx9a5tc2v9] {
        grid-area: actions;
        justify-content: flex-end;
    }

    /* 16px — иначе iOS при нажатии на список приближает страницу. */
    .sch-select[b-sx9a5tc2v9] {
        height: 2.5rem;
        font-size: 16px;
    }

    .sch-filters-toggle[b-sx9a5tc2v9] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        width: 100%;
        height: 2.5rem;
        margin-bottom: 0.5rem;
        padding: 0 0.625rem 0 0.75rem;
        font-size: 0.875rem;
        font-weight: 600;
        color: var(--sch-accent);
        background: #ffffff;
        border: 1px solid var(--sch-line-strong);
        border-radius: 6px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .sch-filters-count[b-sx9a5tc2v9] {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.375rem;
        height: 1.375rem;
        padding: 0 0.375rem;
        font-size: 0.75rem;
        background: var(--sch-accent-soft);
        border-radius: 100px;
    }

    .sch-filters-open:not(:checked) ~ .sch-filters[b-sx9a5tc2v9] {
        display: none;
    }

    .sch-filters-open:checked ~ .sch-filters-toggle[b-sx9a5tc2v9] {
        border-color: rgba(23, 69, 163, 0.45);
    }

    .sch-filters-open:focus-visible ~ .sch-filters-toggle[b-sx9a5tc2v9] {
        outline: 2px solid var(--sch-accent);
        outline-offset: 2px;
    }

    /* Неделя — во всю ширину, «Сегодня» — отдельной строкой справа. */
    .sch-toolbar[b-sx9a5tc2v9] {
        margin-bottom: 0.5rem;
    }

    .sch-weeknav[b-sx9a5tc2v9] {
        flex: 1 1 100%;
        justify-content: space-between;
    }

    .sch-weeknav-btn[b-sx9a5tc2v9] {
        width: 2.5rem;
        height: 2.5rem;
    }

    .sch-weeknav-info[b-sx9a5tc2v9] {
        flex-direction: column;
        align-items: center;
        min-width: 0;
        padding: 0 0.25rem;
        text-align: center;
    }

    .sch-today-link[b-sx9a5tc2v9] {
        margin-left: auto;
    }

    /* Когда под неделей есть дни, «Сегодня» стоит в строке «Вся неделя» — минус строка до пар. */
    .sch-toolbar.has-days .sch-today-link[b-sx9a5tc2v9] {
        display: none;
    }

    /* Дни — вкладками: один день на экране, «Вся неделя» — все подряд. */
    .sch-daytabs[b-sx9a5tc2v9] {
        display: grid;
        grid-template-columns: repeat(var(--sch-days, 6), minmax(0, 1fr));
        gap: 0.25rem;
        margin-bottom: 0.25rem;
    }

    .sch-daytab[b-sx9a5tc2v9] {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0.3125rem 0 0.5rem;
        background: #ffffff;
        border: 1px solid var(--sch-line-strong);
        border-radius: 6px;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .sch-daytab-name[b-sx9a5tc2v9] {
        font-size: 0.6875rem;
        font-weight: 600;
        color: var(--sch-muted);
    }

    .sch-daytab-date[b-sx9a5tc2v9] {
        font-size: 0.9375rem;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
    }

    /* Точка — в этот день есть пары. */
    .sch-daytab.has-lessons[b-sx9a5tc2v9]::after {
        content: "";
        position: absolute;
        bottom: 0.1875rem;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: var(--sch-accent);
    }

    .sch-daytab.is-today[b-sx9a5tc2v9] {
        border-color: var(--sch-accent);
    }

    #sch-day-0:checked ~ .sch-daytabs [for="sch-day-0"][b-sx9a5tc2v9],
    #sch-day-1:checked ~ .sch-daytabs [for="sch-day-1"][b-sx9a5tc2v9],
    #sch-day-2:checked ~ .sch-daytabs [for="sch-day-2"][b-sx9a5tc2v9],
    #sch-day-3:checked ~ .sch-daytabs [for="sch-day-3"][b-sx9a5tc2v9],
    #sch-day-4:checked ~ .sch-daytabs [for="sch-day-4"][b-sx9a5tc2v9],
    #sch-day-5:checked ~ .sch-daytabs [for="sch-day-5"][b-sx9a5tc2v9],
    #sch-day-6:checked ~ .sch-daytabs [for="sch-day-6"][b-sx9a5tc2v9] {
        background: var(--sch-accent);
        border-color: var(--sch-accent);
    }

        #sch-day-0:checked ~ .sch-daytabs [for="sch-day-0"] *[b-sx9a5tc2v9],
        #sch-day-1:checked ~ .sch-daytabs [for="sch-day-1"] *[b-sx9a5tc2v9],
        #sch-day-2:checked ~ .sch-daytabs [for="sch-day-2"] *[b-sx9a5tc2v9],
        #sch-day-3:checked ~ .sch-daytabs [for="sch-day-3"] *[b-sx9a5tc2v9],
        #sch-day-4:checked ~ .sch-daytabs [for="sch-day-4"] *[b-sx9a5tc2v9],
        #sch-day-5:checked ~ .sch-daytabs [for="sch-day-5"] *[b-sx9a5tc2v9],
        #sch-day-6:checked ~ .sch-daytabs [for="sch-day-6"] *[b-sx9a5tc2v9] {
            color: #ffffff;
        }

        #sch-day-0:checked ~ .sch-daytabs [for="sch-day-0"][b-sx9a5tc2v9]::after,
        #sch-day-1:checked ~ .sch-daytabs [for="sch-day-1"][b-sx9a5tc2v9]::after,
        #sch-day-2:checked ~ .sch-daytabs [for="sch-day-2"][b-sx9a5tc2v9]::after,
        #sch-day-3:checked ~ .sch-daytabs [for="sch-day-3"][b-sx9a5tc2v9]::after,
        #sch-day-4:checked ~ .sch-daytabs [for="sch-day-4"][b-sx9a5tc2v9]::after,
        #sch-day-5:checked ~ .sch-daytabs [for="sch-day-5"][b-sx9a5tc2v9]::after,
        #sch-day-6:checked ~ .sch-daytabs [for="sch-day-6"][b-sx9a5tc2v9]::after {
            background: #ffffff;
        }

    #sch-day-0:focus-visible ~ .sch-daytabs [for="sch-day-0"][b-sx9a5tc2v9],
    #sch-day-1:focus-visible ~ .sch-daytabs [for="sch-day-1"][b-sx9a5tc2v9],
    #sch-day-2:focus-visible ~ .sch-daytabs [for="sch-day-2"][b-sx9a5tc2v9],
    #sch-day-3:focus-visible ~ .sch-daytabs [for="sch-day-3"][b-sx9a5tc2v9],
    #sch-day-4:focus-visible ~ .sch-daytabs [for="sch-day-4"][b-sx9a5tc2v9],
    #sch-day-5:focus-visible ~ .sch-daytabs [for="sch-day-5"][b-sx9a5tc2v9],
    #sch-day-6:focus-visible ~ .sch-daytabs [for="sch-day-6"][b-sx9a5tc2v9],
    #sch-day-all:focus-visible ~ .sch-daymode label[b-sx9a5tc2v9] {
        outline: 2px solid var(--sch-accent);
        outline-offset: 2px;
    }

    .sch-daymode[b-sx9a5tc2v9] {
        display: flex;
        align-items: center;
        margin-bottom: 0.25rem;
    }

        .sch-daymode label[b-sx9a5tc2v9],
        .sch-daymode-today[b-sx9a5tc2v9] {
            padding: 0.375rem 0;
            font-size: 0.8125rem;
            font-weight: 600;
            color: var(--sch-accent);
            cursor: pointer;
        }

        .sch-daymode label[b-sx9a5tc2v9] {
            margin-left: auto;
        }

    #sch-day-all:checked ~ .sch-daymode .sch-daymode-all[b-sx9a5tc2v9],
    #sch-day-all:not(:checked) ~ .sch-daymode .sch-daymode-days[b-sx9a5tc2v9] {
        display: none;
    }

    /* Таблица по дню: пара слева, занятия справа. Названий групп над столбцами тут нет,
       поэтому в таблице нескольких групп группа подписана в самой ячейке (.cell-label), а
       пустые ячейки скрыты. Каждый день — свой лист; на экране — только выбранный. */
    .sch-table[b-sx9a5tc2v9],
    .sch-table tbody[b-sx9a5tc2v9],
    .sch-table tr[b-sx9a5tc2v9],
    .sch-table th[b-sx9a5tc2v9],
    .sch-table td[b-sx9a5tc2v9] {
        display: block;
    }

    .sch-table colgroup[b-sx9a5tc2v9],
    .sch-table thead[b-sx9a5tc2v9] {
        display: none;
    }

    .sch-table[b-sx9a5tc2v9] {
        font-size: 0.875rem;
    }

    /* Сильнее, чем «.sch-table tbody» выше: иначе видны были бы все дни сразу. */
    .sch-table .sch-tday[b-sx9a5tc2v9] {
        display: none;
        margin-bottom: 0.5rem;
        overflow: hidden;
        background: #ffffff;
        border: 1px solid var(--sch-line-strong);
        border-radius: 8px;
    }

    #sch-day-0:checked ~ .sch-table-wrap .sch-day-0[b-sx9a5tc2v9],
    #sch-day-1:checked ~ .sch-table-wrap .sch-day-1[b-sx9a5tc2v9],
    #sch-day-2:checked ~ .sch-table-wrap .sch-day-2[b-sx9a5tc2v9],
    #sch-day-3:checked ~ .sch-table-wrap .sch-day-3[b-sx9a5tc2v9],
    #sch-day-4:checked ~ .sch-table-wrap .sch-day-4[b-sx9a5tc2v9],
    #sch-day-5:checked ~ .sch-table-wrap .sch-day-5[b-sx9a5tc2v9],
    #sch-day-6:checked ~ .sch-table-wrap .sch-day-6[b-sx9a5tc2v9],
    #sch-day-all:checked ~ .sch-table-wrap .sch-tday[b-sx9a5tc2v9] {
        display: block;
    }

    /* Заголовок дня. */
    .sch-table .r-day[b-sx9a5tc2v9] {
        display: flex;
        flex-wrap: wrap;
        align-items: baseline;
        background: var(--sch-head);
        border-bottom: 1px solid var(--sch-line);
    }

    .sch-table .c-day[b-sx9a5tc2v9] {
        flex: 1 1 auto;
        padding: 0.4375rem 0.75rem;
    }

    .day-date[b-sx9a5tc2v9] {
        margin-left: 0.25rem;
    }

    .day-today[b-sx9a5tc2v9] {
        float: right;
        margin-top: 0.125rem;
    }

    .sch-tday.is-today .r-day[b-sx9a5tc2v9] {
        background: var(--sch-accent-soft);
    }

    .sch-table .c-none[b-sx9a5tc2v9] {
        padding: 0.5rem 0.75rem;
        color: var(--sch-faint);
    }

    /* Номер пары тянется на столько строк, сколько в паре видимых ячеек (--sch-rows задаёт разметка). */
    .sch-table tr.r-pair[b-sx9a5tc2v9] {
        display: grid;
        grid-template-columns: 2.5rem minmax(0, 1fr);
        column-gap: 0.625rem;
        row-gap: 0.5rem;
        padding: 0.5rem 0.75rem;
        border-top: 1px solid var(--sch-line);
    }

    .sch-table .r-day + .r-pair[b-sx9a5tc2v9] {
        border-top: 0;
    }

    .sch-table .c-pair[b-sx9a5tc2v9] {
        grid-column: 1;
        grid-row: 1 / span var(--sch-rows, 1);
    }

    .pair[b-sx9a5tc2v9] {
        flex-direction: column;
        align-items: center;
        gap: 0.125rem;
    }

    .pair-num[b-sx9a5tc2v9] {
        font-size: 0.9375rem;
    }

    .sch-table .c-cell[b-sx9a5tc2v9] {
        grid-column: 2;
        min-width: 0;
    }

        .sch-table .c-cell.is-empty[b-sx9a5tc2v9] {
            display: none;
        }

    .sch-table .c-window[b-sx9a5tc2v9] {
        align-self: center;
    }

    .lsn-meta[b-sx9a5tc2v9] {
        font-size: 0.8125rem;
    }

    .cell-label[b-sx9a5tc2v9] {
        display: block;
        margin-bottom: 0.0625rem;
        font-size: 0.75rem;
        font-weight: 700;
        color: var(--sch-accent);
    }

    .sch-table .c-cell.is-off[b-sx9a5tc2v9],
    .sch-table .c-none.has-notes[b-sx9a5tc2v9] {
        background-image: repeating-linear-gradient(135deg, #eef1f6 0 3px, transparent 3px 7px);
    }

    .sch-table .c-cell.is-off[b-sx9a5tc2v9] {
        padding: 0.375rem 0.5rem;
        border-radius: 6px;
    }

    /* Идущая сейчас пара — подсвеченной строкой, прошедшие сегодня — приглушённые. */
    .sch-table tr.r-pair.is-now[b-sx9a5tc2v9] {
        background: var(--sch-accent-soft);
    }

    .sch-table tr.r-pair.is-past > *[b-sx9a5tc2v9] {
        opacity: 0.5;
    }
}

@media print {
    .sch-filters[b-sx9a5tc2v9],
    .sch-filters-toggle[b-sx9a5tc2v9],
    .sch-continue[b-sx9a5tc2v9],
    .sch-weeknav-btn[b-sx9a5tc2v9],
    .sch-today-link[b-sx9a5tc2v9],
    .sch-daytabs[b-sx9a5tc2v9],
    .sch-daymode[b-sx9a5tc2v9] {
        display: none !important;
    }

    .sch-table-wrap[b-sx9a5tc2v9] {
        max-width: none !important;
        max-height: none !important;
        overflow: visible !important;
        border: 0 !important;
    }

    .sch-table .c-pair[b-sx9a5tc2v9],
    .sch-table thead th[b-sx9a5tc2v9],
    .day-inner[b-sx9a5tc2v9],
    .none-inner[b-sx9a5tc2v9],
    .cell-window[b-sx9a5tc2v9] {
        position: static !important;
    }

    .sch-tday[b-sx9a5tc2v9] {
        break-inside: avoid;
    }

    .sch-tday.is-past .c-cell[b-sx9a5tc2v9],
    .sch-tday.is-past .pair[b-sx9a5tc2v9],
    .r-pair.is-past > .c-cell[b-sx9a5tc2v9],
    .r-pair.is-past .pair[b-sx9a5tc2v9] {
        opacity: 1 !important;
    }
}
/* /UI/Shared/AuthWindow.razor.rz.scp.css */
.auth-window[b-whbujsm3mq] {
	padding: 2.5rem;
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(30px) saturate(150%);
	-webkit-backdrop-filter: blur(30px) saturate(150%);
	border-radius: 28px;
	border: 1px solid rgba(255, 255, 255, 0.8);
	box-shadow: 0 8px 32px rgba(23, 69, 163, 0.12), 0 2px 8px rgba(0, 0, 0, 0.05), inset 0 1px 0 rgba(255, 255, 255, 0.9);
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.auth-header[b-whbujsm3mq] {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}

.auth-title[b-whbujsm3mq] {
	font-size: 1.5rem;
	font-weight: 600;
	color: #1a1a2e;
	margin: 0;
}

.auth-subtitle[b-whbujsm3mq] {
	font-size: 0.8125rem;
	color: #6b7280;
	margin: 0;
}

.auth-form[b-whbujsm3mq] {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.auth-footer[b-whbujsm3mq] {
	text-align: center;
	font-size: 0.75rem;
	color: #6b7280;
	padding-top: 0.5rem;
	border-top: 1px solid rgba(23, 69, 163, 0.08);
}

@media (max-width: 480px) {
	.auth-window[b-whbujsm3mq] {
		padding: 2rem 1.5rem;
	}

	.auth-title[b-whbujsm3mq] {
		font-size: 1.25rem;
	}
}

.btn-primary[b-whbujsm3mq] {
	padding: 0.625rem 2rem;
	font-size: 0.9375rem;
	font-weight: 600;
	border-radius: 8px;
	border: none;
	background: linear-gradient(135deg, #1745a3 0%, #6366f1 100%);
	color: white;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(23, 69, 163, 0.25);
	transition: all 0.15s ease;
}

	.btn-primary:hover:not(:disabled)[b-whbujsm3mq] {
		transform: translateY(-1px);
		box-shadow: 0 4px 12px rgba(23, 69, 163, 0.35);
	}

	.btn-primary:disabled[b-whbujsm3mq] {
		opacity: 0.6;
		cursor: not-allowed;
	}

.auth-remembered[b-whbujsm3mq] {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.5rem;
}

	.auth-remembered .btn-primary[b-whbujsm3mq] {
		width: 100%;
	}

	.auth-remembered .auth-error[b-whbujsm3mq] {
		width: 100%;
		margin-bottom: 0.5rem;
	}

.remembered-avatar[b-whbujsm3mq] {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.375rem;
	font-weight: 700;
	color: #ffffff;
	background: linear-gradient(135deg, #1745a3 0%, #6366f1 100%);
	box-shadow: 0 4px 16px rgba(23, 69, 163, 0.25);
	margin-bottom: 0.5rem;
}

.remembered-hint[b-whbujsm3mq] {
	font-size: 0.8125rem;
	color: #6b7280;
	margin: 0;
}

.remembered-name[b-whbujsm3mq] {
	font-size: 1.125rem;
	font-weight: 600;
	color: #1a1a2e;
	margin: 0 0 0.75rem;
}

.btn-link[b-whbujsm3mq] {
	background: none;
	border: none;
	color: #1745a3;
	font-size: 0.8125rem;
	font-weight: 600;
	cursor: pointer;
	padding: 0.5rem;
	font-family: inherit;
}

	.btn-link:hover:not(:disabled)[b-whbujsm3mq] {
		text-decoration: underline;
	}

	.btn-link:disabled[b-whbujsm3mq] {
		opacity: 0.5;
		cursor: not-allowed;
	}

.auth-error[b-whbujsm3mq] {
	padding: 0.75rem 1rem;
	background: rgba(220, 38, 38, 0.08);
	border: 1px solid rgba(220, 38, 38, 0.2);
	border-radius: 12px;
	color: #b91c1c;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
}
/* /UI/Shared/Footer.razor.rz.scp.css */
.site-footer[b-t5ahdhdz6k] {
    padding: 1.5rem 1rem 1rem;
    margin-top: 1.5rem;
}

.footer-glass[b-t5ahdhdz6k] {
    max-width: 1400px;
    margin: 0 auto;
    padding: 1.5rem;
    background: rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(23, 69, 163, 0.1);
    border-radius: 12px;
}

.footer-grid[b-t5ahdhdz6k] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
}

.footer-column[b-t5ahdhdz6k] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer-title[b-t5ahdhdz6k] {
    font-size: 0.6875rem;
    font-weight: 700;
    color: #1745a3;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin: 0;
}

.footer-contacts[b-t5ahdhdz6k] {
    font-style: normal;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.contact-row[b-t5ahdhdz6k] {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.contact-label[b-t5ahdhdz6k] {
    font-size: 0.6875rem;
    color: #9ca3af;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-weight: 600;
}

.contact-value[b-t5ahdhdz6k] {
    font-size: 0.8125rem;
    color: #1a1a2e;
    font-weight: 500;
}

.footer-schedule[b-t5ahdhdz6k] {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.schedule-row[b-t5ahdhdz6k] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.375rem 0;
    border-bottom: 1px solid rgba(23, 69, 163, 0.08);
}

    .schedule-row:last-of-type[b-t5ahdhdz6k] {
        border-bottom: none;
    }

.schedule-days[b-t5ahdhdz6k] {
    font-size: 0.8125rem;
    color: #1a1a2e;
    font-weight: 500;
}

.schedule-time[b-t5ahdhdz6k] {
    font-size: 0.8125rem;
    color: #1745a3;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}

.schedule-row-weekend .schedule-days[b-t5ahdhdz6k],
.schedule-row-weekend .schedule-time[b-t5ahdhdz6k] {
    color: #9ca3af;
    font-weight: 500;
}

.schedule-note[b-t5ahdhdz6k] {
    margin-top: 0.375rem;
    font-size: 0.75rem;
    color: #6b7280;
    font-style: italic;
}

.footer-social[b-t5ahdhdz6k] {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.social-icons[b-t5ahdhdz6k] {
    display: flex;
    gap: 0.625rem;
}

.social-link[b-t5ahdhdz6k] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(23, 69, 163, 0.15);
    color: #4b5563;
    transition: all 0.15s ease;
}

    .social-link:hover[b-t5ahdhdz6k] {
        background: rgba(23, 69, 163, 0.08);
        border-color: rgba(23, 69, 163, 0.25);
        color: #1745a3;
    }

.social-icon[b-t5ahdhdz6k] {
    width: 18px;
    height: 18px;
}

@media (max-width: 768px) {
    .footer-glass[b-t5ahdhdz6k] {
        padding: 1.25rem 1rem;
    }

    .footer-grid[b-t5ahdhdz6k] {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }
}
/* /UI/Shared/UnderConstruction.razor.rz.scp.css */
.construction-page[b-oc85qfhadq] {
    min-height: calc(100vh - 200px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 0;
}

.construction-glass[b-oc85qfhadq] {
    text-align: center;
    max-width: 560px;
    margin: 0 auto;
    padding: 2.5rem 2rem;
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(23, 69, 163, 0.15);
    border-radius: 12px;
}

.construction-icon[b-oc85qfhadq] {
    width: 56px;
    height: 56px;
    margin: 0 auto 1.25rem;
    color: #1745a3;
    animation: float-b-oc85qfhadq 3s ease-in-out infinite;
}

    .construction-icon svg[b-oc85qfhadq] {
        width: 100%;
        height: 100%;
    }

.construction-title[b-oc85qfhadq] {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1a1a2e;
    letter-spacing: -0.01em;
    margin-bottom: 0.875rem;
}

.title-accent[b-oc85qfhadq] {
    font-weight: 700;
    background: linear-gradient( 90deg, #1745a3 0%, #6366f1 40%, #8b5cf6 70%, #1745a3 100% );
    background-size: 200% auto;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: shimmer-b-oc85qfhadq 8s linear infinite;
}

@keyframes shimmer-b-oc85qfhadq {
    to {
        background-position: 200% center;
    }
}

.construction-message[b-oc85qfhadq] {
    font-size: 0.9375rem;
    color: #4b5563;
    line-height: 1.55;
    margin-bottom: 1.5rem;
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
}

    .construction-message code[b-oc85qfhadq] {
        background: rgba(23, 69, 163, 0.08);
        color: #1745a3;
        padding: 0.15rem 0.375rem;
        border-radius: 5px;
        font-family: 'Courier New', Courier, monospace;
        font-size: 0.875em;
        font-weight: 600;
    }

.construction-actions[b-oc85qfhadq] {
    display: flex;
    justify-content: center;
}

.btn-primary[b-oc85qfhadq] {
    padding: 0.5rem 1.25rem;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(23, 69, 163, 0.25);
}

@keyframes float-b-oc85qfhadq {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-8px);
    }
}

@media (max-width: 640px) {
    .construction-glass[b-oc85qfhadq] {
        padding: 2rem 1.25rem;
    }

    .construction-title[b-oc85qfhadq] {
        font-size: 1.375rem;
    }

    .construction-message[b-oc85qfhadq] {
        font-size: 0.875rem;
    }

    .construction-icon[b-oc85qfhadq] {
        width: 48px;
        height: 48px;
    }
}
