/* ─── ЕГЭпончик: стили ────────────────────────────────────────────── */
/* v2.7.0 — Berry Chocolat палитра (перерисовка дизайна).
   Старые переменные --eg-* НЕ удалены — на них завязаны 2000+ строк CSS.
   Вместо этого они переопределены на новые цвета. Всё, что использует
   var(--eg-indigo), теперь автоматически получит вишнёвый акцент.

   Дополнительно завезены новые токены --bc-* (Berry Chocolat) для блоков,
   которые мы создаём в этом релизе с нуля (превью, шапка билдера и т.д.). */
:root {
    /* Новая палитра Berry Chocolat */
    --bc-cream:       #FBF6EC;   /* основной фон страницы */
    --bc-milk:        #FFFBF3;   /* фон карточек */
    --bc-milk-warm:   #F6EEDD;   /* альтернативный мягкий фон, инпуты */
    --bc-rose-mist:   #F1E2DA;   /* розоватая дымка */
    --bc-strawberry:  #4DA8F0;   /* вишнёвый — главный акцент */
    --bc-strawberry-2:#2F7FC4;   /* hover вишни */
    --bc-strawberry-soft:#F2C7C2;
    --bc-choco:       #2E1A18;   /* шоколадный текст */
    --bc-choco-2:     #4E2D2C;
    --bc-choco-soft:  #6B4541;
    --bc-herb:        #8FB35A;   /* зелёный мх — успех/прогресс */
    --bc-herb-soft:   #C8DBA0;
    --bc-honey:       #E0A646;   /* медовый — акценты */
    --bc-line:        rgba(46, 26, 24, 0.10);
    --bc-line-soft:   rgba(46, 26, 24, 0.06);
    --bc-ink:         #2E1A18;
    --bc-ink-2:       rgba(46, 26, 24, 0.72);
    --bc-ink-3:       rgba(46, 26, 24, 0.52);
    --bc-ink-4:       rgba(46, 26, 24, 0.34);

    /* СТАРЫЕ переменные (legacy aliases) — перенаправлены на BC.
       Не трогать! На них завязан весь CSS до v2.7.0. */
    --eg-ivory:        var(--bc-cream);
    --eg-indigo:       var(--bc-strawberry);   /* был фиолетовый — стал вишнёвый */
    --eg-indigo-light: var(--bc-strawberry-soft);
    --eg-pear:         var(--bc-herb);
    --eg-pear-light:   var(--bc-herb-soft);
    --eg-deep:         var(--bc-choco);
    --eg-deep-light:   var(--bc-choco-2);
    --eg-white:        var(--bc-milk);
    --eg-muted:        var(--bc-ink-3);
    --eg-success:      var(--bc-herb);
    --eg-danger:       var(--bc-strawberry-2);
}

/* ─── Защитный пояс v2.2.6 ────────────────────────────────────────── */
/* Гарантируем, что ничего внутри плагина не пробивает свой контейнер. */
.egepon-page,
.egepon-page * {
    box-sizing: border-box;
    /* break-word: слово переносится только если реально не помещается. */
    /* (anywhere — слишком жадно, режет каждое слово на телефоне.)       */
    overflow-wrap: break-word;
    word-break: normal;
    min-width: 0;                  /* лечит баг flex-children, которые не сжимаются */
}
/* Точечный жёсткий перенос — там, где текст реально может быть «без пробелов»:
   ответы учеников, ссылки в инвайтах, фамилии в карточках. */
.egepon-page .egepon-answer-input,
.egepon-page .egepon-invite-link,
.egepon-page .egepon-student-card__name,
.egepon-page .egepon-task-modal__meta {
    overflow-wrap: anywhere;
}
/* Не даём картинкам и видео ломать ширину */
.egepon-page img,
.egepon-page video,
.egepon-page canvas {
    max-width: 100%;
    height: auto;
    display: block;
}
/* Ограничиваем сам контейнер плагина шириной окна */
.egepon-page {
    max-width: 100vw;
    overflow-x: hidden;
}

@keyframes eg-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-14px); }
}
@keyframes eg-twinkle {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.7; }
}

/* ─── Сбросы темы для полноэкранных страниц плагина ──────────────── */
/* На случай, если шаблон не подменился — давим контейнеры темы */
body.egepon-fullscreen,
body.egepon-body {
    margin: 0;
    padding: 0;
    background: var(--eg-ivory);
}
body.egepon-fullscreen #page,
body.egepon-fullscreen #content,
body.egepon-fullscreen #primary,
body.egepon-fullscreen #main,
body.egepon-fullscreen .site-main,
body.egepon-fullscreen .site-content,
body.egepon-fullscreen .content-area,
body.egepon-fullscreen .wp-site-blocks,
body.egepon-fullscreen .entry-content,
body.egepon-fullscreen .wp-block-post-content,
body.egepon-fullscreen .wp-block-group,
body.egepon-fullscreen main {
    max-width: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}
/* Прячем заголовок страницы, шапку и футер темы — рисуем свои */
body.egepon-fullscreen .entry-header,
body.egepon-fullscreen .wp-block-post-title,
body.egepon-fullscreen .site-header,
body.egepon-fullscreen .site-footer,
body.egepon-fullscreen header.wp-block-template-part,
body.egepon-fullscreen footer.wp-block-template-part,
body.egepon-fullscreen .entry-footer {
    display: none !important;
}

.egepon-page,
.egepon-page * {
    box-sizing: border-box;
    font-family: 'Nunito', sans-serif;
}

.egepon-page {
    background: var(--eg-ivory);
    color: var(--eg-deep);
    position: relative;
    overflow-x: hidden;
}
/* На страницах-дашбордах высота = весь экран (для сайдбара). */
/* На простых страницах (логин, главная, инвайт) — авто-высота, */
/* чтобы не возникало двойной прокрутки внутри темы WP.         */
.egepon-page.egepon-dashboard,
.egepon-page > .egepon-dashboard {
    min-height: 100vh;
}

/* ─── Звёздочки ────────────────────────────────────────────────────── */
.egepon-stars {
    position: absolute;
    width: 220px;
    height: 220px;
    pointer-events: none;
    background-image: radial-gradient(circle at 20% 30%, var(--eg-indigo) 1px, transparent 2px),
                      radial-gradient(circle at 80% 20%, var(--eg-indigo) 1px, transparent 2px),
                      radial-gradient(circle at 50% 70%, var(--eg-indigo) 1px, transparent 2px),
                      radial-gradient(circle at 30% 80%, var(--eg-indigo) 1px, transparent 2px),
                      radial-gradient(circle at 90% 60%, var(--eg-indigo) 1px, transparent 2px);
    opacity: 0.4;
    z-index: 0;
}
.egepon-stars--tr { top: -20px; right: -20px; }
.egepon-stars--bl { bottom: -20px; left: -20px; transform: rotate(180deg); opacity: 0.3; }

/* ─── Главная ─────────────────────────────────────────────────────── */
.egepon-home__header {
    padding: 18px 28px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 1;
}
.egepon-home__logo {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--eg-deep);
}
.egepon-home__logo-emoji { font-size: 24px; }
.egepon-home__logo-text { font-weight: 900; font-size: 22px; }

.egepon-home__main {
    max-width: 840px;
    margin: 0 auto;
    padding: 30px 24px 60px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.egepon-home__donut {
    font-size: 120px;
    line-height: 1;
    margin-bottom: 16px;
    animation: eg-float 3.5s ease-in-out infinite;
    filter: drop-shadow(0 16px 32px rgba(168, 138, 237, 0.35));
}

.egepon-home__title {
    font-size: clamp(40px, 9vw, 78px);
    font-weight: 900;
    color: var(--eg-deep);
    line-height: 1.05;
    margin-bottom: 12px;
}

.egepon-home__subtitle {
    font-size: clamp(15px, 2.6vw, 19px);
    color: var(--eg-indigo);
    font-weight: 700;
    margin-bottom: 4px;
}
.egepon-home__subjects {
    font-size: clamp(17px, 2.8vw, 22px);
    color: var(--eg-deep);
    font-weight: 800;
    margin-bottom: 20px;
}
.egepon-home__stars-row {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: 36px;
    opacity: 0.55;
}
.egepon-home__stars-row span {
    color: var(--eg-pear);
    font-size: 17px;
}

.egepon-home__login-card {
    background: white;
    border: 2.5px solid var(--eg-indigo);
    border-radius: 28px;
    padding: 36px 32px;
    max-width: 420px;
    margin: 0 auto 30px;
    box-shadow: 0 20px 44px rgba(168, 138, 237, 0.18);
}
.egepon-home__login-icon {
    font-size: 56px;
    margin-bottom: 14px;
}
.egepon-home__login-title {
    font-size: 22px;
    font-weight: 900;
    color: var(--eg-deep);
    margin-bottom: 6px;
}
.egepon-home__login-sub {
    font-size: 14px;
    color: var(--eg-indigo);
    margin-bottom: 22px;
}
.egepon-home__hint {
    background: var(--eg-indigo-light);
    color: var(--eg-deep-light);
    border-radius: 12px;
    padding: 8px 14px;
    margin-top: 14px;
    font-size: 12px;
}
.egepon-home__teacher-link {
    color: var(--eg-indigo);
    font-size: 14px;
}
.egepon-home__teacher-link a {
    color: var(--eg-deep);
    font-weight: 800;
    text-decoration: none;
    border-bottom: 2px dotted var(--eg-indigo);
}

/* ─── Pill-кнопки ─────────────────────────────────────────────────── */
.egepon-pill {
    padding: 10px 22px;
    border-radius: 24px;
    border: none;
    font-family: 'Nunito', sans-serif;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}
.egepon-pill--purple { background: var(--eg-indigo); color: white; }
.egepon-pill--lime { background: var(--eg-pear); color: var(--eg-deep); }

/* ─── Кнопки и инпуты ─────────────────────────────────────────────── */
.egepon-btn {
    border: none;
    border-radius: 16px;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    font-family: 'Nunito', sans-serif;
    width: 100%;
    transition: transform 0.15s, box-shadow 0.15s;
}
.egepon-btn:hover { transform: translateY(-1px); }
.egepon-btn--primary {
    background: var(--eg-indigo);
    color: white;
    box-shadow: 0 4px 18px rgba(168, 138, 237, 0.35);
}
.egepon-btn--lime {
    background: var(--eg-pear);
    color: var(--eg-deep);
    box-shadow: 0 4px 18px rgba(203, 216, 59, 0.45);
}
.egepon-btn--ghost {
    background: white;
    color: var(--eg-deep);
    border: 2px solid var(--eg-indigo);
}
.egepon-btn--small {
    padding: 8px 16px;
    font-size: 13px;
    width: auto;
}

.egepon-input {
    width: 100%;
    padding: 12px 16px;
    border-radius: 16px;
    border: 2px solid var(--eg-indigo);
    font-size: 16px;
    font-family: 'Nunito', sans-serif;
    background: white;
    outline: none;
    color: var(--eg-deep);
}
.egepon-input:focus { border-color: var(--eg-deep); }

.egepon-login-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.egepon-form-msg {
    margin: 0;
    font-size: 13px;
    text-align: center;
    color: var(--eg-danger);
    min-height: 16px;
}
.egepon-form-msg.is-success { color: var(--eg-success); }

/* ─── Карточки преподавателей ─────────────────────────────────────── */
.egepon-teacher-cards {
    display: grid;
    gap: 24px;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    max-width: 640px;
    margin: 30px auto 0;
}
.egepon-teacher-card {
    background: white;
    border: 2.5px solid var(--eg-indigo);
    border-radius: 28px;
    padding: 32px 24px;
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
}
.egepon-teacher-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 42px rgba(168, 138, 237, 0.22);
}
.egepon-teacher-card--lime { border-color: var(--eg-pear); }
.egepon-teacher-card--lime:hover { box-shadow: 0 18px 42px rgba(203, 216, 59, 0.35); }
.egepon-teacher-card__icon { font-size: 64px; margin-bottom: 12px; }
.egepon-teacher-card__name {
    font-size: 24px;
    font-weight: 900;
    color: var(--eg-deep);
    margin-bottom: 4px;
}
.egepon-teacher-card__sub {
    font-size: 14px;
    color: var(--eg-indigo);
    margin-bottom: 20px;
}
.egepon-teacher-card--lime .egepon-teacher-card__sub { color: var(--eg-deep-light); }
.egepon-teacher-card__form { margin-top: 18px; }

/* ─── Личный кабинет ─────────────────────────────────────────────── */
.egepon-dashboard {
    display: flex;
    min-height: 100vh;
    width: 100%;
    max-width: 100vw;              /* не шире окна — страховка */
    background: var(--eg-ivory);
    overflow-x: hidden;
}

.egepon-sidebar {
    width: 260px;
    flex: 0 0 260px;               /* фикс ширины + не растягивать, не сжимать */
    background: var(--eg-deep);
    color: white;
    padding: 24px 18px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex-shrink: 0;
}
.egepon-teacher--ilona .egepon-sidebar { background: var(--eg-deep-light); }

.egepon-sidebar__header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.egepon-sidebar__avatar {
    background: var(--eg-pear);
    border: none;
    border-radius: 16px;
    width: 50px;
    height: 50px;
    font-size: 28px;
    cursor: pointer;
    transition: transform 0.15s;
}
.egepon-sidebar__avatar:hover { transform: scale(1.05); }
.egepon-sidebar__user { flex: 1; min-width: 0; }
.egepon-sidebar__name {
    color: white;
    font-weight: 800;
    font-size: 17px;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.egepon-sidebar__role {
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    margin: 2px 0 0;
}

.egepon-sidebar__photo {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    background: var(--eg-pear);
    display: block;
    flex-shrink: 0;
}
.egepon-sidebar__photo img,
.egepon-sidebar__photo span.egepon-sidebar__photo-placeholder {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
}
.egepon-sidebar__photo-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    opacity: 0;
    transition: opacity 0.2s;
    text-align: center;
    padding: 4px;
}
.egepon-sidebar__photo:hover .egepon-sidebar__photo-overlay { opacity: 1; }

/* Picker аватарок */
.egepon-avatar-picker {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 12px;
    margin-bottom: 14px;
}
.egepon-avatar-picker__title {
    color: rgba(255, 255, 255, 0.6);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 10px;
}
.egepon-avatar-picker__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 4px;
    max-height: 240px;
    overflow-y: auto;
    padding-right: 4px;
}
.egepon-avatar-picker__grid::-webkit-scrollbar {
    width: 6px;
}
.egepon-avatar-picker__grid::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 3px;
}
.egepon-avatar-option {
    background: transparent;
    border: 2px solid transparent;
    border-radius: 10px;
    padding: 6px;
    font-size: 22px;
    cursor: pointer;
    transition: all 0.15s;
}
.egepon-avatar-option:hover { background: rgba(255, 255, 255, 0.1); }
.egepon-avatar-option.is-active { border-color: var(--eg-pear); background: rgba(203, 216, 59, 0.2); }

.egepon-sidebar__section-title {
    color: rgba(255, 255, 255, 0.4);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    margin: 14px 0 8px;
    padding: 0 8px;
}
.egepon-sidebar__btn {
    width: 100%;
    text-align: left;
    background: transparent;
    border: none;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 3px;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.85);
    font-family: 'Nunito', sans-serif;
    font-weight: 700;
    font-size: 15.5px;
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    transition: background 0.15s;
}
.egepon-sidebar__btn:hover { background: rgba(255, 255, 255, 0.08); }
.egepon-sidebar__btn.is-active { background: var(--eg-indigo); color: white; }
.egepon-teacher--ilona .egepon-sidebar__btn.is-active { background: var(--eg-pear); color: var(--eg-deep); }
.egepon-sidebar__divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    margin: 16px 0 4px;
}

/* ─── Main ────────────────────────────────────────────────────────── */
.egepon-main {
    flex: 1;
    min-width: 0;                  /* лечит распирание flex-ребёнком */
    max-width: 100%;
    overflow-x: hidden;            /* контент не должен пробивать main */
    display: flex;
    flex-direction: column;
}
.egepon-topbar {
    background: white;
    padding: 0;
    box-shadow: 0 2px 14px rgba(45, 26, 94, 0.07);
    border-bottom: 2px solid var(--eg-indigo-light);
    position: sticky;
    top: 0;
    z-index: 10;
}
.egepon-topbar__inner {
    max-width: 1280px !important;
    width: 100% !important;
    margin: 0 !important;          /* прижимаем к левому краю .egepon-main */
    align-self: flex-start;        /* не растягиваться flex-родителем — иначе max-width игнорируется */
    padding: 14px 32px;
    display: flex;
    align-items: center;
    gap: 14px;
    box-sizing: border-box;
}
.egepon-topbar__menu {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 22px;
    color: var(--eg-deep);
}
.egepon-topbar__title { font-size: 22px; font-weight: 900; color: var(--eg-deep); margin: 0; }
.egepon-topbar__sub { font-size: 14px; color: var(--eg-muted); margin: 2px 0 0; }
.egepon-topbar__inner > div { flex: 1; min-width: 0; }
.egepon-topbar__icon { font-size: 22px; opacity: 0.7; flex-shrink: 0; }

/* v2.6.6 — минимальный топбар (только бургер).
   Имя/роль раньше дублировали сайдбар — теперь они там и остались.
   На десктопе бургер не нужен (сайдбар всегда виден), значит весь топбар прячем. */
.egepon-topbar--minimal {
    background: transparent;
    border-bottom: none;
    box-shadow: none;
    padding: 0;
}
.egepon-topbar--minimal .egepon-topbar__menu {
    padding: 12px 16px;
    margin: 0;
}
@media (min-width: 901px) {
    .egepon-topbar--minimal {
        display: none;
    }
}

/* Усиленная специфичность: побеждает правила темы для тега main */
.egepon-page .egepon-main main.egepon-content,
.egepon-page .egepon-main div.egepon-content,
.egepon-dashboard .egepon-main .egepon-content,
.egepon-content {
    padding: 32px;
    flex: 1;
    overflow-y: auto;
    overflow-x: hidden;
    max-width: 1280px !important;
    width: 100% !important;
    margin: 0 !important;          /* прижимаем к левому краю */
    align-self: flex-start !important;  /* не растягиваться flex-родителем */
    box-sizing: border-box !important;
    display: block !important;
}

/* Stats */
.egepon-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 24px;
}
@media (max-width: 720px) {
    .egepon-stats { grid-template-columns: repeat(2, 1fr); }
}
.egepon-stat-card {
    background: white;
    border-radius: 20px;
    padding: 18px 16px;
    box-shadow: 0 2px 14px rgba(45, 26, 94, 0.07);
    border: 1.5px solid var(--eg-indigo-light);
    min-width: 0;
}
.egepon-stat-card__icon { font-size: 32px; margin-bottom: 6px; }
.egepon-stat-card__value { font-size: 34px; font-weight: 900; color: var(--eg-indigo); }
.egepon-stat-card__label { font-size: 14px; font-weight: 700; color: var(--eg-deep); opacity: 0.7; }

/* Grid */
.egepon-grid {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 24px;
}

/* Tabs */
.egepon-tabs {
    display: flex;
    gap: 5px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    background: white;
    border-radius: 16px;
    padding: 5px;
    box-shadow: 0 2px 10px rgba(45, 26, 94, 0.06);
    border: 1.5px solid var(--eg-indigo-light);
}
.egepon-tab {
    flex: 1 1 auto;
    padding: 10px 12px;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    font-family: 'Nunito', sans-serif;
    font-weight: 700;
    font-size: 13px;
    background: transparent;
    color: var(--eg-deep);
    transition: all 0.18s;
    white-space: nowrap;
}
.egepon-tab.is-active { background: var(--eg-deep); color: white; }

.egepon-tasks { display: flex; flex-direction: column; gap: 10px; }

/* Task card */
.egepon-task-card {
    background: white;
    border-radius: 16px;
    padding: 16px 18px;
    box-shadow: 0 2px 10px rgba(45, 26, 94, 0.06);
    border: 1.5px solid var(--eg-indigo-light);
    cursor: pointer;
    transition: transform 0.15s, box-shadow 0.15s;
}
.egepon-task-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(45, 26, 94, 0.12);
}
.egepon-task-card--overdue {
    background: #fff5ff;
    border: 2px solid var(--eg-indigo);
}
.egepon-task-card--done { border-left: 4px solid var(--eg-success); }
.egepon-task-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 6px;
}
.egepon-task-card__icon {
    background: var(--eg-indigo-light);
    border-radius: 12px;
    padding: 8px 10px;
    font-size: 20px;
}
.egepon-task-card__title {
    flex: 1;
    font-weight: 700;
    color: var(--eg-deep);
    font-size: 15px;
    margin: 0;
}
.egepon-task-card__score {
    font-weight: 900;
    color: var(--eg-success);
    font-size: 18px;
    flex-shrink: 0;
}
.egepon-task-card__meta {
    font-size: 14px;
    color: var(--eg-muted);
    margin-top: 6px;
}

/* Side panels */
.egepon-side-panels { display: flex; flex-direction: column; gap: 16px; }
.egepon-panel {
    background: white;
    border-radius: 20px;
    padding: 20px;
    box-shadow: 0 2px 14px rgba(45, 26, 94, 0.06);
    border: 1.5px solid var(--eg-indigo-light);
}
.egepon-panel__title {
    color: var(--eg-deep);
    font-weight: 800;
    font-size: 18px;
    margin: 0 0 16px;
}

.egepon-progress-row { margin-bottom: 14px; }
.egepon-progress-row__head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
    font-size: 13px;
    font-weight: 700;
    color: var(--eg-deep);
}
.egepon-progress-bar {
    background: #e8e0f0;
    border-radius: 99px;
    height: 8px;
    overflow: hidden;
}
.egepon-progress-bar__fill {
    height: 100%;
    background: var(--eg-indigo);
    border-radius: 99px;
    transition: width 0.6s;
}
.egepon-progress-bar__fill--lime { background: var(--eg-pear); }
.egepon-progress-bar__fill--success { background: var(--eg-success); }

/* ─── Учитель: ученики ───────────────────────────────────────────── */
.egepon-section { display: none; }
.egepon-section.is-active { display: block; }
.egepon-section__title {
    color: var(--eg-deep);
    font-weight: 900;
    font-size: 22px;
    margin: 0 0 18px;
}

.egepon-students-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 280px));
    gap: 16px;
    justify-content: start;
}
@media (max-width: 520px) {
    .egepon-students-grid { grid-template-columns: 1fr; }
}
.egepon-student-card {
    background: white;
    border-radius: 20px;
    padding: 18px;
    box-shadow: 0 2px 14px rgba(45, 26, 94, 0.06);
    border: 1.5px solid var(--eg-indigo-light);
}
.egepon-student-card__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}
.egepon-student-card__avatar {
    background: var(--eg-indigo-light);
    border-radius: 14px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}
.egepon-teacher--ilona .egepon-student-card__avatar { background: var(--eg-pear-light); }
.egepon-student-card__name {
    font-weight: 800;
    color: var(--eg-deep);
    font-size: 15px;
    margin: 0;
}
/* v2.5.0: компактный «#42» рядом с именем — для различения тёзок и поиска */
.egepon-student-card__id {
    font-weight: 600;
    font-size: 12px;
    color: var(--eg-muted);
    margin-left: 4px;
    background: var(--eg-indigo-light);
    padding: 1px 6px;
    border-radius: 999px;
    vertical-align: middle;
}

/* v2.5.0: панель поиска над сеткой учеников */
.egepon-students-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.egepon-students-search {
    position: relative;
    flex: 1 1 280px;
    min-width: 0;
    max-width: 480px;
}
.egepon-students-search__icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 14px;
    opacity: 0.6;
}
.egepon-students-search__input {
    width: 100%;
    padding: 10px 38px 10px 38px;
    border-radius: 999px;
    border: 2px solid var(--eg-indigo);
    font-family: 'Nunito', sans-serif;
    font-size: 15px;
    color: var(--eg-deep);
    background: white;
    outline: none;
    box-sizing: border-box;
}
.egepon-students-search__input:focus { border-color: var(--eg-deep); }
.egepon-students-search__input::placeholder {
    color: var(--eg-muted);
    font-weight: 400;
}
.egepon-students-search__clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--eg-deep);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 4px 10px;
    border-radius: 50%;
    opacity: 0.5;
    transition: opacity 0.15s, background 0.15s;
}
.egepon-students-search__clear:hover {
    opacity: 1;
    background: var(--eg-indigo-light);
}
.egepon-students-count {
    font-size: 13px;
    color: var(--eg-muted);
    font-weight: 600;
    white-space: nowrap;
}
.egepon-student-card__stats {
    display: flex;
    gap: 8px;
    margin-top: 12px;
}
.egepon-student-card__stat {
    flex: 1;
    border-radius: 10px;
    padding: 8px;
    text-align: center;
}
.egepon-student-card__stat--done { background: #f3fff3; }
.egepon-student-card__stat--pending { background: var(--eg-indigo-light); }
.egepon-student-card__stat-value { font-weight: 800; font-size: 18px; }
.egepon-student-card__stat-label { font-size: 13px; color: var(--eg-muted); }

/* ─── Формы (создание заданий и т.п.) ────────────────────────────── */
.egepon-form-card,
.egepon-section-card {
    background: white;
    border-radius: 20px;
    padding: 24px;
    box-shadow: 0 2px 14px rgba(45, 26, 94, 0.06);
    border: 1.5px solid var(--eg-indigo-light);
}
.egepon-field { display: block; margin-bottom: 16px; }
.egepon-field > span {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--eg-deep);
    margin-bottom: 6px;
}
.egepon-field-row {
    display: grid;
    gap: 16px;
    grid-template-columns: 2fr 1fr 1fr;
    margin-bottom: 0;
}
.egepon-field-row .egepon-field { margin-bottom: 16px; }

textarea.egepon-input {
    font-family: 'Nunito', sans-serif;
    resize: vertical;
}

/* ─── Модальные окна ──────────────────────────────────────────────── */
.egepon-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.egepon-modal[hidden] { display: none; }
.egepon-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(45, 26, 94, 0.35);
    backdrop-filter: blur(6px);
}
.egepon-modal__dialog {
    position: relative;
    background: white;
    border-radius: 24px;
    padding: 30px 28px;
    max-width: 720px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    overflow-x: hidden;            /* v2.6.2: режем горизонтальный скролл от широкого контента */
    border: 2px solid var(--eg-indigo);
    box-shadow: 0 30px 80px rgba(45, 26, 94, 0.3);
}
/* v2.6.2: жёстко гарантируем, что прямые дети модалки не вылезают за её ширину.
   Был баг — модалка «выдать из банка» съезжала влево, и появлялся горизонтальный
   скролл из-за элементов с фиксированной min-width внутри (date-input, длинные
   span-ы, заголовки с текстом без переносов). */
.egepon-modal__dialog > * {
    max-width: 100%;
    min-width: 0;
}
.egepon-modal__dialog .egepon-students-pick {
    max-width: 100%;
    box-sizing: border-box;
}
.egepon-modal__close {
    position: absolute;
    top: 12px;
    right: 16px;
    background: none;
    border: none;
    font-size: 30px;
    cursor: pointer;
    color: var(--eg-indigo);
    line-height: 1;
    font-family: 'Nunito', sans-serif;
}

/* ─── Карточки заданий в модалке ─────────────────────────────────── */
.egepon-task-modal__title {
    font-size: 22px;
    font-weight: 900;
    color: var(--eg-deep);
    margin-bottom: 8px;
}
.egepon-task-modal__meta {
    font-size: 13px;
    color: var(--eg-muted);
    margin-bottom: 18px;
}
.egepon-task-modal__section {
    background: var(--eg-indigo-light);
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 14px;
}
/* Содержимое секции — описание задания, превью HTML от Quill.
   Сбрасываем жирность от темы WP, оставляем явные <strong>/<b>. */
.egepon-task-modal__section p,
.egepon-task-modal__section li,
.egepon-task-modal__section ul,
.egepon-task-modal__section ol,
.egepon-task-modal__section div {
    font-weight: 400 !important;
}
.egepon-task-modal__section strong,
.egepon-task-modal__section b {
    font-weight: 700 !important;
}
.egepon-task-modal__section-title {
    font-size: 12px;
    font-weight: 800;
    color: var(--eg-deep);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 6px;
}
.egepon-task-modal__buttons {
    display: flex;
    gap: 10px;
    margin-top: 16px;
}
.egepon-task-modal__buttons .egepon-btn { flex: 1; }
/* «Прилипающие» кнопки в модалке прохождения теста (Сохранить/Отправить) */
.egepon-task-modal__buttons--sticky {
    position: sticky;
    bottom: 0;
    background: white;
    padding-top: 14px;
    border-top: 1px solid var(--eg-indigo-light);
}
/* На мобиле sticky плохо себя ведёт (URL-бар, наезд на текст) — отключаем */
@media (max-width: 520px) {
    .egepon-task-modal__buttons--sticky {
        position: static;
        padding-top: 8px;
        border-top: none;
    }
}

.egepon-feedback-box {
    background: var(--eg-pear-light);
    border-radius: 14px;
    padding: 14px 16px;
    margin-top: 14px;
    border-left: 4px solid var(--eg-pear);
}

.egepon-loading {
    text-align: center;
    padding: 40px;
    color: var(--eg-muted);
}

/* ─── Адаптив ─────────────────────────────────────────────────────── */
@media (max-width: 900px) {
    .egepon-grid { grid-template-columns: 1fr; }
    .egepon-field-row { grid-template-columns: 1fr; }
}
@media (max-width: 1024px) {
    .egepon-content { padding: 24px 22px; }
    .egepon-topbar__inner { padding: 14px 22px; }
}
@media (max-width: 768px) {
    .egepon-sidebar {
        position: fixed;
        left: 0;
        top: 0;
        bottom: 0;
        width: 280px;
        z-index: 100;
        transform: translateX(-100%);
        transition: transform 0.25s;
        box-shadow: 0 0 40px rgba(0, 0, 0, 0.3);
    }
    .egepon-sidebar.is-open { transform: translateX(0); }
    .egepon-topbar__menu { display: block; }
    .egepon-content { padding: 16px; }
    .egepon-topbar__inner { padding: 12px 16px; }
    .egepon-home__header { padding: 14px 18px; }
}

/* ─── v2: Тесты, инвайты, мульти-выбор ───────────────────────────── */

.egepon-modal__dialog--wide  { max-width: 800px; }
/* v2.6.3: ещё шире — для модалок задания у ученика и проверки у учителя.
   Внутри длинные блоки текста, картинки и поля ответа: 720/800px давало
   ощущение «обрезанной открытки» с большими пустыми полями вокруг. */
.egepon-modal__dialog--xwide { max-width: 1080px; }

/* Бейдж типа задания */
.egepon-task-card__kind {
    display: inline-block;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 12px;
    border-radius: 999px;
    margin-right: 8px;
}
.egepon-task-card__kind--homework {
    background: var(--eg-indigo-light);
    color: var(--eg-deep);
}
.egepon-task-card__kind--mock {
    background: #fef3a6;
    color: #7a5a00;
}

/* Фильтры по верху списка */
.egepon-filters {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

/* Поле-лейбл крупный */
.egepon-field-label {
    font-weight: 800;
    color: var(--eg-deep);
    margin: 12px 0 8px;
}
.egepon-field-hint {
    display: block;
    font-weight: 400;
    font-size: 12px;
    color: var(--eg-muted);
    margin-top: 3px;
}
.egepon-field-hint code {
    background: var(--eg-indigo-light);
    padding: 1px 6px;
    border-radius: 4px;
    font-size: 11px;
}

/* Список учеников с чекбоксами в форме создания теста */
.egepon-students-pick {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 8px;
    background: var(--eg-indigo-light);
    border-radius: 14px;
    padding: 14px;
    max-height: 240px;
    overflow-y: auto;
}
.egepon-student-pick {
    display: flex;
    align-items: center;
    gap: 10px;
    background: white;
    padding: 8px 12px;
    border-radius: 10px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color 0.15s, transform 0.1s;
    user-select: none;
}
.egepon-student-pick:hover { border-color: var(--eg-indigo); }
.egepon-student-pick.is-checked {
    border-color: var(--eg-indigo);
    background: var(--eg-indigo-light);
}
.egepon-student-pick input[type="checkbox"] {
    width: 18px; height: 18px;
    accent-color: var(--eg-indigo);
}
.egepon-student-pick__avatar {
    font-size: 22px;
    width: 32px;
    text-align: center;
}
.egepon-student-pick__name {
    flex: 1;
    font-weight: 600;
    color: var(--eg-deep);
    font-size: 14px;
}
.egepon-students-pick__bulk {
    grid-column: 1 / -1;
    text-align: right;
    font-size: 12px;
}
.egepon-students-pick__bulk button {
    background: none;
    border: none;
    color: var(--eg-deep);
    cursor: pointer;
    font-weight: 700;
    text-decoration: underline;
    font-family: inherit;
    font-size: 12px;
}

/* Список вопросов в билдере */
.egepon-question-card {
    background: white;
    border: 2px solid var(--eg-indigo-light);
    border-radius: 14px;
    padding: 16px;
    margin-bottom: 12px;
    position: relative;
}
.egepon-question-card__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}
.egepon-question-card__num {
    background: var(--eg-deep);
    color: white;
    width: 28px; height: 28px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 14px;
}
.egepon-question-card__type {
    background: var(--eg-indigo-light);
    color: var(--eg-deep);
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}
.egepon-question-card__type--long { background: var(--eg-pear-light); }
.egepon-question-card__remove {
    margin-left: auto;
    background: none;
    border: none;
    color: var(--eg-danger);
    font-size: 22px;
    cursor: pointer;
    line-height: 1;
}
.egepon-question-card .egepon-field { margin-bottom: 8px; }
.egepon-question-card .egepon-field-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 10px;
}

.egepon-questions-add {
    display: flex;
    gap: 10px;
    margin-top: 12px;
    flex-wrap: wrap;
}

/* Ответы ученика — вопросы по очереди.
   v2.6.1: убрали жирную фиолетовую рамку (2px) — она съедала ширину и
   визуально дублировалась с рамкой инпута внутри. Заменили на лёгкий
   серо-фиолетовый бордер и уменьшили padding по горизонтали. На узких
   экранах это даёт +24px полезной ширины — длинные слова реже переносятся. */
.egepon-answer-item {
    background: white;
    border: 1px solid #d4c8f5;     /* мягкая фиолетовая обводка вместо жирной 2px */
    color: var(--eg-deep);
    border-radius: 14px;
    padding: 14px 12px;
    margin-bottom: 14px;
    overflow: hidden;              /* содержимое не пробивает карточку */
    box-shadow: 0 1px 2px rgba(89, 67, 156, .04);
}
/* Тема WP часто бьёт `font-weight: 700` по `.entry-content p` или `body p`.
   Внутри карточки задания мы рендерим Quill-HTML (текст вопроса, ответ
   ученика, разбор) — без сброса каждый параграф наследует жирность.
   Сбрасываем всё в normal, оставляем явные <strong>/<b> жирными. */
.egepon-answer-item p,
.egepon-answer-item ul,
.egepon-answer-item ol,
.egepon-answer-item li,
.egepon-answer-item div,
.egepon-answer-item span:not(.egepon-answer-item__num):not(.egepon-answer-item__text):not(.egepon-answer-item__max) {
    font-weight: 400 !important;
    color: var(--eg-deep);
}
.egepon-answer-item p {
    margin: 0 0 8px 0;
}
.egepon-answer-item p:last-child {
    margin-bottom: 0;
}
.egepon-answer-item strong,
.egepon-answer-item b {
    font-weight: 700 !important;
}

/* Внутренний «чип» для ответа ученика, твоего ответа и т.п. на белой карточке.
   Лёгкий фиолетовый фон даёт чёткое отделение от самой карточки. */
.egepon-answer-block {
    background: var(--eg-indigo-light);
    border-radius: 10px;
    padding: 10px 12px;
    margin-top: 6px;
    color: var(--eg-deep);
}
.egepon-answer-block p {
    margin: 0 0 6px 0;
}
.egepon-answer-block p:last-child {
    margin-bottom: 0;
}
.egepon-answer-item__head {
    display: flex;
    align-items: flex-start;       /* было center — теряет смысл при wrap */
    flex-wrap: wrap;               /* на узком экране элементы переносятся */
    gap: 10px;
    margin-bottom: 10px;
}
.egepon-answer-item__num {
    background: var(--eg-deep);
    color: white;
    width: 28px; height: 28px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 14px;
    flex-shrink: 0;
}
/* Текст вопроса: на десктопе — между номером и плашкой; на узком — на свою строку */
.egepon-answer-item__text {
    font-weight: 700;
    color: var(--eg-deep);
    flex: 1 1 200px;               /* нужен min-basis, иначе flex сжимает в нитку */
    min-width: 0;
}
/* Quill оборачивает текст в <p> — без сброса жирность 700 наследуется
   и каждый вопрос выглядит «весь жирный». Сбрасываем до normal,
   а если учитель явно выделил <strong>/<b> — тогда бахаем как надо.
   !important нужен, потому что тема WP может переопределять `p`. */
.egepon-answer-item__text p,
.egepon-answer-item__text ul,
.egepon-answer-item__text ol,
.egepon-answer-item__text li,
.egepon-answer-item__text div,
.egepon-answer-item__text span {
    font-weight: 400 !important;
    margin: 0;
}
.egepon-answer-item__text p + p,
.egepon-answer-item__text p + ul,
.egepon-answer-item__text p + ol {
    margin-top: 6px;
}
.egepon-answer-item__text strong,
.egepon-answer-item__text b {
    font-weight: 700 !important;
}
.egepon-answer-item__max {
    font-size: 12px;
    color: var(--eg-muted);
    background: white;
    padding: 3px 10px;
    border-radius: 999px;
    flex-shrink: 0;
    white-space: nowrap;           /* «Краткий · 1 б.» не должен переноситься */
}
/* На телефоне: номер + плашка в одной строке сверху, текст вопроса — отдельным блоком */
@media (max-width: 520px) {
    .egepon-answer-item__head {
        gap: 8px;
    }
    .egepon-answer-item__text {
        flex-basis: 100%;          /* занимает всю ширину карточки, не сдавливается */
        order: 3;                  /* и идёт ПОД номером и плашкой */
    }
    .egepon-answer-item__num { order: 1; }
    .egepon-answer-item__max { order: 2; margin-left: auto; }

    /* v2.6.1: ещё меньше горизонтального padding — больше места под длинные слова */
    .egepon-answer-item {
        padding: 12px 10px;
    }
    /* Поле краткого ответа на мобилке делаем чуть тоньше, чтобы обводка не дублировалась с обводкой карточки */
    .egepon-page .egepon-answer-input {
        padding: 10px 12px;
        border-width: 1.5px;
    }
}
.egepon-answer-item__correct {
    margin-top: 8px;
    padding: 8px 12px;
    background: #f3fff3;
    border-left: 3px solid var(--eg-success);
    border-radius: 8px;
    font-size: 13px;
}
.egepon-answer-item__wrong {
    background: #fff0f0;
    border-left-color: var(--eg-danger);
}
.egepon-answer-item__explanation {
    margin-top: 8px;
    padding: 10px 12px;
    background: var(--eg-indigo-light);
    border-radius: 10px;
    font-size: 13px;
    color: var(--eg-deep);
}
.egepon-answer-item__feedback {
    margin-top: 8px;
    background: var(--eg-pear-light);
    border-left: 3px solid var(--eg-pear);
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 13px;
}

/* Учительская сетка ввода баллов на странице проверки */
.egepon-grade-row {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 10px;
    align-items: start;
    margin-top: 10px;
    width: 100%;
    box-sizing: border-box;
}
.egepon-grade-row > .egepon-input {
    min-width: 0;             /* лечит распирание flex/grid детей с intrinsic шириной */
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
}
.egepon-grade-row input.egepon-input { text-align: center; }

/* Инвайты */
.egepon-invite-item {
    background: white;
    border: 1.5px solid var(--eg-indigo-light);
    border-radius: 14px;
    padding: 16px 18px;
    margin-bottom: 12px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px 16px;
    align-items: center;
}
.egepon-invite-item.is-revoked { opacity: 0.5; }
.egepon-invite-item__url {
    font-family: monospace;
    font-size: 12px;
    background: var(--eg-indigo-light);
    padding: 8px 12px;
    border-radius: 8px;
    color: var(--eg-deep);
    word-break: break-all;
    line-height: 1.4;
    grid-column: 1 / -1;
}
.egepon-invite-item__count {
    font-size: 13px;
    color: var(--eg-muted);
    white-space: nowrap;
    font-weight: 600;
}
.egepon-invite-item__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.egepon-invite-item__actions button {
    background: var(--eg-indigo-light);
    border: none;
    border-radius: 8px;
    padding: 7px 14px;
    cursor: pointer;
    font-family: inherit;
    color: var(--eg-deep);
    font-weight: 700;
    font-size: 13px;
    transition: background 0.15s;
    white-space: nowrap;
}
.egepon-invite-item__actions button:hover { background: var(--eg-indigo); color: white; }

/* Поджимаем длинный билдер на мобилке */
@media (max-width: 600px) {
    .egepon-students-pick { grid-template-columns: 1fr; }
    .egepon-question-card .egepon-field-row { grid-template-columns: 1fr; }
    .egepon-grade-row { grid-template-columns: 1fr; }
    .egepon-grade-row input.egepon-input { text-align: left; }
}

/* ─── v2.1: ручное добавление ученика ────────────────────────────── */

.egepon-invite-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.egepon-attach-result {
    background: white;
    border: 1.5px solid var(--eg-indigo-light);
    border-radius: 12px;
    padding: 12px 16px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.egepon-attach-result__avatar {
    background: var(--eg-indigo-light);
    border-radius: 10px;
    width: 36px; height: 36px;
    display: flex; align-items: center; justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}
.egepon-attach-result__info { flex: 1; min-width: 0; }
.egepon-attach-result__name { font-weight: 800; color: var(--eg-deep); font-size: 14px; margin: 0; }
.egepon-attach-result__meta { font-size: 12px; color: var(--eg-muted); margin: 2px 0 0; word-break: break-word; }
.egepon-attach-result__btn {
    background: var(--eg-indigo);
    color: white;
    border: none;
    border-radius: 8px;
    padding: 7px 14px;
    cursor: pointer;
    font-family: inherit;
    font-weight: 700;
    font-size: 13px;
    white-space: nowrap;
}
.egepon-attach-result__btn:disabled {
    background: #ccc;
    cursor: not-allowed;
}
.egepon-attach-result__btn--mine {
    background: #f3fff3;
    color: var(--eg-success);
    cursor: default;
}

/* ─── v2.4.0: банк заданий, чекбокс, form-actions ─────────────────── */
.egepon-section__lead {
    color: var(--eg-muted);
    font-size: 15px;
    margin: -6px 0 20px;
    line-height: 1.5;
}

/* Чекбокс «Сохранить в банк» */
.egepon-checkbox {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    user-select: none;
    font-size: 15px;
    font-weight: 700;
    color: var(--eg-deep);
    padding: 10px 14px;
    background: var(--eg-indigo-light);
    border-radius: 12px;
    transition: background 0.15s;
}
.egepon-checkbox:hover { background: #e1d5ff; }
.egepon-checkbox input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--eg-indigo);
    margin: 0;
    cursor: pointer;
}

/* Кнопки действий формы — в одну строку */
.egepon-form-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 18px;
}
.egepon-form-actions .egepon-btn { flex: 1 1 auto; min-width: 200px; }

/* Карточки шаблонов в банке */
.egepon-bank-card {
    background: white;
    border-radius: 16px;
    padding: 18px 20px;
    box-shadow: 0 2px 14px rgba(45, 26, 94, 0.06);
    border: 1.5px solid var(--eg-indigo-light);
    margin-bottom: 12px;
    transition: box-shadow 0.2s;
}
.egepon-bank-card:hover {
    box-shadow: 0 4px 22px rgba(45, 26, 94, 0.12);
}
.egepon-bank-card__head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 10px;
}
.egepon-bank-card__icon {
    font-size: 28px;
    flex-shrink: 0;
}
.egepon-bank-card__body { flex: 1; min-width: 0; }
.egepon-bank-card__title {
    font-weight: 800;
    font-size: 17px;
    color: var(--eg-deep);
    margin: 0 0 4px;
}
.egepon-bank-card__meta {
    font-size: 14px;
    color: var(--eg-muted);
}
.egepon-bank-card__actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}
.egepon-bank-card__actions .egepon-btn {
    font-size: 14px;
    padding: 8px 14px;
}
.egepon-bank-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--eg-muted);
    font-size: 15px;
}
.egepon-bank-empty__icon {
    font-size: 48px;
    margin-bottom: 12px;
    opacity: 0.5;
}

/* ─── Quill WYSIWYG (v2.4.3) ────────────────────────────────────────
   Переопределяем стандартную тему `snow` под фиолетово-кремовую палитру.
   Структура Quill после init:
     .egepon-quill                         ← наш контейнер-обёртка
       └─ .ql-toolbar.ql-snow              ← панель кнопок (вставляется Quill'ом)
       └─ .ql-container.ql-snow            ← собственно поле ввода
            └─ .ql-editor                  ← contenteditable, куда печатает юзер
*/
.egepon-quill {
    border-radius: 16px;
    overflow: hidden;
    background: white;
    /* «Внешняя» рамка фактически рисуется ql-toolbar/ql-container, чтобы
       выглядеть как один цельный input. radius+overflow:hidden подрезает углы. */
}
.egepon-page .ql-toolbar.ql-snow,
.egepon-page .ql-container.ql-snow {
    border-color: var(--eg-indigo);
    font-family: 'Nunito', sans-serif;
}
.egepon-page .ql-toolbar.ql-snow {
    border-width: 2px 2px 1px 2px;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    background: var(--eg-indigo-light);
    padding: 8px 12px;
}
.egepon-page .ql-container.ql-snow {
    border-width: 1px 2px 2px 2px;
    border-bottom-left-radius: 16px;
    border-bottom-right-radius: 16px;
    font-size: 16px;
    color: var(--eg-deep);
    background: white;
    /* Минимальная высота ≈ 3 строки. Содержимое выше — растёт само. */
    min-height: 96px;
}
.egepon-page .ql-editor {
    padding: 12px 16px;
    line-height: 1.5;
    /* Длинные слова в ответах учеников — чтоб не распирали модалку. */
    overflow-wrap: anywhere;
    /* В плагине родительские контейнеры часто используют font-weight: 700/800
       (модалки, секции дашборда). Без явного normal текст в Quill наследует
       жирность и выглядит как «всё жирное по умолчанию». */
    font-weight: 400;
    color: var(--eg-deep);
}
/* Тема WP часто бьёт `font-weight: bold` по селекторам типа
   `.entry-content p` или `body p`. Их специфичность выше нашей,
   поэтому без !important параграфы внутри Quill наследуют жирность.
   Целевое исключение: <strong>/<b> явно от пользователя. */
.egepon-page .ql-editor,
.egepon-page .ql-editor p,
.egepon-page .ql-editor div,
.egepon-page .ql-editor span,
.egepon-page .ql-editor li,
.egepon-page .ql-editor ul,
.egepon-page .ql-editor ol {
    font-weight: 400 !important;
}
.egepon-page .ql-editor strong,
.egepon-page .ql-editor b,
.egepon-page .ql-editor strong *,
.egepon-page .ql-editor b * {
    font-weight: 700 !important;
}
.egepon-page .ql-editor p {
    margin: 0 0 8px 0;
}
.egepon-page .ql-editor p:last-child {
    margin-bottom: 0;
}
.egepon-page .ql-editor.ql-blank::before {
    /* Плейсхолдер */
    color: var(--eg-muted);
    font-style: normal;
    font-family: 'Nunito', sans-serif;
    font-size: 16px;
    left: 16px;
    right: 16px;
}
/* Иконки в тулбаре — фиолетовые в обычном состоянии, тёмно-синие при hover/active */
.egepon-page .ql-snow .ql-stroke {
    stroke: var(--eg-deep);
}
.egepon-page .ql-snow .ql-fill,
.egepon-page .ql-snow .ql-stroke.ql-fill {
    fill: var(--eg-deep);
}
.egepon-page .ql-snow .ql-picker {
    color: var(--eg-deep);
}
.egepon-page .ql-snow.ql-toolbar button:hover,
.egepon-page .ql-snow.ql-toolbar button.ql-active,
.egepon-page .ql-snow.ql-toolbar .ql-picker-label:hover,
.egepon-page .ql-snow.ql-toolbar .ql-picker-label.ql-active {
    color: var(--eg-indigo);
}
.egepon-page .ql-snow.ql-toolbar button:hover .ql-stroke,
.egepon-page .ql-snow.ql-toolbar button.ql-active .ql-stroke {
    stroke: var(--eg-indigo);
}
.egepon-page .ql-snow.ql-toolbar button:hover .ql-fill,
.egepon-page .ql-snow.ql-toolbar button.ql-active .ql-fill {
    fill: var(--eg-indigo);
}
/* Фокус-рамка — как у .egepon-input */
.egepon-page .ql-container.ql-snow:focus-within {
    border-color: var(--eg-deep);
}

/* Развёрнутый ответ ученика — чуть выше, чтобы было удобно писать */
.egepon-page .egepon-answer-quill .ql-container.ql-snow {
    min-height: 140px;
}

/* Просмотр готового общего комментария (после проставления оценки) —
   рендерим как обычный read-only блок, не как Quill. */
.egepon-feedback-display {
    background: white;
    border: 2px solid var(--eg-indigo-light);
    border-radius: 16px;
    padding: 12px 16px;
    color: var(--eg-deep);
    font-size: 16px;
    line-height: 1.5;
    margin-top: 6px;
    font-weight: 400;
}
.egepon-feedback-display p,
.egepon-feedback-display ul,
.egepon-feedback-display ol,
.egepon-feedback-display li,
.egepon-feedback-display div,
.egepon-feedback-display span {
    font-weight: 400 !important;
    margin: 0 0 8px 0;
}
.egepon-feedback-display p:last-child {
    margin-bottom: 0;
}
.egepon-feedback-display strong,
.egepon-feedback-display b {
    font-weight: 700 !important;
}

/* Мобилка — тулбар не должен переполнять модалку */
@media (max-width: 600px) {
    .egepon-page .ql-toolbar.ql-snow {
        padding: 6px 8px;
    }
    .egepon-page .ql-toolbar.ql-snow .ql-formats {
        margin-right: 8px;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.6.0 — Новые типы вопросов, критерии, вложения, перестановка
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Кнопки перемещения вопроса ↑↓ ────────────────────────────── */
.egepon-page .egepon-question-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.egepon-page .egepon-question-card__head-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.egepon-page .egepon-question-card__move {
    width: 26px;
    height: 26px;
    border: 1px solid var(--eg-indigo);
    background: #fff;
    color: var(--eg-indigo);
    border-radius: 6px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all .15s ease;
    padding: 0;
    line-height: 1;
}
.egepon-page .egepon-question-card__move:hover:not([disabled]) {
    background: var(--eg-indigo);
    color: #fff;
}
.egepon-page .egepon-question-card__move[disabled] {
    opacity: .35;
    cursor: not-allowed;
}

/* ─── Тип-метка для текстового блока ───────────────────────────── */
.egepon-page .egepon-question-card__type--text {
    background: #fef3c7;
    color: #92400e;
}

/* ─── Текстовый блок (на странице ученика и в проверке) ────────── */
.egepon-page .egepon-text-block {
    margin: 14px 0;
    padding: 14px 18px;
    background: #fffbeb;
    border-left: 4px solid #f59e0b;
    border-radius: 8px;
}
.egepon-page .egepon-text-block__body {
    font-size: 15px;
    line-height: 1.55;
    color: var(--eg-text);
}
.egepon-page .egepon-text-block__body p:last-child {
    margin-bottom: 0;
}

/* ─── Критерии оценивания (билдер) ─────────────────────────────── */
.egepon-page .egepon-criteria-block {
    margin-top: 10px;
    padding: 10px 12px;
    background: #f5f3ff;
    border: 1px dashed var(--eg-indigo);
    border-radius: 8px;
}
.egepon-page .egepon-criteria-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}
.egepon-page .egepon-criteria-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.egepon-page .egepon-criteria-item {
    display: grid;
    grid-template-columns: 1fr 80px auto;
    gap: 6px;
    align-items: center;
}
.egepon-page .egepon-criteria-item__remove {
    width: 28px;
    height: 28px;
    border: none;
    background: transparent;
    color: var(--eg-danger);
    font-size: 18px;
    cursor: pointer;
    border-radius: 6px;
    line-height: 1;
}
.egepon-page .egepon-criteria-item__remove:hover {
    background: rgba(220, 38, 38, .1);
}
.egepon-page .egepon-criteria-empty {
    color: var(--eg-muted);
    font-size: 12px;
    margin: 4px 0;
    font-style: italic;
}

/* Маленькая кнопка для критериев и вложений */
.egepon-page .egepon-btn--xs {
    font-size: 12px !important;
    padding: 6px 10px !important;
    min-height: auto !important;
    line-height: 1.2 !important;
}

/* ─── Критерии (отображение в модалке проверки) ────────────────── */
.egepon-page .egepon-q-criteria {
    margin: 10px 0;
    padding: 10px 12px;
    background: #ede9fe;
    border-radius: 8px;
}
.egepon-page .egepon-q-criteria__title {
    font-weight: 800;
    font-size: 13px;
    margin-bottom: 6px;
    color: var(--eg-indigo);
}
.egepon-page .egepon-q-criteria__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.egepon-page .egepon-q-criteria__list li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: baseline;
    padding: 4px 0;
    border-bottom: 1px dashed rgba(0, 0, 0, .08);
}
.egepon-page .egepon-q-criteria__list li:last-child {
    border-bottom: none;
}
.egepon-page .egepon-q-criteria__text {
    flex: 1;
    font-size: 13px;
}
.egepon-page .egepon-q-criteria__score {
    font-weight: 700;
    color: var(--eg-indigo);
    white-space: nowrap;
    font-size: 12px;
}

/* ─── Вложения в билдере ───────────────────────────────────────── */
.egepon-page .egepon-attachments-block {
    margin-top: 10px;
}
.egepon-page .egepon-attach-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
}
.egepon-page .egepon-attach-list:empty {
    display: none;
}
.egepon-page .egepon-attach-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    max-width: 100%;
}
.egepon-page .egepon-attach-thumb {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}
.egepon-page .egepon-attach-icon {
    font-size: 18px;
}
.egepon-page .egepon-attach-name {
    font-size: 12px;
    max-width: 160px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.egepon-page .egepon-attach-remove {
    border: none;
    background: transparent;
    color: var(--eg-danger);
    font-size: 16px;
    cursor: pointer;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    line-height: 1;
    padding: 0;
}
.egepon-page .egepon-attach-remove:hover {
    background: rgba(220, 38, 38, .1);
}
.egepon-page .egepon-attach-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.egepon-page .egepon-attach-progress {
    font-size: 12px;
    color: var(--eg-muted);
    padding: 6px 8px;
    background: #fef3c7;
    border-radius: 6px;
    width: 100%;
}

/* ─── Вложения у вопроса (для ученика и в проверке) ────────────── */
.egepon-page .egepon-q-attachments {
    margin: 10px 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.egepon-page .egepon-q-image-wrap {
    max-width: 100%;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
    display: inline-block;
}
.egepon-page .egepon-q-image {
    /* v2.6.4: было max-height: 480px, max-width: 100% — на широкой модалке
       картинки разъезжались на полстраницы. Делаем компактнее: до 380px по
       любой стороне, чтобы картинка вписывалась в поток вопроса, а не
       доминировала над ним. На мобилке отдельная media-query ниже. */
    max-width: 380px;
    max-height: 320px;
    width: auto;
    height: auto;
    display: block;
    border-radius: 8px;
    cursor: zoom-in;                /* подсказка: можно открыть в полный размер */
}
/* v2.6.4: клик по картинке открывает оригинал в новой вкладке. */
.egepon-page .egepon-q-image-wrap a {
    display: block;
    text-decoration: none;
}
.egepon-page .egepon-q-file {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    color: #0369a1;
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    transition: all .15s ease;
    max-width: 100%;
    align-self: flex-start;
}
.egepon-page .egepon-q-file:hover {
    background: #e0f2fe;
    border-color: #7dd3fc;
}
.egepon-page .egepon-q-file__icon {
    font-size: 16px;
}
.egepon-page .egepon-q-file__name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 280px;
}

/* ─── Quill: кнопка ссылки получает понятную обводку ─────────── */
.egepon-page .ql-toolbar.ql-snow .ql-link {
    /* Quill сам рисует иконку, нужно только убедиться что она видна */
}

/* Мобилка — критерии в столбик */
@media (max-width: 600px) {
    .egepon-page .egepon-criteria-item {
        grid-template-columns: 1fr 70px 28px;
        gap: 4px;
    }
    .egepon-page .egepon-q-image {
        max-width: 100%;             /* на телефоне — во всю ширину карточки */
        max-height: 260px;
    }
    .egepon-page .egepon-attach-name {
        max-width: 110px;
    }
}

/* v2.6.2 — Плашка режима редактирования шаблона из банка */
.egepon-page .egepon-edit-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 12px 16px;
    background: #fef3c7;
    border: 1px solid #fbbf24;
    border-radius: 12px;
    margin-bottom: 18px;
    color: #78350f;
    font-size: 14px;
    font-weight: 600;
}
.egepon-page .egepon-edit-banner > span {
    flex: 1 1 200px;
    min-width: 0;
}

/* v2.6.4 — Quill link tooltip принудительно прячем.
   Мы переопределили link-handler на нативный prompt(), но Quill всё равно
   рендерит свой .ql-tooltip как абсолютный элемент, который в модалке с
   overflow:hidden обрезается. Прячем его, чтобы не оставлял пустую полоску. */
.egepon-page .ql-tooltip,
.egepon-page .ql-snow .ql-tooltip {
    display: none !important;
}

/* v2.6.4 — Покритерийная проверка в модалке учителя */
.egepon-page .egepon-grade-criteria {
    margin: 10px 0;
    padding: 12px 14px;
    background: #ede9fe;
    border-radius: 10px;
}
.egepon-page .egepon-grade-criteria__title {
    font-weight: 800;
    font-size: 13px;
    color: var(--eg-indigo);
    margin-bottom: 8px;
}
.egepon-page .egepon-grade-criteria__row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px dashed rgba(0, 0, 0, .08);
}
.egepon-page .egepon-grade-criteria__row:last-of-type {
    border-bottom: none;
}
.egepon-page .egepon-grade-criteria__text {
    flex: 1;
    font-size: 13px;
    color: var(--eg-deep);
    min-width: 0;
}
.egepon-page .egepon-grade-criteria__score-wrap {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}
.egepon-page .egepon-grade-criteria__input {
    width: 64px !important;
    padding: 6px 8px !important;
    text-align: center;
    font-size: 14px !important;
}
.egepon-page .egepon-grade-criteria__max {
    font-size: 12px;
    color: var(--eg-muted);
    font-weight: 700;
}
.egepon-page .egepon-grade-criteria__sum {
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(0, 0, 0, .08);
    font-size: 13px;
    color: var(--eg-deep);
    text-align: right;
}
.egepon-page .egepon-grade-criteria__sum b {
    color: var(--eg-indigo);
}

/* v2.6.4 — Общий итог по тесту в модалке проверки (live-сумма) */
.egepon-page .egepon-grade-total {
    margin-top: 16px;
    padding: 14px 18px;
    background: linear-gradient(135deg, #ede9fe, #f5f3ff);
    border: 2px solid var(--eg-indigo);
    border-radius: 12px;
    font-size: 15px;
    color: var(--eg-deep);
    text-align: center;
    font-weight: 700;
}
.egepon-page .egepon-grade-total b {
    color: var(--eg-indigo);
    font-size: 18px;
    font-weight: 900;
}

/* v2.6.4 — Σ-индикатор под критериями в билдере */
.egepon-page .egepon-criteria-sum {
    margin-top: 8px;
    padding-top: 6px;
    border-top: 1px dashed var(--eg-indigo);
    text-align: right;
    font-size: 13px;
    color: var(--eg-deep);
}
.egepon-page .egepon-criteria-sum b {
    color: var(--eg-indigo);
    font-size: 15px;
}

/* v2.6.4 — read-only max_score (когда вычисляется из критериев) */
.egepon-page .egepon-input[data-readonly-criteria="1"] {
    background: #f5f3ff;
    cursor: not-allowed;
    color: var(--eg-indigo);
    font-weight: 700;
}

/* ═══════════════════════════════════════════════════════════════════
   v2.6.6 — Цветовая дифференциация кнопок в билдере
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Кнопки "+ тип вопроса" внизу формы ─────────────────────────── */
/* v2.6.7: все три кнопки теперь жёлто-янтарные (как изначально был только
   "Текстовый блок"). Юзеру нравился именно этот цвет — "тёплый", выделенный
   из основного фиолетового интерфейса как чёткий call-to-action. Чтобы кнопки
   не сливались в одну стену, у каждой свой оттенок янтарного — от светлого
   к насыщенному. */
.egepon-page .egepon-questions-add {
    margin-top: 24px;            /* было 0 — теперь блок добавления чуть отнят
                                    от карточки последнего вопроса */
}
.egepon-page .egepon-add-q-btn {
    width: 100%;
    padding: 14px 18px;
    font-size: 15px;
    font-weight: 700;
    border-radius: 14px;
    border: 2px solid #f59e0b;
    color: #92400e;
    background: #fffbeb;
    cursor: pointer;
    transition: all .15s ease;
    font-family: inherit;
    margin-bottom: 8px;
}
.egepon-page .egepon-add-q-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, .25);
    background: #fef3c7;
}

/* Лёгкая градация по насыщенности — чтобы три кнопки не выглядели как одна
   полоса. Базовый вариант (ниже) — самый светлый, ниже — чуть насыщеннее. */
.egepon-page .egepon-add-q-btn--short {
    background: #fffdf5;
}
.egepon-page .egepon-add-q-btn--long {
    background: #fffbeb;
}
.egepon-page .egepon-add-q-btn--text {
    background: #fef3c7;
}
.egepon-page .egepon-add-q-btn--short:hover,
.egepon-page .egepon-add-q-btn--long:hover,
.egepon-page .egepon-add-q-btn--text:hover {
    background: #fde68a;
}

/* ─── Кнопки "Добавить картинку / Прикрепить файл" ───────────────── */
/* v2.6.7: обе кнопки теперь фиолетовые (наш фирменный цвет), как был
   "Развёрнутый ответ". Картинка чуть светлее, файл — чуть насыщеннее. */
.egepon-page .egepon-attach-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.egepon-page .egepon-attach-btn {
    flex: 1 1 200px;
    padding: 10px 14px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 12px;
    border: 2px solid var(--eg-indigo);
    background: #f5f3ff;
    color: var(--eg-indigo);
    cursor: pointer;
    transition: all .15s ease;
    font-family: inherit;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 0;
}
.egepon-page .egepon-attach-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(168, 138, 237, .25);
    background: #ede9fe;
}
.egepon-page .egepon-attach-btn--image { background: #faf8ff; }  /* светлее */
.egepon-page .egepon-attach-btn--file  { background: #ede9fe; }  /* насыщеннее */
.egepon-page .egepon-attach-btn--image:hover,
.egepon-page .egepon-attach-btn--file:hover {
    background: #ddd6fe;
}

/* На узких экранах — кнопки в столбик, во всю ширину */
@media (max-width: 520px) {
    .egepon-page .egepon-attach-btn {
        flex-basis: 100%;
        font-size: 13px;
        padding: 9px 12px;
    }
    .egepon-page .egepon-questions-add {
        margin-top: 16px;
    }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.7.0 — Berry Chocolat: ребрендинг
   ═══════════════════════════════════════════════════════════════════
   Точечные переопределения поверх legacy-стилей. Старые правила работают
   через legacy-aliases в :root, но некоторым блокам нужны другие цвета,
   которые в legacy-наследии прибиты к value напрямую (#fff, #f5f3ff и т.п.).
   Здесь именно они и фиксятся. */

/* Подключаем шрифты Berry Chocolat */
@import url('https://fonts.googleapis.com/css2?family=Inter+Tight:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Caveat:wght@400;500;600;700&family=Kalam:wght@400;700&display=swap');

/* ─── Базовый фон и шрифты ────────────────────────────────────────── */
.egepon-page {
    background: var(--bc-cream) !important;
    color: var(--bc-ink);
    font-family: "Inter Tight", "Manrope", system-ui, -apple-system, sans-serif;
    background-image:
        radial-gradient(circle at 12% -5%, rgba(199,51,47,.06), transparent 38%),
        radial-gradient(circle at 96% 4%, rgba(143,179,90,.05), transparent 42%),
        radial-gradient(circle at 60% 110%, rgba(78,45,44,.05), transparent 50%);
}

/* ─── Сайдбар ─────────────────────────────────────────────────────── */
.egepon-page .egepon-sidebar {
    background: var(--bc-milk) !important;
    border-right: 1px solid var(--bc-line);
}
.egepon-page .egepon-sidebar__name {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 600;
    color: var(--bc-ink);
}
.egepon-page .egepon-sidebar__role {
    color: var(--bc-ink-3);
}
.egepon-page .egepon-sidebar__btn {
    color: var(--bc-ink-2);
    border-radius: 12px;
    transition: background .12s, color .12s;
}
.egepon-page .egepon-sidebar__btn:hover {
    background: var(--bc-milk-warm);
    color: var(--bc-ink);
}
.egepon-page .egepon-sidebar__btn.is-active {
    background: var(--bc-strawberry);
    color: #fff;
    box-shadow: 0 4px 12px rgba(199, 51, 47, .25);
}

/* ─── Карточки секций ─────────────────────────────────────────────── */
.egepon-page .egepon-section {
    background: transparent;
}
.egepon-page .egepon-section__title {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 600;
    color: var(--bc-ink);
    letter-spacing: -0.01em;
}

/* ─── Карточки и контейнеры (общие) ───────────────────────────────── */
.egepon-page .egepon-task-card,
.egepon-page .egepon-bank-card,
.egepon-page .egepon-student-card,
.egepon-page .egepon-stat-card,
.egepon-page .egepon-invite-card {
    background: var(--bc-milk) !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 18px;
    box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 1px 2px rgba(46,26,24,.04);
    transition: transform .15s, box-shadow .15s, border-color .15s;
}
.egepon-page .egepon-task-card:hover,
.egepon-page .egepon-bank-card:hover,
.egepon-page .egepon-student-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 8px 24px -10px rgba(46,26,24,.18);
    border-color: rgba(199,51,47,.25) !important;
}

/* ─── Поля ввода ──────────────────────────────────────────────────── */
.egepon-page .egepon-input {
    background: var(--bc-milk-warm) !important;
    border: 1px solid var(--bc-line) !important;
    color: var(--bc-ink) !important;
    border-radius: 12px;
    transition: border-color .12s, background .12s, box-shadow .12s;
}
.egepon-page .egepon-input:focus {
    border-color: var(--bc-strawberry) !important;
    background: var(--bc-milk) !important;
    box-shadow: 0 0 0 3px rgba(199, 51, 47, .10);
}
.egepon-page textarea.egepon-input {
    background: var(--bc-milk-warm) !important;
}

/* ─── Кнопки ──────────────────────────────────────────────────────── */
.egepon-page .egepon-btn--primary {
    background: var(--bc-strawberry) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 12px;
    font-weight: 600;
    box-shadow: 0 1px 0 rgba(255,255,255,.2) inset, 0 4px 12px rgba(199, 51, 47, .25);
    transition: all .15s ease;
}
.egepon-page .egepon-btn--primary:hover {
    background: var(--bc-strawberry-2) !important;
    transform: translateY(-1px);
}
.egepon-page .egepon-btn--ghost {
    background: var(--bc-milk) !important;
    color: var(--bc-ink-2) !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 12px;
}
.egepon-page .egepon-btn--ghost:hover {
    background: var(--bc-milk-warm) !important;
    color: var(--bc-ink) !important;
    border-color: var(--bc-strawberry) !important;
}

/* ─── Чипы и табы ─────────────────────────────────────────────────── */
.egepon-page .egepon-tab {
    background: var(--bc-milk-warm);
    color: var(--bc-ink-2);
    border-radius: 999px;
    padding: 8px 16px;
    font-weight: 500;
    border: 1px solid transparent;
}
.egepon-page .egepon-tab.is-active {
    background: var(--bc-strawberry);
    color: #fff;
    border-color: transparent;
}

/* ─── Карточка вопроса в билдере (Berry Chocolat стиль) ───────────── */
.egepon-page .egepon-question-card {
    background: var(--bc-milk) !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 18px;
    overflow: hidden;
    transition: border-color .15s, box-shadow .15s;
}
.egepon-page .egepon-question-card:focus-within,
.egepon-page .egepon-question-card:hover {
    border-color: var(--bc-strawberry) !important;
    box-shadow: 0 0 0 3px rgba(199, 51, 47, .08);
}
.egepon-page .egepon-question-card__head {
    background: linear-gradient(180deg, var(--bc-milk-warm), transparent);
    border-bottom: 1px solid var(--bc-line);
    padding: 14px 16px;
}
.egepon-page .egepon-question-card__num {
    background: var(--bc-choco) !important;
    color: var(--bc-cream);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    font-family: "Fraunces", Georgia, serif;
    font-weight: 600;
    font-size: 13px;
}
.egepon-page .egepon-question-card__type {
    background: var(--bc-strawberry-soft);
    color: var(--bc-strawberry-2);
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 500;
    border: none;
}
.egepon-page .egepon-question-card__type--long {
    background: #F8E5C2;
    color: #8C5E15;
}
.egepon-page .egepon-question-card__type--text {
    background: #E8F0D2;
    color: #5D7E2C;
}

/* ─── Кнопки добавления вопроса (Berry Chocolat вариант) ──────────── */
.egepon-page .egepon-questions-add {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.egepon-page .egepon-add-q-btn {
    background: var(--bc-milk) !important;
    border: 1px dashed var(--bc-line) !important;
    color: var(--bc-ink-2) !important;
    padding: 16px 14px;
    border-radius: 14px;
    font-weight: 500;
    font-size: 13.5px;
    text-align: center;
    transition: all .15s ease;
    margin-bottom: 0;
}
.egepon-page .egepon-add-q-btn:hover {
    background: var(--bc-milk-warm) !important;
    border-color: var(--bc-strawberry) !important;
    border-style: solid !important;
    color: var(--bc-ink) !important;
    transform: translateY(-1px);
}
.egepon-page .egepon-add-q-btn--short:hover {
    border-color: var(--bc-strawberry) !important;
    box-shadow: 0 4px 12px rgba(199,51,47,.12);
}
.egepon-page .egepon-add-q-btn--long:hover {
    border-color: var(--bc-honey) !important;
    box-shadow: 0 4px 12px rgba(224,166,70,.15);
}
.egepon-page .egepon-add-q-btn--text:hover {
    border-color: var(--bc-herb) !important;
    box-shadow: 0 4px 12px rgba(143,179,90,.15);
}
@media (max-width: 600px) {
    .egepon-page .egepon-questions-add {
        grid-template-columns: 1fr;
    }
}

/* ─── Кнопки картинки/файла (Berry Chocolat) ──────────────────────── */
.egepon-page .egepon-attach-btn {
    background: var(--bc-milk-warm) !important;
    border: 1px solid var(--bc-line) !important;
    color: var(--bc-ink-2) !important;
    border-radius: 12px;
    font-weight: 500;
}
.egepon-page .egepon-attach-btn:hover {
    background: var(--bc-rose-mist) !important;
    border-color: var(--bc-strawberry) !important;
    color: var(--bc-ink) !important;
}
.egepon-page .egepon-attach-btn--image,
.egepon-page .egepon-attach-btn--file {
    background: var(--bc-milk-warm) !important;
}

/* ─── Студенческая карточка чипа (Berry Chocolat) ─────────────────── */
.egepon-page .egepon-student-pick {
    background: var(--bc-milk) !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 14px;
    color: var(--bc-ink);
    transition: all .12s ease;
}
.egepon-page .egepon-student-pick:hover {
    border-color: var(--bc-strawberry) !important;
    background: var(--bc-rose-mist) !important;
}
.egepon-page .egepon-student-pick.is-checked {
    background: var(--bc-strawberry-soft) !important;
    border-color: var(--bc-strawberry) !important;
}

/* ─── Модалки ─────────────────────────────────────────────────────── */
.egepon-page .egepon-modal__dialog {
    background: var(--bc-milk) !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 60px -20px rgba(46,26,24,.28), 0 4px 12px rgba(46,26,24,.06);
}
.egepon-page .egepon-modal__close {
    color: var(--bc-ink-3) !important;
}
.egepon-page .egepon-modal__close:hover {
    color: var(--bc-strawberry) !important;
}

/* ─── Ответ ученика (карточка вопроса в режиме решения) ───────────── */
.egepon-page .egepon-answer-item {
    background: var(--bc-milk) !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 14px;
    box-shadow: 0 1px 2px rgba(46,26,24,.04);
}
.egepon-page .egepon-answer-block {
    background: var(--bc-milk-warm) !important;
    border-radius: 12px;
    padding: 12px 14px;
}

/* ─── Статистика и заголовки ──────────────────────────────────────── */
.egepon-page .egepon-stat-card__value {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 600;
    color: var(--bc-strawberry);
}
.egepon-page .egepon-stat-card__label {
    color: var(--bc-ink-3);
}

/* Заголовки секций */
.egepon-page h1,
.egepon-page h2,
.egepon-page h3 {
    font-family: "Fraunces", Georgia, serif;
    color: var(--bc-ink);
    letter-spacing: -0.01em;
}

/* ─── Quill toolbar ───────────────────────────────────────────────── */
.egepon-page .ql-toolbar.ql-snow {
    background: var(--bc-milk-warm) !important;
    border: 1px solid var(--bc-line) !important;
    border-bottom: none !important;
    border-radius: 12px 12px 0 0 !important;
}
.egepon-page .ql-container.ql-snow {
    background: var(--bc-milk) !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 0 0 12px 12px !important;
}
.egepon-page .ql-snow .ql-stroke { stroke: var(--bc-ink-2) !important; }
.egepon-page .ql-snow .ql-fill   { fill:   var(--bc-ink-2) !important; }
.egepon-page .ql-snow .ql-active .ql-stroke { stroke: var(--bc-strawberry) !important; }
.egepon-page .ql-snow .ql-active .ql-fill   { fill:   var(--bc-strawberry) !important; }

/* ─── Превью ученика (новая фишка билдера v2.7.0) ────────────────── */
.egepon-page .egepon-builder-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 18px;
    align-items: start;
}
@media (max-width: 1100px) {
    .egepon-page .egepon-builder-grid {
        grid-template-columns: 1fr;
    }
}
.egepon-page .egepon-preview-pane {
    position: sticky;
    top: 18px;
    background: var(--bc-milk);
    border: 1px solid var(--bc-line);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 8px 24px -10px rgba(46,26,24,.12);
}
.egepon-page .egepon-preview-pane__head {
    padding: 14px 18px;
    border-bottom: 1px solid var(--bc-line);
    background: var(--bc-milk-warm);
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 13px;
    color: var(--bc-ink-2);
    font-weight: 500;
}
.egepon-page .egepon-preview-pane__body {
    padding: 18px;
    max-height: 70vh;
    overflow-y: auto;
}
.egepon-page .egepon-preview-pane__title {
    font-family: "Fraunces", Georgia, serif;
    font-size: 22px;
    font-weight: 600;
    color: var(--bc-ink);
    margin: 0 0 14px 0;
    letter-spacing: -.02em;
}
.egepon-page .egepon-preview-pane__slice {
    background: var(--bc-milk-warm);
    border-radius: 14px;
    padding: 14px;
    margin-bottom: 14px;
}
.egepon-page .egepon-preview-pane__qhead {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.egepon-page .egepon-preview-pane__num {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--bc-choco);
    color: var(--bc-cream);
    display: grid;
    place-items: center;
    font-family: "Fraunces", Georgia, serif;
    font-weight: 600;
    font-size: 12px;
}
.egepon-page .egepon-preview-pane__qtype {
    background: var(--bc-strawberry-soft);
    color: var(--bc-strawberry-2);
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 500;
}
.egepon-page .egepon-preview-pane__qtext {
    font-size: 14px;
    line-height: 1.55;
    color: var(--bc-ink);
    min-height: 40px;
}
.egepon-page .egepon-preview-pane__qtext .placeholder {
    color: var(--bc-ink-4);
    font-style: italic;
}
.egepon-page .egepon-preview-pane__dots {
    display: flex;
    gap: 6px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 14px;
}
.egepon-page .egepon-preview-pane__dot {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 1px solid var(--bc-line);
    background: var(--bc-milk-warm);
    color: var(--bc-ink-3);
    font-weight: 600;
    font-size: 12px;
    cursor: pointer;
    font-family: "Inter Tight", sans-serif;
    transition: all .12s ease;
}
.egepon-page .egepon-preview-pane__dot.is-active {
    background: var(--bc-strawberry);
    border-color: var(--bc-strawberry);
    color: #fff;
}
.egepon-page .egepon-preview-pane__dot:hover:not(.is-active) {
    border-color: var(--bc-strawberry);
    color: var(--bc-strawberry);
}
.egepon-page .egepon-preview-pane__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 14px;
}
.egepon-page .egepon-preview-pane__stat {
    background: var(--bc-milk-warm);
    border-radius: 12px;
    padding: 10px 12px;
}
.egepon-page .egepon-preview-pane__stat-label {
    font-size: 10.5px;
    color: var(--bc-ink-3);
    text-transform: uppercase;
    letter-spacing: .06em;
    font-weight: 600;
}
.egepon-page .egepon-preview-pane__stat-value {
    font-family: "Fraunces", Georgia, serif;
    font-size: 22px;
    font-weight: 500;
    line-height: 1;
    margin-top: 4px;
    color: var(--bc-strawberry);
}

/* ─── Шапка билдера с действиями (v2.7.0) ────────────────────────── */
.egepon-page .egepon-builder-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 14px;
    align-items: center;
}
.egepon-page .egepon-builder-actions__btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: var(--bc-milk);
    color: var(--bc-ink-2);
    border: 1px solid var(--bc-line);
    border-radius: 12px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all .12s ease;
    font-family: inherit;
}
.egepon-page .egepon-builder-actions__btn:hover {
    background: var(--bc-milk-warm);
    color: var(--bc-ink);
    border-color: var(--bc-strawberry);
}
.egepon-page .egepon-builder-actions__btn--primary {
    background: var(--bc-strawberry);
    color: #fff;
    border-color: var(--bc-strawberry);
    box-shadow: 0 4px 12px rgba(199, 51, 47, .25);
}
.egepon-page .egepon-builder-actions__btn--primary:hover {
    background: var(--bc-strawberry-2);
    color: #fff;
    border-color: var(--bc-strawberry-2);
}

/* ═══════════════════════════════════════════════════════════════════
   v2.7.2 — Hero, чипы учеников, типы вопросов, новая шапка карточки
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Hero-заголовок «Новый тест» ────────────────────────────────── */
.egepon-page .egepon-hero {
    margin: 0 0 24px 0;
}
.egepon-page .egepon-hero__eyebrow {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 600;
    color: var(--bc-ink-3);
    margin-bottom: 6px;
}
.egepon-page .egepon-hero__title {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 600;
    font-size: 48px;
    line-height: 1.05;
    letter-spacing: -.02em;
    color: var(--bc-ink);
    margin: 0;
}
.egepon-page .egepon-hero__title-script {
    font-family: "Caveat", "Kalam", cursive;
    font-weight: 600;
    color: var(--bc-strawberry);
    font-size: 1.15em;
    letter-spacing: 0;
}
@media (max-width: 600px) {
    .egepon-page .egepon-hero__title { font-size: 36px; }
}

/* ─── Шапка секции «Вопросы» (с чипами счётчиков типов) ──────────── */
.egepon-page .egepon-q-section-head {
    margin-top: 24px;
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}
.egepon-page .egepon-q-section-head__title {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 600;
    font-size: 24px;
    margin: 0 0 4px 0;
    color: var(--bc-ink);
    letter-spacing: -.01em;
}
.egepon-page .egepon-q-section-head__sub {
    font-size: 12.5px;
    color: var(--bc-ink-3);
    margin: 0;
}
.egepon-page .egepon-q-section-head__chips {
    display: flex;
    gap: 6px;
    flex-shrink: 0;
}

/* ─── Tone chip (для счётчиков типов и плашек в карточках) ───────── */
.egepon-page .egepon-tone-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    border: 1px solid transparent;
}
.egepon-page .egepon-tone-chip__dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}
.egepon-page .egepon-tone-chip--short { background: #E7F4FF; color: var(--bc-strawberry-2); }
.egepon-page .egepon-tone-chip--long  { background: #F8E5C2; color: #8C5E15; }
.egepon-page .egepon-tone-chip--text  { background: #E8F0D2; color: #5D7E2C; }

/* Чипы-плашки типов в шапке карточки вопроса используют те же стили */
.egepon-page .egepon-question-card__type {
    background: #E7F4FF;
    color: var(--bc-strawberry-2);
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: none;
}
.egepon-page .egepon-question-card__type--long {
    background: #F8E5C2 !important;
    color: #8C5E15 !important;
}
.egepon-page .egepon-question-card__type--text {
    background: #E8F0D2 !important;
    color: #5D7E2C !important;
}

/* ─── Новая шапка карточки вопроса ────────────────────────────────── */
.egepon-page .egepon-question-card__drag {
    color: var(--bc-ink-4);
    cursor: grab;
    display: inline-flex;
    align-items: center;
    padding: 0 2px;
}
.egepon-page .egepon-question-card__pts {
    color: var(--bc-ink-3);
    font-size: 12px;
    margin-left: 4px;
}
.egepon-page .egepon-question-card__actions {
    display: inline-flex;
    gap: 4px;
    background: var(--bc-milk-warm);
    border-radius: 999px;
    padding: 3px;
    border: 1px solid var(--bc-line);
}
.egepon-page .egepon-question-card__act {
    width: 28px;
    height: 28px;
    border: 0;
    background: transparent;
    color: var(--bc-ink-2);
    border-radius: 999px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    padding: 0;
    transition: background .12s, color .12s;
}
.egepon-page .egepon-question-card__act:hover:not([disabled]) {
    background: var(--bc-milk);
    color: var(--bc-ink);
}
.egepon-page .egepon-question-card__act--danger:hover:not([disabled]) {
    background: rgba(199, 51, 47, .12);
    color: var(--bc-strawberry);
}
.egepon-page .egepon-question-card__act[disabled] {
    opacity: .35;
    cursor: not-allowed;
}

/* ─── Пикер учеников: шапка, поиск-pill, чипы ─────────────────────── */
.egepon-page .egepon-pick__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.egepon-page .egepon-pick__counter {
    font-size: 12.5px;
    color: var(--bc-ink-3);
}
.egepon-page .egepon-pick__search {
    display: flex;
    align-items: center;
    gap: 8px;
    background: var(--bc-milk-warm);
    border: 1px solid var(--bc-line);
    border-radius: 999px;
    padding: 8px 14px;
    margin-bottom: 12px;
    transition: border-color .12s;
}
.egepon-page .egepon-pick__search:focus-within {
    border-color: var(--bc-strawberry);
}
.egepon-page .egepon-pick__search-icon {
    color: var(--bc-ink-3);
    display: inline-flex;
    flex-shrink: 0;
}
.egepon-page .egepon-pick__search input {
    flex: 1;
    border: 0;
    background: transparent;
    outline: none;
    font: inherit;
    color: var(--bc-ink);
    font-size: 14px;
    min-width: 0;
}
.egepon-page .egepon-pick__search input::placeholder {
    color: var(--bc-ink-4);
}
.egepon-page .egepon-pick__search-count {
    font-size: 12px;
    color: var(--bc-ink-3);
    flex-shrink: 0;
}

.egepon-page .egepon-pick__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}
.egepon-page .egepon-pick__sep {
    width: 1px;
    height: 22px;
    background: var(--bc-line);
}

/* Универсальный чип */
.egepon-page .egepon-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px 6px 6px;
    border-radius: 999px;
    border: 1px solid var(--bc-line);
    background: var(--bc-milk);
    color: var(--bc-ink-2);
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    transition: all .12s ease;
    line-height: 1.2;
}
.egepon-page .egepon-chip:hover {
    border-color: var(--bc-strawberry);
    color: var(--bc-ink);
}
.egepon-page .egepon-chip--ghost {
    padding: 6px 14px;
    background: transparent;
    border-style: solid;
}
.egepon-page .egepon-chip--ghost:hover {
    background: var(--bc-milk-warm);
}

/* Студенческий чип с инициалом */
.egepon-page .egepon-chip--student {
    padding-right: 14px;
}
.egepon-page .egepon-chip__av {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-grid;
    place-items: center;
    font-family: "Fraunces", Georgia, serif;
    font-weight: 600;
    font-size: 12px;
    flex-shrink: 0;
    color: #fff;
}
.egepon-page .egepon-chip--student.is-checked {
    background: var(--bc-strawberry);
    color: #fff;
    border-color: var(--bc-strawberry);
}
.egepon-page .egepon-chip--student.is-checked .egepon-chip__av {
    background: rgba(255, 255, 255, .25);
    color: #fff;
}
.egepon-page .egepon-chip--student .egepon-chip__name {
    white-space: nowrap;
}

/* ─── Кнопки шапки билдера в pill-стиле ──────────────────────────── */
.egepon-page .egepon-builder-actions__btn {
    background: var(--bc-milk);
    border: 1px solid var(--bc-line);
    border-radius: 999px;
    padding: 10px 18px;
    font-size: 13.5px;
    font-weight: 500;
}
.egepon-page .egepon-builder-actions__btn--primary {
    background: var(--bc-strawberry);
    color: #fff;
    border-color: var(--bc-strawberry);
    padding: 10px 22px;
    font-weight: 600;
    box-shadow: 0 4px 14px rgba(199, 51, 47, .28);
}

/* ═══════════════════════════════════════════════════════════════════
   v2.7.2 — Berry Chocolat: точная подгонка к макету
   ═══════════════════════════════════════════════════════════════════ */

/* ─── SVG-иконки в сайдбаре ─────────────────────────────────────── */
.egepon-page .egepon-sidebar__btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    color: var(--bc-ink-2) !important;
    font-weight: 500;
    font-size: 14.5px;
    background: transparent !important;
    transition: background .12s, color .12s;
}
.egepon-page .egepon-sidebar__ico {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--bc-ink-3);
    transition: color .12s;
}
.egepon-page .egepon-sidebar__btn:hover {
    background: var(--bc-milk-warm) !important;
    color: var(--bc-ink) !important;
}
.egepon-page .egepon-sidebar__btn:hover .egepon-sidebar__ico {
    color: var(--bc-strawberry);
}
.egepon-page .egepon-sidebar__btn.is-active {
    background: var(--bc-strawberry) !important;
    color: #fff !important;
}
.egepon-page .egepon-sidebar__btn.is-active .egepon-sidebar__ico {
    color: #fff;
}
.egepon-page .egepon-sidebar__section-title {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--bc-ink-4);
    font-weight: 600;
    margin: 18px 0 6px;
    padding: 0 14px;
}

/* ─── Hero шапка билдера ──────────────────────────────────────── */
.egepon-page .egepon-builder-topbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 22px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--bc-line);
}
.egepon-page .egepon-hero {
    flex: 1 1 320px;
    min-width: 0;
}
.egepon-page .egepon-hero__eyebrow {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: var(--bc-ink-3);
    font-weight: 600;
    margin-bottom: 4px;
}
.egepon-page .egepon-hero__title {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 500;                          /* было 600 — макет использует 500 */
    font-size: 38px;                           /* было 44 — точно как .page-title в макете */
    color: var(--bc-ink);
    margin: 0;
    line-height: 1.05;
    letter-spacing: -.025em;
}
.egepon-page .egepon-hero__title-script {
    font-family: "Caveat", "Kalam", cursive !important;
    color: var(--bc-strawberry);
    font-size: 44px;                           /* как в макете */
    font-weight: 600;
    margin-left: 4px;
    line-height: 1;
}
@media (max-width: 720px) {
    .egepon-page .egepon-hero__title { font-size: 28px; }
    .egepon-page .egepon-hero__title-script { font-size: 34px; }
}

/* ─── Pill-кнопки в шапке билдера ──────────────────────────────── */
.egepon-page .egepon-builder-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 0;
}
.egepon-page .egepon-pill-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background: var(--bc-milk);
    color: var(--bc-ink-2);
    border: 1px solid var(--bc-line);
    border-radius: 999px;
    font-size: 13.5px;
    font-weight: 500;
    cursor: pointer;
    transition: all .12s ease;
    font-family: inherit;
    line-height: 1;
}
.egepon-page .egepon-pill-btn:hover {
    background: var(--bc-milk-warm);
    color: var(--bc-ink);
    border-color: var(--bc-strawberry);
}
.egepon-page .egepon-pill-btn--primary {
    background: var(--bc-strawberry);
    color: #fff;
    border-color: var(--bc-strawberry);
    box-shadow: 0 4px 12px rgba(199, 51, 47, .25);
}
.egepon-page .egepon-pill-btn--primary:hover {
    background: var(--bc-strawberry-2);
    border-color: var(--bc-strawberry-2);
    color: #fff;
}
.egepon-page .egepon-draft-status {
    font-size: 12px;
    color: var(--bc-ink-3);
    margin: 0 0 14px;
    text-align: right;
    min-height: 14px;
}

/* ─── Карточка «Кому выдать» с табами + чипами учеников ─────── */
.egepon-page .egepon-students-pick {
    /* Это контейнер pick'а — блок с шапкой, поиском и сеткой чипов внутри.
       Вертикальная компоновка через обычный flow — flex здесь ставить нельзя,
       это сломает renderStudentsPicker, который кладёт внутрь несколько
       логических секций (.egepon-pick__head, .egepon-pick__search, .egepon-pick__chips). */
    display: block;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
}
/* ─── (legacy: .egepon-student-pick — старая разметка, убрана в 2.7.2)
       Если на каких-то страницах ещё остался — пусть выглядит нормально,
       но мы рассчитываем на новую через .egepon-chip--student. ──────── */

/* ═══════════════════════════════════════════════════════════════════
   v2.7.4 — Финальная подгонка к макету
   ═══════════════════════════════════════════════════════════════════ */

/* ─── Двухчастные заголовки секций (Fraunces + Caveat) ───────── */
/* Шаблон: <h2 class="...--split">
            <span class="...-main">Банк</span>
            <span class="...-script">заданий</span>
          </h2>
   Первое слово — крупное Fraunces medium.
   Второе слово — рукописный Caveat в вишнёвом цвете, чуть крупнее. */
.egepon-page .egepon-section__title--split,
.egepon-page .egepon-topbar__title.egepon-section__title--split {
    font-family: "Fraunces", Georgia, serif !important;
    font-weight: 500 !important;
    font-size: 38px !important;
    line-height: 1.05 !important;
    letter-spacing: -.025em !important;
    color: var(--bc-ink) !important;
    margin: 0 !important;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}
.egepon-page .egepon-section__title-main {
    font-family: "Fraunces", Georgia, serif;
    font-weight: 500;
}
.egepon-page .egepon-section__title-script {
    font-family: "Caveat", "Kalam", cursive !important;
    font-weight: 600;
    font-size: 44px;
    color: var(--bc-strawberry);
    line-height: 1;
}
.egepon-page .egepon-section__title-meta {
    font-family: "Inter Tight", system-ui, sans-serif;
    font-size: 16px;
    color: var(--bc-ink-3);
    font-weight: 400;
    letter-spacing: 0;
    margin-left: 6px;
}
@media (max-width: 720px) {
    .egepon-page .egepon-section__title--split,
    .egepon-page .egepon-topbar__title.egepon-section__title--split {
        font-size: 28px !important;
    }
    .egepon-page .egepon-section__title-script { font-size: 34px; }
    .egepon-page .egepon-section__title-meta { font-size: 14px; }
}

/* ─── Цветные плашки статистики (с градиентом и SVG-иконкой) ─── */
.egepon-page .egepon-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 22px;
}
@media (max-width: 1100px) {
    .egepon-page .egepon-stats { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
    .egepon-page .egepon-stats { grid-template-columns: 1fr; }
}
.egepon-page .egepon-stat-card {
    background: var(--bc-milk) !important;
    border: 1px solid var(--bc-line) !important;
    border-radius: 18px !important;
    padding: 18px 18px 16px !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 1px 2px rgba(46,26,24,.04);
}
/* Градиентные тона по nth-child — раскрашиваем 4 карточки в порядке slider'а */
.egepon-page .egepon-stat-card:nth-child(4n+1) {
    background: linear-gradient(180deg, #E7F4FF, var(--bc-milk) 75%) !important;
}
.egepon-page .egepon-stat-card:nth-child(4n+2) {
    background: linear-gradient(180deg, #E8F0D2, var(--bc-milk) 75%) !important;
}
.egepon-page .egepon-stat-card:nth-child(4n+3) {
    background: linear-gradient(180deg, #F8E5C2, var(--bc-milk) 75%) !important;
}
.egepon-page .egepon-stat-card:nth-child(4n+4) {
    background: linear-gradient(180deg, #E6D6CD, var(--bc-milk) 75%) !important;
}

.egepon-page .egepon-stat-card__label {
    font-size: 11.5px;
    color: var(--bc-ink-3);
    letter-spacing: .04em;
    text-transform: uppercase;
    font-weight: 600;
    margin: 0 0 14px 0;
}
.egepon-page .egepon-stat-card__value {
    font-family: "Fraunces", Georgia, serif !important;
    font-size: 44px !important;
    line-height: 1 !important;
    font-weight: 500 !important;
    margin: 0 !important;
    letter-spacing: -.03em !important;
    color: var(--bc-ink) !important;
}
.egepon-page .egepon-stat-card__sub {
    font-size: 12px;
    color: var(--bc-ink-3);
    margin-top: 6px;
}
.egepon-page .egepon-stat-card__deco {
    position: absolute;
    right: -12px;
    top: -12px;
    width: 76px;
    height: 76px;
    opacity: .9;
    pointer-events: none;
}

/* ─── Бейджи статуса задач (выдано / на проверке / готово) ─── */
/* Эти штуки на скрине у учителя в правом краю карточки задачи —
   были крупные «выдано» как заголовки. Делаем их мелкими uppercase. */
.egepon-page .egepon-task-card__status {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--bc-ink-3);
    font-weight: 600;
}
.egepon-page .egepon-task-card__status--graded {
    color: var(--bc-herb);
}
.egepon-page .egepon-task-card__status--pending {
    color: var(--bc-honey);
}

/* ═══════════════════════════════════════════════════════════════════
   v2.7.5-design — перенос макета из архива "ЕГЭ пончик (2)"
   Цель: максимально близко повторить React-макет на текущих PHP-шаблонах.
   ═══════════════════════════════════════════════════════════════════ */

:root{
  --cream:        #FBF6EC;
  --milk:         #FFFBF3;
  --milk-warm:    #F6EEDD;
  --rose-milk:    #E8D2C5;
  --rose-mist:    #F1E2DA;
  --strawberry:   #4DA8F0;
  --strawberry-2: #2F7FC4;
  --strawberry-soft: #F2C7C2;
  --choco:        #2E1A18;
  --choco-2:      #4E2D2C;
  --choco-soft:   #6B4541;
  --herb:         #8FB35A;
  --herb-soft:    #C8DBA0;
  --honey:        #E0A646;
  --sprinkle-pink:#E48BA3;
  --sprinkle-blue:#7DA9D2;
  --line:         rgba(46, 26, 24, 0.10);
  --line-2:       rgba(46, 26, 24, 0.06);
  --ink:          #2E1A18;
  --ink-2:        rgba(46, 26, 24, 0.72);
  --ink-3:        rgba(46, 26, 24, 0.52);
  --ink-4:        rgba(46, 26, 24, 0.34);
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 18px;
  --r-xl: 24px;
  --r-pill: 999px;
  --shadow-1: 0 1px 0 rgba(255,255,255,.7) inset, 0 1px 2px rgba(46,26,24,.04);
  --shadow-2: 0 1px 0 rgba(255,255,255,.7) inset, 0 8px 24px -10px rgba(46,26,24,.18);
  --shadow-3: 0 24px 60px -20px rgba(46,26,24,.28), 0 4px 12px rgba(46,26,24,.06);
  --font-sans: "Inter Tight", "Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-display: "Fraunces", "Playfair Display", Georgia, serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;
  --font-script: "Caveat", "Kalam", cursive;
}

/* базовая типографика и фон как в макете */
body.egepon-body,
body.egepon-fullscreen{
  background: var(--cream) !important;
  color: var(--ink);
  font-family: var(--font-sans);
}
.egepon-page,
.egepon-page *{
  font-family: var(--font-sans) !important;
}
.egepon-page{
  background: var(--cream) !important;
  color: var(--ink);
  font-size: 14.5px;
  line-height: 1.45;
  background-image:
    radial-gradient(circle at 12% -5%, rgba(199,51,47,.06), transparent 38%),
    radial-gradient(circle at 96% 4%, rgba(143,179,90,.05), transparent 42%),
    radial-gradient(circle at 60% 110%, rgba(78,45,44,.05), transparent 50%) !important;
}

/* shell layout: повторяем .app/.sidebar/.main из демо */
.egepon-dashboard{
  display: grid !important;
  grid-template-columns: 264px minmax(0, 1fr) !important;
  background: var(--cream) !important;
}
.egepon-sidebar{
  width: auto !important;
  flex: none !important;
  background: var(--milk) !important;
  color: var(--ink) !important;
  border-right: 1px solid var(--line) !important;
  padding: 22px 18px !important;
  position: sticky !important;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 18px !important;
  box-shadow: none !important;
}
.egepon-main{
  min-width: 0;
  display: block !important;
  overflow: visible !important;
}
.egepon-page .egepon-main .egepon-content,
.egepon-content{
  padding: 28px 36px 60px !important;
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 !important;
}

/* бренд из React-макета */
.egepon-brand{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px 6px 12px;
  border-bottom: 1px dashed var(--line);
}
.egepon-brand__mark{
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
}
.egepon-brand__name,
.egepon-home__logo-text{
  font-family: var(--font-display) !important;
  font-size: 26px !important;
  letter-spacing: -0.025em;
  font-weight: 500 !important;
  font-variation-settings: "opsz" 144, "SOFT" 100, "wght" 500;
  color: var(--ink);
}
.egepon-brand__sub{
  font-size: 10.5px;
  color: var(--ink-3);
  margin-top: -2px;
  letter-spacing: .04em;
}
.egepon-home__logo{
  gap: 10px !important;
}
.egepon-home__logo .egepon-brand__mark{
  width: 36px;
  height: 36px;
}

/* профиль в сайдбаре */
.egepon-sidebar__header{
  display:flex !important;
  align-items:center;
  gap:10px !important;
  margin: 0 !important;
  padding: 10px 8px !important;
  border: 0 !important;
  border-radius: var(--r-md);
  background: var(--milk-warm) !important;
}
.egepon-sidebar__avatar,
.egepon-sidebar__photo{
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  background: var(--rose-mist) !important;
  display:grid !important;
  place-items:center !important;
  flex-shrink:0;
}
.egepon-sidebar__photo img,
.egepon-sidebar__photo span.egepon-sidebar__photo-placeholder{
  border-radius: 50%;
  font-size: 18px !important;
}
.egepon-sidebar__name{
  font-family: var(--font-sans) !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}
.egepon-sidebar__role{
  color: var(--ink-3) !important;
  font-size: 11.5px !important;
}
.egepon-sidebar__section-title{
  font-size: 10px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  color: var(--ink-4) !important;
  font-weight: 600 !important;
  padding: 8px 10px 4px !important;
  margin: 0 !important;
}
.egepon-sidebar__divider{
  height: 1px !important;
  background: var(--line) !important;
  margin: 4px 0 !important;
}
.egepon-sidebar__btn{
  display:flex !important;
  align-items:center;
  gap:10px !important;
  padding:9px 10px !important;
  border-radius: var(--r-sm) !important;
  color: var(--ink-2) !important;
  cursor:pointer;
  font-size:13.5px !important;
  font-weight: 500 !important;
  transition: background .15s, color .15s;
  border:0 !important;
  background: transparent !important;
  text-align:left;
  width:100%;
}
.egepon-sidebar__btn:hover{
  background: var(--milk-warm) !important;
  color: var(--ink) !important;
}
.egepon-sidebar__btn.is-active{
  background: var(--choco) !important;
  color: #FBF6EC !important;
}
.egepon-sidebar__btn .egepon-sidebar__ico{
  width:18px !important;
  height:18px !important;
  flex-shrink:0;
  opacity:.85;
  color: currentColor !important;
}

/* page heads */
.egepon-topbar{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  position: static !important;
}
.egepon-topbar__inner{
  padding: 0 0 22px !important;
  margin: 0 !important;
  max-width: none !important;
}
.egepon-topbar__title,
.egepon-section__title,
.egepon-hero__title{
  font-family: var(--font-display) !important;
  font-size: 38px !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  color: var(--ink) !important;
}
.egepon-section__title-script,
.egepon-hero__title-script{
  font-family: var(--font-script) !important;
  color: var(--strawberry) !important;
  font-size: 44px !important;
  font-weight: 600 !important;
}
.egepon-hero__eyebrow{
  font-size: 10.5px !important;
  letter-spacing: .14em !important;
  text-transform: uppercase;
  color: var(--ink-3) !important;
  font-weight: 600 !important;
}

/* cards/stat tiles как в макете */
.egepon-stats{
  display:grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap:12px !important;
  margin-bottom:22px !important;
}
.egepon-stat-card{
  background: var(--milk) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  padding: 18px 18px 16px !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: none !important;
}
.egepon-stat-card:nth-child(4n+1){ background: linear-gradient(180deg, #E7F4FF, var(--milk) 75%) !important; }
.egepon-stat-card:nth-child(4n+2){ background: linear-gradient(180deg, #E8F0D2, var(--milk) 75%) !important; }
.egepon-stat-card:nth-child(4n+3){ background: linear-gradient(180deg, #F8E5C2, var(--milk) 75%) !important; }
.egepon-stat-card:nth-child(4n+4){ background: linear-gradient(180deg, #E6D6CD, var(--milk) 75%) !important; }
.egepon-stat-card__label{
  font-size: 11.5px !important;
  color: var(--ink-3) !important;
  letter-spacing: .04em !important;
  text-transform: uppercase;
  font-weight: 600 !important;
}
.egepon-stat-card__value{
  font-family: var(--font-display) !important;
  font-size: 44px !important;
  line-height: 1 !important;
  font-weight: 500 !important;
  margin-top: 14px !important;
  letter-spacing: -0.03em !important;
  color: var(--ink) !important;
}

/* универсальные карточки */
.egepon-panel,
.egepon-section-card,
.egepon-task-card,
.egepon-student-card,
.egepon-bank-card,
.egepon-invite-card,
.egepon-question-card,
.egepon-home__login-card,
.egepon-teacher-card{
  background: var(--milk) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-lg) !important;
  box-shadow: var(--shadow-1) !important;
}
.egepon-task-card:hover,
.egepon-student-card:hover,
.egepon-bank-card:hover,
.egepon-teacher-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow-2) !important;
  border-color: rgba(199,51,47,.25) !important;
}
.egepon-panel__title,
.egepon-card-title,
.egepon-home__login-title,
.egepon-teacher-card__name{
  color: var(--ink) !important;
  font-weight: 600 !important;
}
.egepon-home__login-title,
.egepon-teacher-card__name{
  font-family: var(--font-display) !important;
}

/* tabs/buttons/input */
.egepon-tabs,
.egepon-filters{
  background: var(--milk-warm) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--r-pill) !important;
  padding: 4px !important;
  box-shadow: none !important;
}
.egepon-tab{
  background: transparent !important;
  color: var(--ink-2) !important;
  border-radius: var(--r-pill) !important;
  padding: 8px 14px !important;
  font-weight: 500 !important;
}
.egepon-tab.is-active{
  background: var(--choco) !important;
  color: #FBF6EC !important;
}
.egepon-btn,
.egepon-pill,
.egepon-pill-btn{
  border-radius: var(--r-pill) !important;
  font-family: var(--font-sans) !important;
  font-weight: 600 !important;
}
.egepon-btn--primary,
.egepon-pill-btn--primary,
.egepon-btn--lime{
  background: var(--strawberry) !important;
  color: #fff !important;
  border: 1px solid var(--strawberry) !important;
  box-shadow: 0 4px 14px rgba(199, 51, 47, .28) !important;
}
.egepon-btn--primary:hover,
.egepon-pill-btn--primary:hover,
.egepon-btn--lime:hover{
  background: var(--strawberry-2) !important;
  border-color: var(--strawberry-2) !important;
}
.egepon-btn--ghost,
.egepon-pill{
  background: var(--milk) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--line) !important;
}
.egepon-input,
.egepon-students-search__input,
.egepon-search-input,
.egepon-page input[type="text"],
.egepon-page input[type="email"],
.egepon-page input[type="password"],
.egepon-page textarea{
  background: var(--milk-warm) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  border-radius: var(--r-md) !important;
  font-family: var(--font-sans) !important;
}
.egepon-input:focus,
.egepon-page input:focus,
.egepon-page textarea:focus{
  border-color: var(--strawberry) !important;
  box-shadow: 0 0 0 3px rgba(199,51,47,.10) !important;
  outline: none !important;
}

/* Главная/логин — ближе к лендингу макета */
.egepon-home__main{
  max-width: 920px !important;
}
.egepon-home__title{
  font-family: var(--font-display) !important;
  font-weight: 500 !important;
  letter-spacing: -0.035em !important;
  color: var(--ink) !important;
}
.egepon-home__subtitle,
.egepon-home__subjects,
.egepon-home__login-sub,
.egepon-home__hint,
.egepon-teacher-card__sub{
  color: var(--ink-3) !important;
}
.egepon-home__donut{
  filter: none !important;
}

/* responsive */
@media (max-width: 1100px){
  .egepon-stats{ grid-template-columns: repeat(2,1fr) !important; }
  .egepon-grid{ grid-template-columns: 1fr !important; }
}
@media (max-width: 900px){
  .egepon-dashboard{
    display: block !important;
  }
  .egepon-sidebar{
    position: fixed !important;
    left: 0;
    top: 0;
    width: 284px !important;
    z-index: 1000;
    transform: translateX(-100%);
    transition: transform .2s ease;
  }
  .egepon-sidebar.is-open{ transform: translateX(0); }
  .egepon-topbar--minimal{
    display: block !important;
  }
  .egepon-content{
    padding: 18px !important;
  }
}
@media (max-width: 520px){
  .egepon-stats{ grid-template-columns: 1fr !important; }
  .egepon-topbar__title,
  .egepon-section__title,
  .egepon-hero__title{
    font-size: 30px !important;
  }
  .egepon-section__title-script,
  .egepon-hero__title-script{
    font-size: 36px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   v2.7.6 — точечные фиксы по обратной связи
   1) убираем второй скролл на полноэкранных страницах
   2) предметы на главной — красные и рукописные
   3) split-заголовки больше не наезжают на блоки ниже
   4) логин-карточка на мобильном компактнее
   ═══════════════════════════════════════════════════════════════════ */

/* 1. Один вертикальный скролл на странице, без внутреннего дублирующего */
html,
body.egepon-body,
body.egepon-fullscreen,
body.egepon-fullscreen #page,
body.egepon-fullscreen #content,
body.egepon-fullscreen #primary,
body.egepon-fullscreen #main,
body.egepon-fullscreen .site-main,
body.egepon-fullscreen .site-content,
body.egepon-fullscreen .content-area,
body.egepon-fullscreen .wp-site-blocks,
body.egepon-fullscreen .entry-content,
body.egepon-fullscreen .wp-block-post-content,
body.egepon-fullscreen .wp-block-group,
body.egepon-fullscreen main {
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  overflow: visible !important;
}
.egepon-page .egepon-main .egepon-content,
.egepon-content {
  overflow: visible !important;
  min-height: 0 !important;
}
.egepon-page.egepon-home,
.egepon-page.egepon-home .egepon-home__header,
.egepon-page.egepon-home .egepon-home__main {
  overflow: visible !important;
}

/* 2. Главная: предметы — красные, рукописные */
.egepon-home__subjects {
  color: var(--strawberry) !important;
  margin-bottom: 28px !important;
}
.egepon-home__subject {
  display: inline-block;
  font-family: var(--font-script) !important;
  font-size: clamp(28px, 4.2vw, 42px) !important;
  line-height: 1 !important;
  font-weight: 600 !important;
  color: var(--strawberry) !important;
}
.egepon-home__subjects-sep {
  display: inline-block;
  margin: 0 .2em;
  font-family: var(--font-sans) !important;
  font-size: clamp(18px, 2.3vw, 24px) !important;
  font-weight: 500;
  line-height: 1;
  color: var(--ink-3) !important;
  transform: translateY(-2px);
}

/* 3. Поднимаем split-заголовки и даём безопасный отступ снизу */
.egepon-page .egepon-section__title--split,
.egepon-page .egepon-topbar__title.egepon-section__title--split {
  align-items: flex-start !important;
  line-height: 1.12 !important;
  margin: 0 0 14px !important;
}
.egepon-page .egepon-section__title-script,
.egepon-page .egepon-hero__title-script {
  display: inline-block;
  transform: translateY(-6px);
}
.egepon-page .egepon-builder-topbar .egepon-hero__title {
  margin-bottom: 0 !important;
}
.egepon-page .egepon-section > .egepon-section-card:first-of-type,
.egepon-page .egepon-section > .egepon-students-toolbar:first-of-type,
.egepon-page .egepon-section > .egepon-grid:first-of-type,
.egepon-page .egepon-section > p:first-of-type {
  margin-top: 0 !important;
}

/* 4. Мобильная версия: карточка входа компактнее, не липнет к краям */
.egepon-home__login-card {
  width: min(100%, 448px) !important;
}
@media (max-width: 600px) {
  .egepon-home__main {
    padding: 22px 16px 44px !important;
  }
  .egepon-home__subjects {
    margin-bottom: 22px !important;
  }
  .egepon-home__subject {
    font-size: clamp(24px, 8vw, 34px) !important;
  }
  .egepon-home__login-card {
    width: min(100%, 360px) !important;
    margin: 0 auto 22px !important;
    padding: 26px 18px !important;
    border-radius: 22px !important;
  }
}
@media (max-width: 420px) {
  .egepon-home__login-card {
    width: calc(100% - 24px) !important;
  }
}

/* v2.7.7 — polishing fixes from review */
.egepon-page .egepon-stat-card__deco{
  display:none !important;
}
.egepon-page .egepon-stat-card{
  padding-right:18px !important;
}

/* Оставляем иконки только в блоке предметов */
.egepon-page .egepon-sidebar__btn:not([data-subject]) .egepon-sidebar__ico{
  display:none !important;
}
.egepon-page .egepon-sidebar__btn:not([data-subject]){
  gap:0 !important;
}

/* Пикер учеников */
.egepon-page .egepon-pick__head{
  align-items:flex-start;
}
.egepon-page .egepon-pick__counter{
  display:block;
  padding-left:2px;
  font-size:14px;
  line-height:1.35;
  white-space:normal;
}
.egepon-page .egepon-pick__search{
  gap:10px;
  padding:10px 14px;
}
.egepon-page .egepon-pick__search input{
  width:100%;
  min-width:0;
  font-size:16px;
}
.egepon-page .egepon-pick__search-count{
  display:none !important;
}
.egepon-page .egepon-chip--student{
  max-width:100%;
}
.egepon-page .egepon-chip__av{
  font-family: inherit;
  font-size: 15px;
}

/* Чтобы надписи в табах не выпирали на мобильном */
@media (max-width: 640px){
  .egepon-page .egepon-tabs{
    display:grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:8px !important;
    align-items:stretch;
  }
  .egepon-page .egepon-tab[data-tab],
  .egepon-page .egepon-tab[data-task-filter]{
    min-width:0;
    white-space:normal !important;
    text-align:center;
    justify-content:center;
    padding:10px 12px !important;
    line-height:1.2;
  }
  .egepon-page .egepon-tab[data-tab="overdue"]{
    grid-column:1 / -1;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.7.8 — белее фон, зелёный акцент, сайдбар до низа, мобильная шапка
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --cream: #FFFDF8;
  --milk: #FFFFFF;
  --milk-warm: #F5EFE2;
  --rose-milk: #DCBFB3;
  --rose-mist: #F3E7E0;
  --strawberry: #4DA8F0;
  --strawberry-2: #B22A27;
  --choco: #4E2D2C;
  --choco-2: #5A3837;
  --herb: #9CB769;
  --herb-soft: #E5F0CE;
  --line: rgba(78,45,44,.12);
  --line-2: rgba(78,45,44,.07);

  --bc-cream: #FFFDF8;
  --bc-milk: #FFFFFF;
  --bc-milk-warm: #F5EFE2;
  --bc-rose-mist: #F3E7E0;
  --bc-strawberry: #4DA8F0;
  --bc-strawberry-2: #B22A27;
  --bc-choco: #4E2D2C;
  --bc-choco-2: #5A3837;
  --bc-herb: #9CB769;
  --bc-herb-soft: #E5F0CE;
  --bc-line: rgba(78,45,44,.12);
  --bc-line-soft: rgba(78,45,44,.07);

  --eg-ivory: #FFFDF8;
  --eg-white: #FFFFFF;
  --eg-pear: #9CB769;
  --eg-pear-light: #E5F0CE;
}

body.egepon-body,
body.egepon-fullscreen,
.egepon-page{
  background:#FFFDF8 !important;
}
.egepon-page{
  background-image:
    radial-gradient(circle at 96% 5%, rgba(156,183,105,.12), transparent 34%),
    radial-gradient(circle at 4% 0%, rgba(199,51,47,.035), transparent 28%) !important;
  letter-spacing: .004em;
}
.egepon-page,
.egepon-page button,
.egepon-page input,
.egepon-page textarea,
.egepon-page select{
  letter-spacing: .004em !important;
}
.egepon-page h1,
.egepon-page h2,
.egepon-page h3,
.egepon-topbar__title,
.egepon-section__title,
.egepon-hero__title,
.egepon-home__title,
.egepon-brand__name,
.egepon-home__logo-text{
  letter-spacing: 0 !important;
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}
.egepon-section__title-script,
.egepon-hero__title-script,
.egepon-home__subject{
  letter-spacing: .01em !important;
}

/* Сайдбар: фон/бордер тянутся до самого низа экрана */
.egepon-dashboard{
  min-height:100vh !important;
  background:
    linear-gradient(to right, #FFFFFF 0, #FFFFFF 264px, transparent 264px),
    #FFFDF8 !important;
}
.egepon-sidebar{
  background:#FFFFFF !important;
  min-height:100vh !important;
  height:100vh !important;
  align-self:stretch !important;
  border-right:1px solid var(--line) !important;
}
@media (max-width:900px){
  .egepon-dashboard{ background:#FFFDF8 !important; }
  .egepon-sidebar{ height:100vh !important; min-height:100vh !important; }
}

/* Мобильная шапка ученика — не липнет к верхней границе */
@media (max-width:900px){
  .egepon-page .egepon-topbar:not(.egepon-topbar--minimal) .egepon-topbar__inner{
    padding-top: calc(24px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 26px !important;
  }
  .egepon-page .egepon-topbar__title,
  .egepon-page .egepon-topbar__title.egepon-section__title--split{
    margin-top: 4px !important;
  }
}

/* Статистические плашки: белее и спокойнее, без декоративных картинок */
.egepon-page .egepon-stat-card__deco{ display:none !important; }
.egepon-page .egepon-stat-card{
  background:#FFFFFF !important;
  border-color:rgba(78,45,44,.13) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset, 0 10px 26px -24px rgba(78,45,44,.28) !important;
}
.egepon-page .egepon-stat-card:nth-child(4n+1){ background:linear-gradient(180deg, #FFF3F1, #FFFFFF 76%) !important; }
.egepon-page .egepon-stat-card:nth-child(4n+2){ background:linear-gradient(180deg, #F1F7E3, #FFFFFF 76%) !important; }
.egepon-page .egepon-stat-card:nth-child(4n+3){ background:linear-gradient(180deg, #FFF4D9, #FFFFFF 76%) !important; }
.egepon-page .egepon-stat-card:nth-child(4n+4){ background:linear-gradient(180deg, #F2E5DE, #FFFFFF 76%) !important; }

/* Иконки в сайдбаре остаются только в блоке предметов */
.egepon-page .egepon-sidebar__btn:not([data-subject]) .egepon-sidebar__ico{
  display:none !important;
}
.egepon-page .egepon-sidebar__btn:not([data-subject]){
  gap:0 !important;
}

/* Точки возле предметов ученика */
.egepon-page .egepon-sidebar__btn[data-subject] > span{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.egepon-page .egepon-sidebar__btn[data-subject="rus"] > span::before,
.egepon-page .egepon-sidebar__btn[data-subject="obs"] > span::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  flex:0 0 8px;
}
.egepon-page .egepon-sidebar__btn[data-subject="rus"] > span::before{
  background:#4DA8F0;
}
.egepon-page .egepon-sidebar__btn[data-subject="obs"] > span::before{
  background:#9CB769;
}
.egepon-page .egepon-sidebar__btn[data-subject="all"] > span::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  flex:0 0 8px;
  background:linear-gradient(135deg, #4DA8F0 0 50%, #9CB769 50% 100%);
}

/* Больше белого в карточках/панелях */
.egepon-panel,
.egepon-section-card,
.egepon-task-card,
.egepon-student-card,
.egepon-bank-card,
.egepon-invite-card,
.egepon-question-card,
.egepon-home__login-card,
.egepon-teacher-card,
.egepon-form-card{
  background:#FFFFFF !important;
}
.egepon-page .egepon-pick__search,
.egepon-page .egepon-tabs,
.egepon-page .egepon-filters{
  background:#F8F2E7 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   v2.7.9 — фиксы: отступ шапки ученика + скрытие статистики с !important
   ═══════════════════════════════════════════════════════════════════ */

/* У ученика верхняя надпись больше не прилипает к краю окна */
.egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner{
  padding-top: 34px !important;
  padding-bottom: 28px !important;
}

/* На телефоне оставляем ещё больше воздуха сверху */
@media (max-width: 900px){
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner{
    padding-top: max(32px, env(safe-area-inset-top) + 22px) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

/* Статистика ученика: скрывать на вкладках Домашки/Пробники.
   Нужен !important, потому что раньше сетка статистики задавалась через display:grid!important. */
.egepon-page #egepon-stats.egepon-stats--hidden,
.egepon-page[data-student-kind="homework"] #egepon-stats,
.egepon-page[data-student-kind="mock"] #egepon-stats{
  display: none !important;
}

/* Когда статистика скрыта, сетка заданий занимает всю ширину */
.egepon-page[data-student-kind="homework"] .egepon-grid,
.egepon-page[data-student-kind="mock"] .egepon-grid{
  grid-template-columns: minmax(0, 1fr) !important;
}
.egepon-page[data-student-kind="homework"] .egepon-side-panels,
.egepon-page[data-student-kind="mock"] .egepon-side-panels{
  display:none !important;
}


/* ═══════════════════════════════════════════════════════════════════
   v2.7.10 — ученик: пробники в верхней строке, без типа в сайдбаре
   ═══════════════════════════════════════════════════════════════════ */

/* Страховка: если старый HTML где-то закэшировался, всё равно прячем блок «Тип». */
.egepon-page.egepon-dashboard:not([data-role]) .egepon-sidebar__section-title + .egepon-sidebar__btn[data-kind],
.egepon-page.egepon-dashboard:not([data-role]) .egepon-sidebar__btn[data-kind]{
  display: none !important;
}

/* Больше воздуха сверху у ученического заголовка */
.egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar,
.egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner{
  padding-top: 0 !important;
}
.egepon-page.egepon-dashboard:not([data-role]) .egepon-content{
  padding-top: 34px !important;
}
.egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner{
  transform: translateY(22px);
  margin-bottom: 36px !important;
}
@media (max-width: 900px){
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-content{
    padding-top: max(36px, env(safe-area-inset-top) + 26px) !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner{
    transform: translateY(18px);
    margin-bottom: 30px !important;
  }
}

/* Новая строка табов: 4 вкладки аккуратно помещаются */
.egepon-page.egepon-dashboard:not([data-role]) .egepon-tabs{
  display:grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap:6px !important;
}
.egepon-page.egepon-dashboard:not([data-role]) .egepon-tab[data-tab]{
  width:100%;
  min-width:0;
  justify-content:center;
  text-align:center;
  white-space:normal !important;
}
@media (max-width: 700px){
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-tabs{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* На вкладке «Пробники» убираем статистику и правую панель прогресса. */
.egepon-page[data-student-tab="mock"] #egepon-stats,
.egepon-page[data-student-tab="mock"] .egepon-side-panels{
  display:none !important;
}
.egepon-page[data-student-tab="mock"] .egepon-grid{
  grid-template-columns:minmax(0, 1fr) !important;
}

/* Пустое состояние больше не липнет к краю и выглядит как отдельная карточка. */
.egepon-page .egepon-task-card--empty{
  padding: 30px 28px !important;
  margin-top: 14px !important;
  min-height: 76px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.egepon-page .egepon-task-card--empty .egepon-task-card__title{
  margin:0 !important;
  text-align:center !important;
  color:var(--ink-3) !important;
  letter-spacing:0 !important;
}

/* v2.8.0 — уведомления, группы, маленькая косметика */
.egepon-page .egepon-topbar__right{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-left:auto;
  padding-right:32px;
}
.egepon-page .egepon-topbar__icon{
  margin-right:0 !important;
}
.egepon-page .egepon-notify-btn{
  position:relative;
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(46,26,24,.05);
}
.egepon-page .egepon-notify-btn__count{
  position:absolute;
  top:-5px;
  right:-5px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#4DA8F0;
  color:#fff;
  font-size:11px;
  font-weight:700;
}
.egepon-page .egepon-notify-panel{
  position:absolute;
  top:76px;
  right:38px;
  z-index:50;
  width:min(360px, calc(100vw - 28px));
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 24px 60px -20px rgba(46,26,24,.25);
  padding:12px;
}
.egepon-page .egepon-notify-panel__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}
.egepon-page .egepon-notify-panel__head button{
  border:0;
  background:transparent;
  color:#4DA8F0;
  cursor:pointer;
  font-size:12px;
  font-weight:600;
}
.egepon-page .egepon-notify-item{
  width:100%;
  display:flex;
  gap:10px;
  text-align:left;
  padding:10px;
  border:0;
  border-radius:12px;
  background:transparent;
  cursor:pointer;
}
.egepon-page .egepon-notify-item:hover{ background:#faf7f0; }
.egepon-page .egepon-notify-item__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:transparent;
  margin-top:7px;
  flex:0 0 8px;
}
.egepon-page .egepon-notify-item.is-unread .egepon-notify-item__dot{ background:#4DA8F0; }
.egepon-page .egepon-notify-item__body{ display:grid; gap:2px; min-width:0; }
.egepon-page .egepon-notify-item__body b{ color:#2e1a18; font-size:14px; }
.egepon-page .egepon-notify-item__body em{ color:rgba(46,26,24,.66); font-style:normal; font-size:13px; }
.egepon-page .egepon-notify-item__body small{ color:rgba(46,26,24,.42); font-size:11px; }

.egepon-page .egepon-groups-layout{
  display:grid;
  grid-template-columns:minmax(280px, 420px) 1fr;
  gap:18px;
}
.egepon-page .egepon-group-students{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:16px;
}
.egepon-page .egepon-group-student{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  cursor:pointer;
  font-size:14px;
}
.egepon-page .egepon-group-card{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding:14px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:16px;
  margin-bottom:10px;
}
.egepon-page .egepon-group-card b{ font-size:16px; color:#2e1a18; }
.egepon-page .egepon-group-card p{ margin:4px 0; color:rgba(46,26,24,.62); }
.egepon-page .egepon-group-card small{ color:rgba(46,26,24,.48); }
.egepon-page .egepon-group-card__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.egepon-page .egepon-pick__groups{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
}
.egepon-page .egepon-pick__groups > span{
  font-size:12px;
  color:rgba(46,26,24,.52);
  font-weight:600;
}
.egepon-page .egepon-chip--group{
  background:#f7fff0 !important;
  border-color:rgba(156,183,105,.35) !important;
  color:#4e2d2c !important;
}
@media (max-width: 900px){
  .egepon-page .egepon-topbar__right{ padding-right:18px; }
  .egepon-page .egepon-notify-panel{ top:82px; right:14px; }
  .egepon-page .egepon-groups-layout{ grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.8.2 — фиксы ученика: шапка, уведомления, вкладки с цифрами,
   статистика на пробниках, режим прохождения по вопросам.
   ═══════════════════════════════════════════════════════════════════ */

/* Шапка ученика: больше воздуха сверху и слева, без прилипания к краям */
.egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar{
  min-height: 154px !important;
  padding: 0 !important;
  overflow: visible !important;
  position: relative !important;
  z-index: 20 !important;
}
.egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner{
  transform: none !important;
  margin: 0 !important;
  padding: 30px 44px 42px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 24px !important;
  position: relative !important;
}
.egepon-page.egepon-dashboard:not([data-role]) .egepon-content{
  padding-top: 0 !important;
}
.egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__title,
.egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__title.egepon-section__title--split{
  margin-top: 4px !important;
}
@media (max-width: 900px){
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar{
    min-height: 132px !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner{
    padding: max(26px, env(safe-area-inset-top) + 18px) 18px 32px !important;
  }
}

/* Уведомления: компактная выпадашка строго под колокольчиком */
.egepon-page .egepon-topbar__right{
  position: relative !important;
  flex: 0 0 auto !important;
  padding-right: 24px !important;
  z-index: 80 !important;
}
.egepon-page .egepon-notify-panel{
  position: absolute !important;
  top: 52px !important;
  right: 0 !important;
  z-index: 9999 !important;
  width: min(340px, calc(100vw - 32px)) !important;
  max-height: 360px !important;
  overflow: auto !important;
  padding: 10px !important;
}
.egepon-page .egepon-notify-panel[hidden]{
  display: none !important;
}
.egepon-page .egepon-notify-panel .egepon-loading{
  padding: 18px 12px !important;
  margin: 0 !important;
  text-align: center !important;
}
.egepon-page .egepon-notify-panel__head{
  padding: 2px 4px 8px !important;
  border-bottom: 1px solid rgba(78,45,44,.08);
}
@media (max-width: 900px){
  .egepon-page .egepon-topbar__right{ padding-right: 0 !important; }
  .egepon-page .egepon-notify-panel{
    position: fixed !important;
    top: 76px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
  }
}

/* Статистика и прогресс должны быть видны на Пробниках тоже */
.egepon-page[data-student-tab="mock"] #egepon-stats,
.egepon-page[data-student-tab="mock"] .egepon-side-panels,
.egepon-page[data-student-kind="mock"] #egepon-stats,
.egepon-page[data-student-kind="mock"] .egepon-side-panels{
  display: grid !important;
}
.egepon-page[data-student-tab="mock"] .egepon-grid,
.egepon-page[data-student-kind="mock"] .egepon-grid{
  grid-template-columns: minmax(0, 1fr) 320px !important;
}
@media (max-width: 1100px){
  .egepon-page[data-student-tab="mock"] .egepon-grid,
  .egepon-page[data-student-kind="mock"] .egepon-grid{
    grid-template-columns: 1fr !important;
  }
}

/* Вкладки: текст + счётчик */
.egepon-page.egepon-dashboard:not([data-role]) .egepon-tab[data-tab]{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
.egepon-page.egepon-dashboard:not([data-role]) .egepon-tab[data-tab] b[data-tab-count]{
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(46,26,24,.08);
  color: inherit;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.egepon-page.egepon-dashboard:not([data-role]) .egepon-tab[data-tab].is-active b[data-tab-count]{
  background: rgba(255,255,255,.22);
  color: #fff;
}

/* Режим прохождения задания: один вопрос на экране + навигация */
.egepon-answer-page{
  display: none !important;
}
.egepon-answer-page.is-active{
  display: block !important;
}
.egepon-question-pager{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 14px;
  padding: 12px 14px;
  background: #F8F2E7;
  border: 1px solid rgba(78,45,44,.10);
  border-radius: 18px;
}
.egepon-question-pager__label{
  font-weight: 700;
  color: #4E2D2C;
}
.egepon-question-pager__dots{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.egepon-question-pager__dots button{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(78,45,44,.12);
  background: #fff;
  color: #4E2D2C;
  font-weight: 700;
  cursor: pointer;
}
.egepon-question-pager__dots button.is-active{
  background: #4E2D2C;
  border-color: #4E2D2C;
  color: #fff;
}
.egepon-question-pager__bottom{
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  margin: 18px 0 8px;
}
.egepon-question-pager__bottom [data-answer-progress]{
  color: rgba(46,26,24,.55);
  font-weight: 600;
  white-space: nowrap;
}
.egepon-question-pager__bottom .egepon-btn:last-child{
  justify-self: end;
}
.egepon-answer-item{
  background: #fff !important;
  border: 1px solid rgba(199,51,47,.22) !important;
  border-radius: 20px !important;
  padding: 18px !important;
  box-shadow: 0 1px 2px rgba(46,26,24,.04) !important;
}
.egepon-answer-item__head{
  background: linear-gradient(180deg, #F8F2E7, #fff 90%) !important;
  border-radius: 14px !important;
  padding: 14px !important;
  margin: -2px -2px 14px !important;
}
.egepon-answer-item__num{
  background: #4E2D2C !important;
  color: #fff !important;
}
@media (max-width: 640px){
  .egepon-question-pager,
  .egepon-question-pager__bottom{
    grid-template-columns: 1fr;
    display: grid;
  }
  .egepon-question-pager__dots{
    justify-content: flex-start;
  }
  .egepon-question-pager__bottom .egepon-btn,
  .egepon-question-pager__bottom .egepon-btn:last-child{
    width: 100%;
    justify-self: stretch;
  }
  .egepon-question-pager__bottom [data-answer-progress]{
    text-align: center;
  }
}

/* v2.8.3 — правки ответов, навигации и цветных точек */
.egepon-page .egepon-answer-input,
.egepon-page .egepon-answer-item input.egepon-answer-input{
  display:block !important;
  width:calc(100% - 24px) !important;
  margin:0 12px 4px !important;
  box-sizing:border-box !important;
  background:#fff !important;
  color:#2E1A18 !important;
  border:1px solid rgba(78,45,44,.18) !important;
  border-radius:14px !important;
  padding:14px 16px !important;
  font-size:16px !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
}
.egepon-page .egepon-answer-item .ql-toolbar.ql-snow,
.egepon-page .egepon-answer-item .ql-container.ql-snow,
.egepon-page .egepon-answer-quill.ql-container.ql-snow{
  width:calc(100% - 24px) !important;
  margin-left:12px !important;
  margin-right:12px !important;
  background:#fff !important;
  border-color:rgba(78,45,44,.18) !important;
}
.egepon-page .egepon-answer-item .ql-toolbar.ql-snow{
  border-radius:14px 14px 0 0 !important;
  border-bottom:0 !important;
  padding:10px 12px !important;
}
.egepon-page .egepon-answer-item .ql-container.ql-snow,
.egepon-page .egepon-answer-quill.ql-container.ql-snow{
  border-radius:0 0 14px 14px !important;
  min-height:150px !important;
}
.egepon-page .egepon-answer-item .ql-editor{
  background:#fff !important;
  font-size:16px !important;
  line-height:1.55 !important;
  letter-spacing:0 !important;
  color:#2E1A18 !important;
  padding:14px 16px !important;
  min-height:140px !important;
}
.egepon-page .egepon-answer-item .ql-editor.ql-blank::before{
  font-size:16px !important;
  color:rgba(46,26,24,.45) !important;
  font-style:normal !important;
  left:16px !important;
  right:16px !important;
}

/* Небольшие стрелочки вместо больших кнопок Предыдущий/Следующий */
.egepon-question-pager__bottom{
  grid-template-columns:auto 1fr auto !important;
  justify-content:center !important;
  align-items:center !important;
  max-width:260px;
  margin:18px auto 8px !important;
}
.egepon-answer-arrow{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid rgba(78,45,44,.14);
  background:#fff;
  color:#4E2D2C;
  font-size:20px;
  font-weight:800;
  line-height:1;
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(46,26,24,.05);
}
.egepon-answer-arrow:hover:not(:disabled){
  border-color:#4DA8F0;
  color:#4DA8F0;
}
.egepon-answer-arrow:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.egepon-question-pager__bottom [data-answer-progress]{
  text-align:center !important;
}
@media (max-width:640px){
  .egepon-question-pager__bottom{
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    max-width:260px;
  }
}

/* Пирожок типов вопросов на карточках заданий */
.egepon-task-card__icon--pie,
.egepon-task-card__icon:has(.egepon-task-pie){
  padding:0 !important;
  background:transparent !important;
  border-radius:50% !important;
  width:22px;
  height:22px;
  display:inline-grid;
  place-items:center;
  flex:0 0 22px;
}
.egepon-task-pie{
  width:22px;
  height:22px;
  border-radius:50%;
  display:inline-block;
  flex:0 0 22px;
  border:3px solid #fff;
  box-shadow:0 0 0 1px rgba(78,45,44,.10), 0 1px 3px rgba(46,26,24,.10);
}
.egepon-task-pie--empty{
  background:#F3C6C1;
}
.egepon-task-card__icon--avatar{
  border:3px solid #fff !important;
  box-shadow:0 0 0 1px rgba(78,45,44,.10) !important;
}

/* Белая обводка у цветных точек/меток */
.egepon-page .egepon-sidebar__btn[data-subject] > span::before,
.egepon-page .egepon-tone-chip__dot{
  border:2px solid #fff !important;
  box-shadow:0 0 0 1px rgba(78,45,44,.10) !important;
}


/* v2.8.4 — фикс раздела групп после косметического обновления */
.egepon-page .egepon-force-hidden {
  display: none !important;
}
.egepon-page .egepon-section__sub {
  color: rgba(46,26,24,.56);
  font-size: 15px;
  margin: -4px 0 18px;
}


/* v2.8.6 — единый вход, живое приветствие и мобильная доводка кабинета */
.egepon-home__header--simple{
  justify-content:flex-start !important;
}
.egepon-home__main--unified{
  padding-top:26px !important;
}
.egepon-home__main--unified .egepon-home__title{
  margin:0 0 12px !important;
}
.egepon-home__donut--brand{
  font-size:0 !important;
  line-height:1 !important;
  margin:0 auto 22px !important;
  width:118px;
  height:118px;
  display:grid !important;
  place-items:center;
  animation:eg-float 3.5s ease-in-out infinite;
  filter:none !important;
}
.egepon-home__hero-mark{
  width:112px;
  height:112px;
  display:block;
}
.egepon-home__main--unified .egepon-home__subjects{
  margin-bottom:34px !important;
}
.egepon-home__main--unified .egepon-home__login-card{
  margin-top:0 !important;
}

@media (max-width:640px){
  .egepon-home__header--simple{
    padding:22px 26px 0 !important;
  }
  .egepon-home__main--unified{
    padding-top:32px !important;
  }
  .egepon-home__donut--brand{
    width:92px;
    height:92px;
    margin-bottom:18px !important;
  }
  .egepon-home__hero-mark{
    width:88px;
    height:88px;
  }
  .egepon-home__main--unified .egepon-home__login-card{
    width:calc(100% - 24px) !important;
  }
}

/* Мобильные вкладки ученика — 2×2 без развала слов */
@media (max-width:640px){
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-content{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-tabs{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
    padding:8px !important;
    border-radius:34px !important;
    max-width:100% !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-tab[data-tab]{
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:52px !important;
    padding:10px 10px !important;
    border-radius:999px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
    font-size:15px !important;
    line-height:1.15 !important;
    text-align:center !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-tab[data-tab] span{
    display:inline-block !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    min-width:0 !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-tab[data-tab] b[data-tab-count]{
    flex:0 0 auto !important;
    min-width:28px !important;
    height:28px !important;
    font-size:14px !important;
  }

  .egepon-page.egepon-dashboard:not([data-role]) .egepon-task-card{
    padding:18px 18px !important;
    border-radius:24px !important;
    min-height:auto !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-task-card__head{
    display:grid !important;
    grid-template-columns:42px minmax(0, 1fr) !important;
    gap:12px !important;
    align-items:start !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-task-card__icon{
    grid-row:1 / span 2;
    margin-top:2px;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-task-card__title{
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:8px 10px !important;
    min-width:0 !important;
    margin:0 !important;
    font-size:20px !important;
    line-height:1.18 !important;
    overflow-wrap:break-word !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-task-card__kind{
    flex:0 0 auto !important;
    font-size:14px !important;
    padding:8px 12px !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-task-card__meta{
    margin:10px 0 0 54px !important;
    font-size:18px !important;
    line-height:1.35 !important;
  }
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-task-pie{
    width:30px !important;
    height:30px !important;
  }
}

/* Модалка задания на телефоне: без прилипаний к краям */
@media (max-width:640px){
  .egepon-modal{
    padding:12px !important;
    align-items:flex-start !important;
  }
  .egepon-modal__dialog,
  .egepon-modal__dialog--xwide{
    width:100% !important;
    max-width:100% !important;
    margin:12px auto !important;
    padding:20px 16px !important;
    border-radius:24px !important;
  }
  .egepon-question-pager{
    border-radius:20px !important;
  }
  .egepon-answer-item{
    padding:14px !important;
    border-radius:22px !important;
  }
  .egepon-answer-item__head{
    display:grid !important;
    grid-template-columns:auto minmax(0, 1fr) !important;
    gap:10px !important;
    align-items:start !important;
  }
  .egepon-answer-item__max{
    grid-column:2;
    justify-self:start !important;
    margin-top:2px;
  }
  .egepon-page .egepon-answer-input,
  .egepon-page .egepon-answer-item input.egepon-answer-input,
  .egepon-page .egepon-answer-item .ql-toolbar.ql-snow,
  .egepon-page .egepon-answer-item .ql-container.ql-snow,
  .egepon-page .egepon-answer-quill.ql-container.ql-snow{
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* Живой заголовок: добавляем безопасный отступ, чтобы браузерная шапка не резала текст */
@media (max-width:640px){
  .egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner{
    padding-top:34px !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   v2.8.7 — мобильная стабилизация преподавателя, ученики-карточки,
   модалки/скролл, поиск ученика, вход без шапки и анимации
   ═══════════════════════════════════════════════════════════════════ */

/* Экран входа: убираем верхнюю надпись ЕГЭпон и анимацию пончика */
.egepon-home__header--empty,
.egepon-home__header--simple.egepon-home__header--empty{
  display:none !important;
}
.egepon-home__donut--brand{
  animation:none !important;
  transform:none !important;
}
.egepon-home__main--unified{
  padding-top:42px !important;
}
@media (max-width:640px){
  .egepon-home__main--unified{
    padding-top:34px !important;
  }
}

/* Длинный мобильный сайдбар должен прокручиваться */
@media (max-width:900px){
  .egepon-sidebar{
    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    padding-bottom:calc(28px + env(safe-area-inset-bottom, 0px)) !important;
    overscroll-behavior:contain;
  }
}

/* Преподаватель: меньше пустоты сверху на телефоне, но без прилипания */
@media (max-width:900px){
  .egepon-page.egepon-dashboard[data-role] .egepon-topbar--minimal{
    display:block !important;
    min-height:58px !important;
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-topbar--minimal .egepon-topbar__menu{
    display:block !important;
    padding:18px 18px 10px !important;
    font-size:30px !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-content{
    padding-top:10px !important;
    padding-left:18px !important;
    padding-right:18px !important;
    padding-bottom:calc(80px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* Карточки заданий преподавателя на телефоне: больше не складываются в вертикальные буквы */
@media (max-width:700px){
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card{
    padding:18px !important;
    border-radius:22px !important;
    overflow:hidden !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__head{
    display:grid !important;
    grid-template-columns:52px 30px minmax(0, 1fr) !important;
    grid-template-areas:
      "av pie title"
      "av pie status" !important;
    column-gap:12px !important;
    row-gap:6px !important;
    align-items:center !important;
    min-width:0 !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__icon--avatar{
    grid-area:av !important;
    width:46px !important;
    height:46px !important;
    font-size:24px !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__icon--pie,
  .egepon-page.egepon-dashboard[data-role] .egepon-task-pie{
    grid-area:pie !important;
    width:24px !important;
    height:24px !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__title{
    grid-area:title !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    font-size:18px !important;
    line-height:1.22 !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__kind{
    flex:0 0 auto !important;
    font-size:12px !important;
    padding:6px 10px !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__status,
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__score{
    grid-area:status !important;
    justify-self:start !important;
    font-size:12px !important;
    margin:0 !important;
    white-space:nowrap !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__meta{
    margin:12px 0 0 94px !important;
    font-size:14px !important;
    line-height:1.35 !important;
  }
}
@media (max-width:420px){
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__head{
    grid-template-columns:46px 24px minmax(0, 1fr) !important;
    column-gap:10px !important;
  }
  .egepon-page.egepon-dashboard[data-role] .egepon-task-card__meta{
    margin-left:80px !important;
  }
}

/* Карточки учеников — кликабельные */
.egepon-student-card--clickable{
  cursor:pointer !important;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease !important;
}
.egepon-student-card--clickable:focus-visible{
  outline:3px solid rgba(199,51,47,.22) !important;
  outline-offset:3px !important;
}
.egepon-student-card--clickable:hover{
  transform:translateY(-2px) !important;
}

/* Модалки: прокрутка на телефоне и без обрезания кнопок снизу */
.egepon-modal{
  overflow-y:auto !important;
  overflow-x:hidden !important;
  align-items:flex-start !important;
  -webkit-overflow-scrolling:touch !important;
  padding-top:24px !important;
  padding-bottom:calc(32px + env(safe-area-inset-bottom, 0px)) !important;
}
.egepon-modal__dialog{
  max-height:none !important;
  overflow:visible !important;
}
@media (max-width:700px){
  .egepon-modal{
    padding:14px 10px calc(96px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .egepon-modal__dialog,
  .egepon-modal__dialog--wide,
  .egepon-modal__dialog--xwide{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    max-height:none !important;
    overflow:visible !important;
    border-radius:24px !important;
    padding:22px 16px !important;
    box-sizing:border-box !important;
  }
  .egepon-grade-row{
    grid-template-columns:1fr !important;
  }
  .egepon-task-modal__buttons{
    position:static !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
}

/* Модалка профиля ученика */
.egepon-student-detail-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}
.egepon-student-detail-avatar{
  width:58px;
  height:58px;
  border-radius:18px;
  background:#f4c8c4;
  display:grid;
  place-items:center;
  font-size:28px;
  flex:0 0 58px;
}
.egepon-student-detail-stats{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px;
  margin:12px 0 16px;
}
.egepon-student-detail-stats > div{
  border-radius:16px;
  background:#faf7f0;
  border:1px solid rgba(78,45,44,.1);
  padding:12px;
  display:grid;
  gap:2px;
}
.egepon-student-detail-stats b{
  font-family:var(--font-display, Georgia, serif);
  font-size:30px;
  color:#2e1a18;
}
.egepon-student-detail-stats span{
  color:rgba(46,26,24,.58);
  font-size:13px;
}
.egepon-student-detail-columns{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
}
.egepon-student-detail-columns section{
  border:1px solid rgba(78,45,44,.1);
  border-radius:18px;
  padding:12px;
  background:#fff;
}
.egepon-student-detail-columns h3{
  margin:0 0 10px;
  font-size:15px;
  color:#4e2d2c;
}
.egepon-student-detail-task{
  width:100%;
  border:1px solid rgba(78,45,44,.1);
  background:#fffdf8;
  border-radius:14px;
  padding:10px;
  text-align:left;
  display:grid;
  gap:3px;
  cursor:pointer;
  margin-bottom:8px;
}
.egepon-student-detail-task:hover{
  border-color:rgba(199,51,47,.3);
}
.egepon-student-detail-task b{
  color:#2e1a18;
  overflow-wrap:anywhere;
}
.egepon-student-detail-task span{
  color:rgba(46,26,24,.58);
  font-size:12px;
}
.egepon-student-detail-actions{
  justify-content:flex-end;
  margin-top:16px;
}
.egepon-btn--danger{
  color:#4DA8F0 !important;
  border-color:rgba(199,51,47,.35) !important;
}
@media (max-width:700px){
  .egepon-student-detail-stats,
  .egepon-student-detail-columns{
    grid-template-columns:1fr !important;
  }
}

/* Поиск существующего ученика: нормальная сетка на ПК и телефон */
#egepon-attach-modal .egepon-modal__dialog{
  max-width:760px !important;
}
#egepon-attach-search{
  width:100% !important;
  box-sizing:border-box !important;
}
.egepon-attach-result{
  display:grid !important;
  grid-template-columns:56px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
  box-sizing:border-box !important;
}
.egepon-attach-result__btn{
  white-space:nowrap !important;
}
@media (max-width:700px){
  .egepon-attach-result{
    grid-template-columns:52px minmax(0,1fr) !important;
  }
  .egepon-attach-result__btn{
    grid-column:1 / -1 !important;
    width:100% !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .egepon-attach-result__name,
  .egepon-attach-result__meta{
    overflow-wrap:anywhere !important;
  }
}

/* v2.8.8 — Библиотека знаний */
.egepon-library-editor-grid{
  display:grid;
  grid-template-columns:minmax(280px, 420px) minmax(0, 1fr);
  gap:18px;
  align-items:start;
}
.egepon-library-list{display:flex;flex-direction:column;gap:18px;}
.egepon-library-subject{display:flex;flex-direction:column;gap:16px;}
.egepon-library-subject > h3,
.egepon-library-section > h4{
  margin:0 0 10px;
  color:var(--ink);
  letter-spacing:.005em;
}
.egepon-library-subject > h3{
  font-family:var(--font-display) !important;
  font-size:30px;
  font-weight:500;
}
.egepon-library-section{
  background:rgba(255,255,255,.58);
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px;
}
.egepon-library-section > h4{
  font-size:17px;
  font-weight:700;
}
.egepon-library-cards{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
}
.egepon-library-card{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:#fff;
  border:1px solid rgba(46,26,24,.10);
  border-radius:18px;
  padding:16px;
  box-shadow:0 1px 2px rgba(46,26,24,.04);
}
.egepon-library-card__file{
  width:52px;
  height:52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  flex:0 0 52px;
  background:linear-gradient(180deg,#E7F4FF,#fff 86%);
  color:var(--strawberry);
  border:1px solid rgba(199,51,47,.18);
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
}
.egepon-library-card__body{min-width:0;flex:1;}
.egepon-library-card h4{
  margin:0 0 4px;
  color:var(--ink);
  font-size:17px;
  line-height:1.2;
  word-break:break-word;
}
.egepon-library-card__meta,
.egepon-library-card__filename,
.egepon-library-card__desc{
  margin:0 0 8px;
  color:var(--ink-3);
  font-size:13.5px;
  line-height:1.35;
}
.egepon-library-card__filename{
  font-family:var(--font-mono);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.egepon-library-card__actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.egepon-empty-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:28px;
  text-align:center;
  color:var(--ink-3);
  font-weight:600;
}
.egepon-section__subtitle{
  margin:4px 0 18px;
  color:var(--ink-3);
  font-size:15px;
}
#egepon-student-library[hidden],
.egepon-stats[hidden],
.egepon-grid[hidden]{display:none !important;}
@media (max-width: 820px){
  .egepon-library-editor-grid{grid-template-columns:1fr;}
  .egepon-library-cards{grid-template-columns:1fr;}
  .egepon-library-section{padding:14px;}
  .egepon-library-card{padding:14px;}
}


/* ═══════════════════════════════════════════════════════════════════
   v2.8.9 — фикс скролла сайдбара + главная: ниже, без горизонтального
   скролла, с декоративной посыпкой
   ═══════════════════════════════════════════════════════════════════ */

/* На всех плагинских экранах не даём появляться горизонтальной прокрутке */
html,
body.egepon-body,
body.egepon-fullscreen,
.egepon-page{
  width:100% !important;
  max-width:100vw !important;
  overflow-x:hidden !important;
}
.egepon-page *,
.egepon-page *::before,
.egepon-page *::after{
  box-sizing:border-box;
}

/* Сайдбар: прокручивается и на десктопе, и на телефоне, если пунктов стало много */
.egepon-page .egepon-sidebar,
.egepon-sidebar{
  max-height:100vh !important;
  max-height:100dvh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  overscroll-behavior-y:contain !important;
  scrollbar-gutter:stable;
  padding-bottom:calc(42px + env(safe-area-inset-bottom, 0px)) !important;
}
@media (max-width:900px){
  .egepon-page .egepon-sidebar,
  .egepon-sidebar,
  .egepon-sidebar.is-open{
    height:100dvh !important;
    min-height:0 !important;
    max-height:100dvh !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    touch-action:pan-y !important;
    padding-bottom:calc(86px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .egepon-page .egepon-sidebar__btn{
    flex-shrink:0;
  }
}

/* Главная: опускаем весь блок ниже, чтобы заголовок не прилипал к верху */
.egepon-page.egepon-home{
  position:relative;
  min-height:100svh;
  overflow:hidden !important;
  isolation:isolate;
}
.egepon-home__main--unified,
.egepon-home__main{
  position:relative;
  z-index:1;
  padding-top:clamp(72px, 9vh, 110px) !important;
  padding-left:clamp(18px, 4vw, 34px) !important;
  padding-right:clamp(18px, 4vw, 34px) !important;
  max-width:min(920px, 100vw) !important;
  overflow:visible !important;
}
@media (max-width:640px){
  .egepon-home__main--unified,
  .egepon-home__main{
    padding-top:72px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .egepon-home__title{
    font-size:clamp(54px, 15vw, 74px) !important;
    line-height:.95 !important;
  }
}

/* Названия предметов на главной не должны создавать горизонтальный скролл */
.egepon-home__subjects{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:center !important;
  gap:0 .28em !important;
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  white-space:normal !important;
}
.egepon-home__subject{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  text-align:center;
}
@media (max-width:480px){
  .egepon-home__subjects{
    line-height:1.05 !important;
  }
  .egepon-home__subject{
    font-size:clamp(30px, 10vw, 42px) !important;
  }
  .egepon-home__subjects-sep{
    font-size:22px !important;
  }
}

/* Декоративная «посыпка» на главной — лёгкие точки и палочки, без картинок */
.egepon-page.egepon-home::before,
.egepon-page.egepon-home::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
}
.egepon-page.egepon-home::before{
  opacity:.55;
  background:
    radial-gradient(circle at 7% 14%, #E48BA3 0 3px, transparent 4px),
    radial-gradient(circle at 91% 12%, #4DA8F0 0 2.5px, transparent 3.5px),
    radial-gradient(circle at 16% 83%, #E0A646 0 3px, transparent 4px),
    radial-gradient(circle at 82% 73%, #8FB35A 0 3px, transparent 4px),
    radial-gradient(circle at 42% 18%, #7DA9D2 0 2.5px, transparent 3.5px),
    radial-gradient(circle at 57% 90%, #F3B7B0 0 2.5px, transparent 3.5px),
    radial-gradient(circle at 4% 58%, #4DA8F0 0 2px, transparent 3px),
    radial-gradient(circle at 96% 46%, #E0A646 0 2px, transparent 3px);
}
.egepon-page.egepon-home::after{
  opacity:.42;
  background:
    linear-gradient(35deg, transparent 0 calc(50% - 2px), #4DA8F0 calc(50% - 2px) calc(50% + 2px), transparent calc(50% + 2px)) 12% 24%/28px 12px no-repeat,
    linear-gradient(-28deg, transparent 0 calc(50% - 2px), #8FB35A calc(50% - 2px) calc(50% + 2px), transparent calc(50% + 2px)) 86% 28%/30px 12px no-repeat,
    linear-gradient(18deg, transparent 0 calc(50% - 2px), #E0A646 calc(50% - 2px) calc(50% + 2px), transparent calc(50% + 2px)) 22% 66%/32px 12px no-repeat,
    linear-gradient(-42deg, transparent 0 calc(50% - 2px), #7DA9D2 calc(50% - 2px) calc(50% + 2px), transparent calc(50% + 2px)) 76% 82%/30px 12px no-repeat,
    linear-gradient(60deg, transparent 0 calc(50% - 2px), #E48BA3 calc(50% - 2px) calc(50% + 2px), transparent calc(50% + 2px)) 48% 10%/24px 10px no-repeat;
}
.egepon-home__login-card{
  position:relative;
  overflow:hidden;
}
.egepon-home__login-card::before,
.egepon-home__login-card::after{
  content:"";
  position:absolute;
  width:7px;
  height:7px;
  border-radius:999px;
  background:#E48BA3;
  opacity:.55;
  pointer-events:none;
}
.egepon-home__login-card::before{left:24px; top:22px;}
.egepon-home__login-card::after{right:28px; bottom:24px; background:#8FB35A;}


/* ═══════════════════════════════════════════════════════════════════
   v2.9.1 — библиотека PDF: понятный лимит + модалки без вылезаний
   ═══════════════════════════════════════════════════════════════════ */

/* Модалка должна иметь блюр/затемнение по всей высоте прокрутки, а не только в первом экране */
.egepon-modal{
  background:rgba(46,26,24,.28) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  backdrop-filter:blur(8px) !important;
  min-height:100dvh !important;
}
.egepon-modal__backdrop{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  background:rgba(46,26,24,.22) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  backdrop-filter:blur(8px) !important;
}

/* Внутри модалок поля не должны вылезать за правый край */
.egepon-modal__dialog,
.egepon-modal__dialog *{
  box-sizing:border-box !important;
}
.egepon-modal__dialog .egepon-field,
.egepon-modal__dialog .egepon-input,
.egepon-modal__dialog input,
.egepon-modal__dialog select,
.egepon-modal__dialog textarea{
  max-width:100% !important;
}
.egepon-modal__dialog .egepon-input,
.egepon-modal__dialog input[type="text"],
.egepon-modal__dialog input[type="date"],
.egepon-modal__dialog input[type="email"],
.egepon-modal__dialog input[type="password"],
.egepon-modal__dialog textarea,
.egepon-modal__dialog select{
  width:100% !important;
  min-width:0 !important;
  display:block !important;
}
.egepon-modal__dialog input[type="date"]{
  padding-right:44px !important;
  appearance:auto !important;
  -webkit-appearance:auto !important;
}
#egepon-assign-template-modal .egepon-modal__dialog,
#egepon-attach-modal .egepon-modal__dialog{
  overflow-x:hidden !important;
}
#egepon-assign-template-modal .egepon-students-pick,
#egepon-assign-template-modal #egepon-assign-pick{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}

/* Форма библиотеки: файловое поле выглядит аккуратнее и не распирает карточку */
#egepon-library-form input[type="file"].egepon-input{
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  white-space:normal !important;
  line-height:1.25 !important;
  padding:12px 14px !important;
}
@media (max-width:640px){
  #egepon-library-form input[type="file"].egepon-input{
    font-size:15px !important;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   v2.9.2 — remove knowledge library UI + long modal/media polish
   ═══════════════════════════════════════════════════════════════════ */

/* Библиотеку знаний временно убрали из интерфейса */
[data-section="library"],
[data-student-library],
#egepon-student-library,
.egepon-library-editor-grid,
.egepon-library-list{
  display:none !important;
}

/* Длинные задания: модалка не должна вылезать за страницу, а фон блюрится на всю высоту */
.egepon-modal{
  position:fixed !important;
  inset:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  width:100vw !important;
  max-width:100vw !important;
  min-height:100dvh !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  padding:28px 18px calc(110px + env(safe-area-inset-bottom, 0px)) !important;
  background:rgba(46,26,24,.28) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  backdrop-filter:blur(8px) !important;
  box-sizing:border-box !important;
}
.egepon-modal[hidden]{display:none !important;}
.egepon-modal__backdrop{
  position:fixed !important;
  inset:0 !important;
  background:rgba(46,26,24,.22) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  backdrop-filter:blur(8px) !important;
}
.egepon-modal__dialog,
.egepon-modal__dialog--wide,
.egepon-modal__dialog--xwide{
  position:relative !important;
  z-index:2 !important;
  width:min(1120px, calc(100vw - 36px)) !important;
  max-width:calc(100vw - 36px) !important;
  max-height:none !important;
  overflow:visible !important;
  margin:0 auto !important;
  box-sizing:border-box !important;
}
.egepon-modal__dialog *,
.egepon-task-modal__section,
.egepon-answer-item,
.egepon-answer-block,
.egepon-text-block,
.egepon-answer-item__head,
.egepon-answer-item__text{
  box-sizing:border-box !important;
  max-width:100% !important;
}
.egepon-answer-item__text,
.egepon-answer-item__text *,
.egepon-text-block__body,
.egepon-text-block__body *,
.egepon-task-modal__section,
.egepon-feedback-display{
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
.egepon-answer-item__head{
  min-width:0 !important;
}
.egepon-answer-item__max{
  max-width:100% !important;
  white-space:normal !important;
}
.egepon-q-image,
.egepon-q-image--inline,
.egepon-answer-item__text img,
.egepon-text-block__body img,
.egepon-task-modal__section img{
  display:block !important;
  max-width:100% !important;
  height:auto !important;
  border-radius:16px !important;
  margin:10px 0 !important;
}
.egepon-answer-item__text img:not([src]),
.egepon-text-block__body img:not([src]){
  display:none !important;
}
@media (max-width:700px){
  .egepon-modal{
    padding:14px 10px calc(130px + env(safe-area-inset-bottom, 0px)) !important;
  }
  .egepon-modal__dialog,
  .egepon-modal__dialog--wide,
  .egepon-modal__dialog--xwide{
    width:calc(100vw - 20px) !important;
    max-width:calc(100vw - 20px) !important;
    padding:22px 16px !important;
    border-radius:24px !important;
  }
  .egepon-answer-item{
    padding:14px 12px !important;
  }
  .egepon-answer-item__text{
    flex:1 1 100% !important;
    min-width:0 !important;
  }
}

/* v2.9.3 — green homework badges, clickable notifications, modal stacking */
.egepon-page .egepon-task-card__kind--homework{
  background:#E8F3DB !important;
  color:#5F7F34 !important;
}
.egepon-page .egepon-task-card__kind--mock{
  background:#FFF2A7 !important;
  color:#6E5713 !important;
}
.egepon-page .egepon-notify-item{
  cursor:pointer;
}
.egepon-page .egepon-notify-item:hover{
  transform:translateY(-1px);
  box-shadow:0 8px 18px rgba(46,26,24,.08);
}
#egepon-student-detail-modal{ z-index: 1400; }
#egepon-grade-modal,
#egepon-task-modal{ z-index: 1600; }
.egepon-page .egepon-section__title-main[data-egepon-greet-main]{
  white-space:nowrap;
}
.egepon-page .egepon-section__title-script[data-egepon-greet-script]{
  color:#4DA8F0 !important;
  font-family:var(--font-script) !important;
}
@media (max-width:640px){
  .egepon-page .egepon-topbar__title.egepon-section__title--split{
    display:block !important;
  }
  .egepon-page .egepon-section__title-script[data-egepon-greet-script]{
    display:block;
    margin-top:2px;
  }
}


/* ═══════════════════════════════════════════════════════════════════
   v2.9.4 — long task modal polish
   ═══════════════════════════════════════════════════════════════════ */

/* Пока открыта модалка, фон страницы не прокручивается сам по себе.
   Скролл остаётся внутри .egepon-modal — так затемнение не обрывается на длинных заданиях. */
html.egepon-has-modal,
body.egepon-has-modal{
  overflow:hidden !important;
  height:100% !important;
}
body.egepon-has-modal::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:999;
  background:rgba(46,26,24,.42);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
  pointer-events:none;
}
.egepon-modal{
  height:100dvh !important;
  max-height:100dvh !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
  background:rgba(46,26,24,.34) !important;
}
.egepon-modal__backdrop{
  background:rgba(46,26,24,.34) !important;
}

/* Кнопки ученика в длинном задании — красивой плавающей панелью, а не липкой полосой внутри текста. */
#egepon-task-modal .egepon-modal__dialog{
  padding-bottom:128px !important;
}
#egepon-task-modal .egepon-task-modal__buttons--sticky{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  bottom:max(18px, env(safe-area-inset-bottom, 0px)) !important;
  transform:translateX(-50%) !important;
  width:min(980px, calc(100vw - 48px)) !important;
  z-index:2200 !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin:0 !important;
  padding:10px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(230,214,205,.9) !important;
  border-radius:999px !important;
  box-shadow:0 18px 50px rgba(46,26,24,.18) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  backdrop-filter:blur(14px) !important;
}
#egepon-task-modal .egepon-task-modal__buttons--sticky .egepon-btn{
  min-height:48px !important;
  margin:0 !important;
  border-radius:999px !important;
}
#egepon-task-modal #egepon-task-msg{
  margin-bottom:88px !important;
}
@media (max-width:640px){
  #egepon-task-modal .egepon-modal__dialog{
    padding-bottom:112px !important;
  }
  #egepon-task-modal .egepon-task-modal__buttons--sticky{
    width:calc(100vw - 24px) !important;
    gap:8px !important;
    padding:8px !important;
  }
  #egepon-task-modal .egepon-task-modal__buttons--sticky .egepon-btn{
    min-height:44px !important;
    font-size:14px !important;
  }
}

/* Критерии: добавляем нормальный визуальный пробел между текстом критерия и баллом. */
.egepon-page .egepon-q-criteria__list li{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  column-gap:12px !important;
  align-items:baseline !important;
}
.egepon-page .egepon-q-criteria__score{
  margin-left:8px !important;
}
.egepon-page .egepon-q-criteria__score::before{
  content:"— ";
  font-weight:500;
  color:var(--eg-muted);
}
.egepon-page .egepon-grade-criteria__row{
  column-gap:12px !important;
}
.egepon-page .egepon-grade-criteria__score-wrap{
  margin-left:8px !important;
}


/* ═══════════════════════════════════════════════════════════════════
   v2.9.5 — long text task: no button overlay + stable dim background
   ═══════════════════════════════════════════════════════════════════ */

/* Затемнение должно быть цельным всегда, даже на очень длинных заданиях. */
.egepon-modal::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  background:rgba(46,26,24,.44);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  pointer-events:none;
}
.egepon-modal__backdrop{
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100dvh !important;
  min-height:100dvh !important;
  background:rgba(46,26,24,.44) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  backdrop-filter:blur(10px) !important;
}
.egepon-modal__dialog{
  z-index:2 !important;
}

/* Кнопки прохождения задания больше не плавают поверх текста.
   Они остаются красивой панелью, но стоят внизу содержимого модалки. */
#egepon-task-modal .egepon-modal__dialog{
  padding-bottom:34px !important;
}
#egepon-task-modal .egepon-task-modal__buttons--sticky{
  position:static !important;
  left:auto !important;
  right:auto !important;
  bottom:auto !important;
  transform:none !important;
  width:100% !important;
  z-index:auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:12px !important;
  margin:28px 0 0 !important;
  padding:12px !important;
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(230,214,205,.95) !important;
  border-radius:28px !important;
  box-shadow:0 12px 34px rgba(46,26,24,.10) !important;
  -webkit-backdrop-filter:none !important;
  backdrop-filter:none !important;
}
#egepon-task-modal .egepon-task-modal__buttons--sticky .egepon-btn{
  min-height:52px !important;
  border-radius:999px !important;
  margin:0 !important;
}
#egepon-task-modal #egepon-task-msg{
  margin-bottom:0 !important;
}
@media (max-width:640px){
  #egepon-task-modal .egepon-task-modal__buttons--sticky{
    grid-template-columns:1fr !important;
    border-radius:22px !important;
    padding:10px !important;
    margin-top:22px !important;
  }
  #egepon-task-modal .egepon-task-modal__buttons--sticky .egepon-btn{
    min-height:48px !important;
  }
}

/* Критерии: пробел и тире теперь есть и в HTML, а не только через CSS. */
.egepon-page .egepon-q-criteria__score::before{
  content:"" !important;
}
.egepon-page .egepon-q-criteria__sep{
  color:var(--eg-muted);
  font-weight:500;
}

/* v3.0.0 — тренажёры */
.egepon-trainers-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:20px;align-items:start}
.egepon-trainer-editor .egepon-field{margin-bottom:14px}
.egepon-trainer-hint{background:#f4f8e9;border:1px solid rgba(156,183,105,.35);color:var(--bc-ink-2);border-radius:16px;padding:12px 14px;margin:8px 0 14px;font-size:14px}
.egepon-trainer-item{background:var(--bc-milk);border:1px solid var(--bc-line);border-radius:18px;padding:14px;margin-bottom:12px}
.egepon-trainer-item__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;color:var(--bc-ink)}
.egepon-trainer-item__head button{width:32px;height:32px;border:0;border-radius:50%;background:#f7dddd;color:var(--bc-strawberry);font-weight:800;cursor:pointer}
.egepon-trainer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.egepon-trainer-pick{max-height:220px;overflow:auto;padding:12px!important;background:var(--bc-milk-warm)!important;border-radius:18px!important}
.egepon-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.egepon-trainer-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--bc-line);border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:0 2px 10px rgba(46,26,24,.04)}
.egepon-trainer-card h4{margin:0 0 4px;color:var(--bc-ink);font-size:18px}
.egepon-trainer-card p,.egepon-trainer-card small{display:block;margin:0;color:var(--bc-ink-3)}
.egepon-trainer-card__actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.egepon-student-trainers{padding:0 0 60px}
.egepon-trainers-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.egepon-trainer-card--student{display:block;cursor:pointer;transition:transform .15s,box-shadow .15s}
.egepon-trainer-card--student:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(46,26,24,.08)}
.egepon-trainer-card__type{display:inline-flex;border-radius:999px;background:#e8f1d8;color:#4f6f2f;font-weight:700;padding:5px 12px;font-size:12px;margin-bottom:10px}
.egepon-flashcard{background:#fff;border:1px solid var(--bc-line);border-radius:24px;padding:26px;min-height:260px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.egepon-flashcard__front,.egepon-flashcard__back{font-size:28px;line-height:1.25;color:var(--bc-ink);font-family:var(--font-display)!important}
.egepon-flashcard__back{padding-top:18px;border-top:1px solid var(--bc-line);width:100%}
.egepon-flashcard__hint{margin:0;color:var(--bc-ink-3)}
.egepon-trainer-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px;color:var(--bc-ink-3);font-weight:700}
.egepon-trainer-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.7fr);gap:12px;align-items:center;background:#fff;border:1px solid var(--bc-line);border-radius:18px;padding:14px;margin-bottom:10px;color:var(--bc-ink)}
.egepon-trainer-row>span{font-size:17px;line-height:1.35}
@media(max-width:800px){.egepon-trainers-layout{grid-template-columns:1fr}.egepon-trainer-actions{grid-template-columns:1fr}.egepon-trainer-card{display:block}.egepon-trainer-card__actions{justify-content:flex-start;margin-top:12px}.egepon-trainer-row{grid-template-columns:1fr}.egepon-flashcard{min-height:220px;padding:20px}.egepon-flashcard__front,.egepon-flashcard__back{font-size:22px}}

/* v3.1.0 — тренажёры: Wordwall-like редактор, прогресс, сортировка, порядок */
.egepon-trainer-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.egepon-trainer-card__meta{
  display:block;
  margin-top:6px;
  color:var(--bc-ink-3, #8f8582);
}
.egepon-trainer-progress{
  width:100%;
  height:8px;
  background:#efe6dd;
  border-radius:999px;
  overflow:hidden;
  margin:10px 0 4px;
}
.egepon-trainer-progress > div{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--bc-herb, #9CB769), var(--bc-strawberry, #4DA8F0));
}
.egepon-trainer-play-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:18px;
}
.egepon-trainer-status{
  border:1px solid var(--bc-line, #e2d7cc);
  background:var(--bc-milk, #fffaf4);
  border-radius:18px;
  padding:10px 14px;
  margin:0 0 18px;
  color:var(--bc-ink-2, #5b4744);
}
.egepon-flashcard__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}
.egepon-blank-card{
  background:var(--bc-milk, #fffaf4);
  border:1px solid var(--bc-line, #e2d7cc);
  border-radius:20px;
  padding:18px;
  margin-bottom:12px;
}
.egepon-blank-text{
  font-size:22px;
  line-height:1.6;
  color:var(--bc-ink, #2e1a18);
}
.egepon-blank-letter{
  width:72px;
  max-width:45vw;
  display:inline-block;
  text-align:center;
  border:1px solid var(--bc-line, #e2d7cc);
  border-radius:14px;
  padding:8px 10px;
  margin:0 6px;
  background:#fff;
  font:inherit;
  outline:none;
}
.egepon-blank-letter:focus{
  border-color:var(--bc-strawberry, #4DA8F0);
  box-shadow:0 0 0 3px rgba(199,51,47,.12);
}
.egepon-blank-letter.is-wrong{
  border-color:var(--bc-strawberry, #4DA8F0);
  background:#EAF6FF;
}
.egepon-blank-explanation{
  margin:12px 0 0;
  color:var(--bc-ink-3, #8f8582);
}
.egepon-sort-board{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:14px;
  margin-bottom:16px;
}
.egepon-sort-group{
  border:1px solid var(--bc-line, #e2d7cc);
  border-radius:20px;
  padding:14px;
  background:#fff;
  min-height:150px;
}
.egepon-sort-group h4{
  margin:0 0 10px;
  color:var(--bc-ink, #2e1a18);
}
.egepon-sort-drop,
.egepon-sort-pool{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-height:48px;
}
.egepon-sort-pool{
  padding:14px;
  border-radius:20px;
  background:var(--bc-milk-warm, #f6eedf);
  border:1px dashed var(--bc-line, #e2d7cc);
  margin-bottom:16px;
}
.egepon-sort-chip{
  border:1px solid var(--bc-line, #e2d7cc);
  background:#fff;
  color:var(--bc-ink, #2e1a18);
  border-radius:999px;
  padding:9px 14px;
  cursor:pointer;
  font:inherit;
  box-shadow:0 2px 8px rgba(46,26,24,.04);
}
.egepon-sort-chip.is-selected{
  outline:3px solid rgba(199,51,47,.18);
  border-color:var(--bc-strawberry, #4DA8F0);
}
.egepon-sort-chip.is-correct{ background:#eff8e7; border-color:#9CB769; }
.egepon-sort-chip.is-wrong{ background:#EAF6FF; border-color:#4DA8F0; }
.egepon-rank-list{
  display:grid;
  gap:10px;
  margin-bottom:16px;
}
.egepon-rank-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--bc-line, #e2d7cc);
  background:#fff;
  border-radius:18px;
  padding:12px 14px;
}
.egepon-rank-item button{
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid var(--bc-line, #e2d7cc);
  background:var(--bc-milk, #fffaf4);
  cursor:pointer;
}
.egepon-rank-item.is-correct{ border-color:#9CB769; background:#eff8e7; }
.egepon-rank-item.is-wrong{ border-color:#4DA8F0; background:#EAF6FF; }
.egepon-speed-card{
  min-height:150px;
  display:grid;
  place-items:center;
  gap:8px;
  text-align:center;
  background:linear-gradient(180deg,#fff,var(--bc-milk-warm,#f6eedf));
  border:1px solid var(--bc-line,#e2d7cc);
  border-radius:24px;
  margin-bottom:18px;
  padding:22px;
}
.egepon-speed-card strong{
  font-size:clamp(26px,4vw,42px);
  color:var(--bc-ink,#2e1a18);
}
.egepon-speed-groups{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:10px;
  margin-bottom:14px;
}
@media (max-width:640px){
  .egepon-trainer-mini-grid{ grid-template-columns:1fr; }
  .egepon-trainer-play-head{ flex-direction:column; }
  .egepon-blank-text{ font-size:18px; }
  .egepon-sort-board{ grid-template-columns:1fr; }
  .egepon-flashcard__actions .egepon-btn{ flex:1 1 45%; }
}


/* v3.1.1 — тренажёры ученика: без верхнего приветствия и без подписи «практики» */
.egepon-dashboard.is-trainers-view .egepon-topbar{
  display:none !important;
}
.egepon-student-trainers .egepon-section__title--trainers{
  margin-top:0 !important;
  margin-bottom:10px !important;
}
.egepon-student-trainers .egepon-section__title--trainers .egepon-section__title-main{
  display:inline-block;
}


/* v3.1.2 — тренажёры: мобильный заголовок + пустое состояние + iframe */
.egepon-student-trainers .egepon-section__title--trainers{
  margin-bottom:18px !important;
}
@media (max-width: 640px){
  .egepon-student-trainers .egepon-section__title--trainers{
    margin-top:16px !important;
  }
}
.egepon-empty-card{
  text-align:center;
}
.egepon-trainer-embed-page{
  background:var(--bc-bg, #f7f3ee);
}
.egepon-trainer-embed-shell{
  min-height:100dvh;
  padding:20px;
}
.egepon-trainer-embed-shell__inner{
  max-width:1120px;
  margin:0 auto;
  background:#fff;
  border:1px solid var(--bc-line,#e2d7cc);
  border-radius:28px;
  box-shadow:0 18px 60px rgba(63, 36, 27, 0.08);
  padding:28px;
}
.egepon-trainer-embed-shell .egepon-task-modal__title{
  margin-top:0;
}
.egepon-trainer-card__actions{
  flex-wrap:wrap;
}

/* v3.1.3 — iframe открыт по подписанной ссылке + шире на больших экранах */
@media (min-width: 1400px){
  .egepon-page .egepon-main main.egepon-content,
  .egepon-page .egepon-main div.egepon-content,
  .egepon-dashboard .egepon-main .egepon-content,
  .egepon-content{
    max-width:min(1760px, calc(100vw - 300px)) !important;
    width:100% !important;
    padding:clamp(34px,2.4vw,60px) clamp(34px,2.8vw,72px) !important;
  }
  .egepon-topbar__inner{
    max-width:min(1760px, calc(100vw - 300px)) !important;
    padding-left:clamp(34px,2.8vw,72px) !important;
    padding-right:clamp(34px,2.8vw,72px) !important;
  }
  .egepon-grid{
    grid-template-columns:minmax(0, 1fr) clamp(340px,22vw,460px);
    gap:clamp(24px,2vw,44px);
  }
  .egepon-stats{
    gap:clamp(16px,1.4vw,28px);
  }
  .egepon-stat-card{
    min-height:clamp(130px,8vw,172px);
    padding:clamp(22px,1.7vw,34px) !important;
  }
  .egepon-stat-card__value{
    font-size:clamp(42px,3.4vw,68px) !important;
  }
  .egepon-trainers-cards,
  #egepon-student-trainers-list{
    max-width:none;
  }
}

html:has(.egepon-trainer-embed-shell){
  margin:0 !important;
  min-height:100%;
  background:#fbf8f3;
}
body.egepon-trainer-embed-page{
  margin:0 !important;
  min-height:100dvh;
  overflow:auto;
  background:linear-gradient(180deg,#fffdf8 0%,#f7f1e8 100%) !important;
}
.egepon-trainer-embed-shell{
  box-sizing:border-box;
  width:100%;
  min-height:100dvh;
  padding:clamp(10px,2vw,32px);
  display:flex;
  align-items:stretch;
}
.egepon-trainer-embed-shell__inner{
  width:100%;
  max-width:1800px;
  min-height:calc(100dvh - clamp(20px,4vw,64px));
  margin:auto;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--bc-line,#e2d7cc);
  border-radius:clamp(22px,2vw,42px);
  box-shadow:0 20px 80px rgba(63,36,27,.10);
  padding:clamp(20px,3vw,64px);
}
#egepon-trainer-embed{
  flex:1;
  display:flex;
  flex-direction:column;
}
#egepon-trainer-embed .egepon-trainer-play,
#egepon-trainer-embed .egepon-flashcards{
  flex:1;
}
#egepon-trainer-embed .egepon-task-modal__title{
  margin-top:0;
  font-size:clamp(30px,3vw,56px);
}
#egepon-trainer-embed .egepon-task-modal__meta,
#egepon-trainer-embed .egepon-section__sub{
  font-size:clamp(16px,1.35vw,22px);
}
#egepon-trainer-embed .egepon-trainer-card,
#egepon-trainer-embed .egepon-flashcard,
#egepon-trainer-embed .egepon-blank-card,
#egepon-trainer-embed .egepon-sort-group,
#egepon-trainer-embed .egepon-speed-card{
  border-radius:clamp(22px,2vw,36px);
}
#egepon-trainer-embed .egepon-btn,
#egepon-trainer-embed .egepon-input,
#egepon-trainer-embed select.egepon-input{
  font-size:clamp(16px,1.2vw,21px);
}
@media (max-width:640px){
  .egepon-trainer-embed-shell{
    padding:10px;
  }
  .egepon-trainer-embed-shell__inner{
    min-height:calc(100dvh - 20px);
    padding:18px;
  }
}


/* v3.1.4 — профиль ученика и ссылки восстановления пароля */
.egepon-reset-wrap{
  margin:10px 0 0;
  text-align:center;
}
.egepon-reset-link{
  color:var(--bc-strawberry, #4DA8F0);
  font-size:13px;
  font-weight:600;
  text-decoration:none;
}
.egepon-reset-link:hover{
  text-decoration:underline;
}
.egepon-profile-name-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:6px;
  margin-top:10px;
  width:100%;
}
.egepon-profile-name-input{
  min-width:0;
  width:100%;
  border:1px solid var(--bc-line, #e2d7cc);
  background:#fff;
  border-radius:999px;
  padding:7px 10px;
  font:inherit;
  font-size:12.5px;
  color:var(--bc-ink, #2e1a18);
  outline:none;
}
.egepon-profile-name-input:focus{
  border-color:var(--bc-strawberry, #4DA8F0);
}
.egepon-profile-name-save{
  border:0;
  border-radius:999px;
  background:var(--bc-lime, #8FB35A);
  color:#fff;
  padding:7px 10px;
  font:inherit;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.egepon-profile-name-save:disabled{
  opacity:.6;
  cursor:wait;
}
.egepon-profile-name-msg{
  grid-column:1 / -1;
  min-height:14px;
  font-size:11px;
  color:var(--bc-ink-3, #7f6a63);
}


/* v3.1.7 — multiple blanks + compact inputs + session controls */
.egepon-help{ display:block; margin-top:6px; color:var(--bc-ink-3, #8f8582); font-size:12px; }
.egepon-input--compact{ min-width:112px; width:auto; padding-right:32px; }
.egepon-trainer-settings{ display:flex; flex-wrap:wrap; gap:10px 12px; align-items:center; margin-bottom:8px; }
.egepon-trainer-settings label{ display:flex; align-items:center; gap:10px; font-weight:600; color:var(--bc-ink-2, #5b4744); }
.egepon-trainer-status__meta{ color:var(--bc-ink-2, #5b4744); }
.egepon-trainer-submit{ margin-top:14px; }
.egepon-blank-text{ display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.egepon-blank-text > span{ display:inline; }
.egepon-blank-letter{ width:44px; min-width:44px; max-width:44px; padding:6px 4px; margin:0 2px; border-radius:12px; font-size:18px; line-height:1.2; }
.egepon-blank-letter.is-correct{ border-color:var(--bc-herb, #9CB769); background:#f3faed; }
@media (max-width: 680px){ .egepon-trainer-settings{ flex-direction:column; align-items:flex-start; } .egepon-blank-letter{ width:38px; min-width:38px; max-width:38px; font-size:17px; } }


/* v3.1.9 — ручной новый круг, размер окошек, автопереход к следующему набору */
.egepon-trainer-cycle-complete{
  padding:28px;
  border:1px solid var(--bc-line, #e2d7cc);
  border-radius:22px;
  background:#fff;
}
.egepon-trainer-cycle-complete h3{
  margin:0 0 8px;
  color:var(--bc-ink, #2e1a18);
}
#egepon-trainer-modal-body[data-gap-size="s"] .egepon-blank-letter,
[data-trainer-embed-root] [data-gap-size="s"] .egepon-blank-letter{
  width:34px; min-width:34px; max-width:34px; padding:5px 2px; font-size:16px; border-radius:10px;
}
#egepon-trainer-modal-body[data-gap-size="m"] .egepon-blank-letter,
[data-trainer-embed-root] [data-gap-size="m"] .egepon-blank-letter{
  width:44px; min-width:44px; max-width:44px; padding:6px 4px; font-size:18px; border-radius:12px;
}
#egepon-trainer-modal-body[data-gap-size="l"] .egepon-blank-letter,
[data-trainer-embed-root] [data-gap-size="l"] .egepon-blank-letter{
  width:58px; min-width:58px; max-width:58px; padding:8px 6px; font-size:20px; border-radius:14px;
}

/* ───────────────────────────────────────────────────────────────
   v4.0.0 — новая воздушная голубая тема и пончик-состояния
   ─────────────────────────────────────────────────────────────── */
:root{
  --eg-v4-sky:#dff4ff;
  --eg-v4-sky-2:#bfe8ff;
  --eg-v4-blue:#5fb9ff;
  --eg-v4-blue-deep:#2f7fc4;
  --eg-v4-ink:#24364b;
  --eg-v4-card:rgba(255,255,255,.86);
  --eg-v4-border:rgba(108,166,216,.24);
  --eg-v4-shadow:0 22px 60px rgba(71,139,201,.18);
}
.egepon-page{
  font-family:Onest,Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--eg-v4-ink);
}
.egepon-page.egepon-dashboard,
.egepon-page.egepon-home,
.egepon-v4-login{
  background:
    radial-gradient(circle at 15% 8%, rgba(255,255,255,.92) 0 11%, transparent 12%),
    radial-gradient(circle at 82% 12%, rgba(255,255,255,.68) 0 9%, transparent 10%),
    linear-gradient(135deg,#f7fcff 0%,var(--eg-v4-sky) 45%,#e8f8ff 100%) !important;
}
.egepon-sidebar{
  background:rgba(255,255,255,.72) !important;
  border-right:1px solid var(--eg-v4-border) !important;
  box-shadow:var(--eg-v4-shadow) !important;
  backdrop-filter:blur(18px);
}
.egepon-brand__name,
.egepon-home__title,
.egepon-section__title-main{
  font-family:Unbounded,Onest,sans-serif;
  letter-spacing:-.04em;
}
.egepon-section__title-script{
  font-family:Caveat,cursive;
  color:var(--eg-v4-blue-deep) !important;
}
.egepon-sidebar__btn,
.egepon-card,
.egepon-home__login-card,
.egepon-login-card,
.egepon-stat-card,
.egepon-modal__dialog{
  border-radius:28px !important;
}
.egepon-card,
.egepon-home__login-card,
.egepon-login-card,
.egepon-stat-card,
.egepon-modal__dialog{
  background:var(--eg-v4-card) !important;
  border:1px solid var(--eg-v4-border) !important;
  box-shadow:var(--eg-v4-shadow) !important;
}
.egepon-sidebar__btn.is-active,
.egepon-btn--primary{
  background:linear-gradient(135deg,var(--eg-v4-blue),var(--eg-v4-blue-deep)) !important;
  color:#fff !important;
  border-color:transparent !important;
}
.egepon-btn--ghost{
  background:rgba(255,255,255,.74) !important;
  border-color:var(--eg-v4-border) !important;
  color:var(--eg-v4-blue-deep) !important;
}
.egepon-input,
.egepon-page input[type="text"],
.egepon-page input[type="email"],
.egepon-page input[type="password"],
.egepon-page input[type="url"],
.egepon-page input[type="datetime-local"],
.egepon-page input[type="color"],
.egepon-page textarea,
.egepon-page select{
  border-radius:18px !important;
  border:1px solid var(--eg-v4-border) !important;
  background:rgba(255,255,255,.88) !important;
}
.egepon-loading{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--eg-v4-blue-deep) !important;
}
.egepon-loading::before{
  content:"🍩";
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  animation:egeponDonutSpin 1s linear infinite;
  filter:drop-shadow(0 6px 10px rgba(47,127,196,.18));
}
@keyframes egeponDonutSpin{to{transform:rotate(360deg)}}
.egepon-donut-empty{
  min-height:260px;
  border-radius:36px;
  background:rgba(255,255,255,.46);
  border:1px dashed var(--eg-v4-border);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px;
  color:var(--eg-v4-blue-deep);
}
.egepon-donut-empty__box{
  font-size:70px;
  line-height:1;
  transform:rotate(-8deg);
}
.egepon-donut-empty::after{
  content:"· · ·";
  font-size:34px;
  letter-spacing:10px;
  color:#c69367;
  transform:translateY(-12px) rotate(-3deg);
}
.egepon-login-shell{
  width:min(980px,100%);
  display:grid;
  grid-template-columns:minmax(280px,1.1fr) minmax(240px,.9fr);
  gap:24px;
  align-items:stretch;
}
.egepon-login-card{padding:32px;}
.egepon-kicker{
  display:inline-flex;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(95,185,255,.16);
  color:var(--eg-v4-blue-deep);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}
.egepon-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:14px;
  margin-bottom:14px;
}
.egepon-form-grid label,
.egepon-slot-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-weight:700;
}
.egepon-slot-card h3,
.egepon-schedule-card h3{margin-top:0;}
.egepon-teacher--universal .egepon-sidebar__photo-placeholder,
.egepon-teacher--universal .egepon-sidebar__avatar{
  background:var(--egepon-subject-color,var(--eg-v4-blue)) !important;
}
.egepon-muted{color:rgba(36,54,75,.68);}
@media (max-width:760px){
  .egepon-login-shell,.egepon-form-grid{grid-template-columns:1fr;}
}

/* v4.1.0 — расписание и самозапись */
.egepon-inline-check{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--eg-v4-border);
  font-weight:700;
}
.egepon-inline-check input{width:auto!important;}
.egepon-card__topline{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:space-between;
  margin-bottom:10px;
}
.egepon-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(95,185,255,.14);
  color:var(--eg-v4-blue-deep);
  font-size:12px;
  font-weight:800;
  line-height:1;
}
.egepon-chip--oral_exam{background:rgba(168,138,237,.14);color:#6e57bb;}
.egepon-chip--deadline{background:rgba(224,166,70,.18);color:#8a5a13;}
.egepon-chip--lesson{background:rgba(95,185,255,.14);}
.egepon-chip--status{background:rgba(255,255,255,.8);color:rgba(36,54,75,.74);}
.egepon-chip--free{background:rgba(120,198,143,.18);color:#28743f;}
.egepon-chip--busy{background:rgba(228,114,114,.16);color:#a33b3b;}
.egepon-schedule-card,
.egepon-slot-card{
  position:relative;
  overflow:hidden;
}
.egepon-schedule-card::after,
.egepon-empty-card::after{
  content:"🍩";
  position:absolute;
  right:18px;
  bottom:10px;
  font-size:46px;
  opacity:.09;
  transform:rotate(-18deg);
  pointer-events:none;
}
.egepon-schedule-card--deadline::after{content:"⏰";}
.egepon-schedule-card.is-cancelled{opacity:.72;}
.egepon-schedule-card.is-cancelled h3{text-decoration:line-through;}
.egepon-card-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:12px;
}
.egepon-panel--schedule #egepon-student-schedule{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.egepon-panel--schedule .egepon-schedule-card{
  padding:16px!important;
  border-radius:22px!important;
}
.egepon-panel--schedule .egepon-schedule-card h3{
  font-size:16px;
  margin-bottom:8px;
}
.egepon-panel--schedule .egepon-card-actions{display:none;}
.egepon-repeat-count-row{max-width:360px;}
@media (max-width:760px){
  .egepon-card-actions{flex-direction:column;}
  .egepon-card-actions .egepon-btn{width:100%;}
}


/* ───────────────────────────────────────────────────────────────
   v4.1.1 — полноценный визуальный перенос React/Figma-прототипа
   Голубой воздушный интерфейс, синий сайдбар, пончик-загрузка,
   аккуратный голубой интерфейс и мягкие карточки.
   ─────────────────────────────────────────────────────────────── */
:root{
  --background:#ffffff;
  --foreground:#1a1a2e;
  --card:#ffffff;
  --primary:#3B9EE8;
  --primary-foreground:#ffffff;
  --secondary:#EFF7FF;
  --muted:#F0F4F8;
  --muted-foreground:#6B7A8D;
  --accent:#EFF7FF;
  --destructive:#E8453B;
  --border:rgba(59,158,232,.15);
  --input-background:#F5F9FE;
  --ring:#3B9EE8;
  --radius:1rem;

  --bc-cream:#F7FCFF;
  --bc-milk:#FFFFFF;
  --bc-milk-warm:#EFF7FF;
  --bc-rose-mist:#EAF7FF;
  --bc-strawberry:#3B9EE8;
  --bc-strawberry-2:#2F7FC4;
  --bc-strawberry-soft:#DDF1FF;
  --bc-choco:#1A1A2E;
  --bc-choco-2:#24364B;
  --bc-choco-soft:#5F7087;
  --bc-herb:#22B573;
  --bc-herb-soft:#DDF8E8;
  --bc-honey:#F59E0B;
  --bc-line:rgba(59,158,232,.15);
  --bc-line-soft:rgba(59,158,232,.08);
  --bc-ink:#1A1A2E;
  --bc-ink-2:rgba(26,26,46,.72);
  --bc-ink-3:rgba(26,26,46,.52);
  --bc-ink-4:rgba(26,26,46,.34);

  --eg-ivory:#F7FCFF;
  --eg-indigo:#3B9EE8;
  --eg-indigo-light:#DDF1FF;
  --eg-pear:#22B573;
  --eg-pear-light:#DDF8E8;
  --eg-deep:#1A1A2E;
  --eg-deep-light:#24364B;
  --eg-white:#FFFFFF;
  --eg-muted:#6B7A8D;
  --eg-success:#22B573;
  --eg-danger:#E8453B;

  --eg-v4-sky:#EFF7FF;
  --eg-v4-sky-2:#DDF1FF;
  --eg-v4-blue:#3B9EE8;
  --eg-v4-blue-deep:#2F7FC4;
  --eg-v4-ink:#1A1A2E;
  --eg-v4-card:rgba(255,255,255,.92);
  --eg-v4-border:rgba(59,158,232,.18);
  --eg-v4-shadow:0 18px 50px rgba(59,158,232,.14);
  --eg-v4-soft-shadow:0 8px 28px rgba(59,158,232,.10);
}

html body.egepon-fullscreen,
html body.egepon-body{
  background:#F7FCFF!important;
}
.egepon-page{
  font-family:Onest,Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  color:var(--eg-v4-ink)!important;
}
.egepon-page.egepon-dashboard,
.egepon-page.egepon-home,
.egepon-v4-login,
.egepon-page:not(.egepon-dashboard){
  background:
    radial-gradient(circle at 9% 14%, rgba(255,255,255,.96) 0 8%, transparent 8.4%),
    radial-gradient(circle at 16% 17%, rgba(255,255,255,.72) 0 4.8%, transparent 5.2%),
    radial-gradient(circle at 83% 12%, rgba(255,255,255,.85) 0 8.5%, transparent 8.9%),
    radial-gradient(circle at 91% 16%, rgba(255,255,255,.58) 0 5.5%, transparent 5.9%),
    linear-gradient(180deg,#EEF8FF 0%,#FFFFFF 42%,#F7FCFF 100%)!important;
  position:relative;
}
.egepon-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.12;
  background-image:none;
  background-size:cover;
  background-position:center top;
  mix-blend-mode:multiply;
}
.egepon-page::after{
  content:"✦  ✧  ✦  ✧  ✦";
  position:fixed;
  right:32px;
  top:24px;
  z-index:0;
  pointer-events:none;
  color:rgba(59,158,232,.28);
  font-size:22px;
  letter-spacing:12px;
  transform:rotate(10deg);
}
.egepon-dashboard,
.egepon-main,
.egepon-content,
.egepon-home__header,
.egepon-home__main,
.egepon-v4-login > *{
  position:relative;
  z-index:1;
}

/* Сайдбар как в прототипе: синий, мягкий, с белыми активными кнопками */
.egepon-page .egepon-sidebar{
  background:linear-gradient(180deg,#3B9EE8 0%,#2D87CC 100%)!important;
  border-right:0!important;
  box-shadow:0 24px 70px rgba(47,127,196,.24)!important;
  color:#fff!important;
}
.egepon-page .egepon-sidebar::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.22) 0 7%, transparent 7.6%),
    radial-gradient(circle at 80% 22%, rgba(255,255,255,.16) 0 9%, transparent 9.8%),
    radial-gradient(circle at 20% 86%, rgba(255,255,255,.12) 0 11%, transparent 12%);
}
.egepon-page .egepon-brand,
.egepon-page .egepon-sidebar__header,
.egepon-page .egepon-sidebar__btn,
.egepon-page .egepon-sidebar__divider,
.egepon-page .egepon-sidebar__section-title{
  position:relative;
  z-index:1;
}
.egepon-page .egepon-brand__name,
.egepon-page .egepon-brand__sub,
.egepon-page .egepon-sidebar__name,
.egepon-page .egepon-sidebar__role,
.egepon-page .egepon-sidebar__section-title{
  color:#fff!important;
}
.egepon-page .egepon-brand__sub,
.egepon-page .egepon-sidebar__role,
.egepon-page .egepon-sidebar__section-title{
  opacity:.72;
}
.egepon-page .egepon-sidebar__section-title{
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  font-size:11px!important;
}
.egepon-page .egepon-sidebar__btn{
  background:transparent!important;
  color:rgba(255,255,255,.82)!important;
  border:1px solid transparent!important;
  border-radius:16px!important;
  font-weight:750!important;
  box-shadow:none!important;
}
.egepon-page .egepon-sidebar__btn:hover{
  background:rgba(255,255,255,.14)!important;
  color:#fff!important;
  transform:translateX(2px);
}
.egepon-page .egepon-sidebar__btn.is-active{
  background:#fff!important;
  color:#3B9EE8!important;
  box-shadow:0 10px 28px rgba(18,87,143,.20)!important;
}
.egepon-page .egepon-sidebar__ico{color:currentColor!important;}
.egepon-page .egepon-sidebar__divider{background:rgba(255,255,255,.20)!important;}
.egepon-page .egepon-sidebar__photo,
.egepon-page .egepon-sidebar__avatar{
  border:2px solid rgba(255,255,255,.45)!important;
  background:rgba(255,255,255,.18)!important;
  box-shadow:0 12px 28px rgba(18,87,143,.18)!important;
}
.egepon-page .egepon-sidebar__photo-placeholder{color:#fff!important;}

/* Верхняя зона и карточки */
.egepon-page .egepon-topbar{
  background:rgba(255,255,255,.68)!important;
  border-bottom:1px solid rgba(59,158,232,.12)!important;
  backdrop-filter:blur(18px);
}
.egepon-page .egepon-topbar__inner{
  max-width:1180px!important;
}
.egepon-page .egepon-topbar__title,
.egepon-page .egepon-section__title-main,
.egepon-page .egepon-home__title,
.egepon-page .egepon-brand__name{
  font-family:Unbounded,Onest,sans-serif!important;
  font-weight:800!important;
  color:#1A1A2E!important;
  letter-spacing:-.045em!important;
}
.egepon-page .egepon-section__title-script{
  font-family:Caveat,cursive!important;
  color:#3B9EE8!important;
  font-weight:700!important;
}
.egepon-page .egepon-hero__eyebrow,
.egepon-page .egepon-topbar__sub,
.egepon-muted,
.egepon-page .egepon-card__muted{
  color:#6B7A8D!important;
}

.egepon-page .egepon-card,
.egepon-page .egepon-panel,
.egepon-page .egepon-stat-card,
.egepon-page .egepon-task-card,
.egepon-page .egepon-home__login-card,
.egepon-page .egepon-login-card,
.egepon-page .egepon-modal__dialog,
.egepon-page .egepon-schedule-card,
.egepon-page .egepon-slot-card,
.egepon-page .egepon-empty-card{
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(59,158,232,.16)!important;
  border-radius:28px!important;
  box-shadow:0 18px 50px rgba(59,158,232,.12)!important;
  color:#1A1A2E!important;
}
.egepon-page .egepon-card:hover,
.egepon-page .egepon-task-card:hover,
.egepon-page .egepon-slot-card:hover,
.egepon-page .egepon-schedule-card:hover{
  box-shadow:0 22px 60px rgba(59,158,232,.18)!important;
  border-color:rgba(59,158,232,.28)!important;
}
.egepon-page .egepon-stat-card:nth-child(4n+1),
.egepon-page .egepon-stat-card:nth-child(4n+2),
.egepon-page .egepon-stat-card:nth-child(4n+3),
.egepon-page .egepon-stat-card:nth-child(4n+4){
  background:linear-gradient(180deg,#FFFFFF 0%,#F2FAFF 100%)!important;
}
.egepon-page .egepon-panel__title,
.egepon-page .egepon-card-title,
.egepon-page .egepon-home__login-title{
  font-family:Unbounded,Onest,sans-serif!important;
  letter-spacing:-.03em!important;
  color:#1A1A2E!important;
}

/* Кнопки/формы */
.egepon-page .egepon-btn,
.egepon-page button,
.egepon-page input[type="submit"]{
  border-radius:16px!important;
}
.egepon-page .egepon-btn--primary,
.egepon-page .egepon-login-form button[type="submit"],
.egepon-page .egepon-home__login-card .egepon-btn,
.egepon-page .egepon-form button[type="submit"],
.egepon-page .egepon-card-actions .egepon-btn--primary{
  background:#3B9EE8!important;
  color:#fff!important;
  border-color:#3B9EE8!important;
  box-shadow:0 10px 26px rgba(59,158,232,.25)!important;
  font-weight:800!important;
}
.egepon-page .egepon-btn--primary:hover,
.egepon-page .egepon-login-form button[type="submit"]:hover{
  background:#2F7FC4!important;
  transform:translateY(-1px);
}
.egepon-page .egepon-btn--ghost,
.egepon-page .egepon-btn:not(.egepon-btn--primary){
  background:#EFF7FF!important;
  color:#2F7FC4!important;
  border-color:rgba(59,158,232,.18)!important;
}
.egepon-page input[type="text"],
.egepon-page input[type="email"],
.egepon-page input[type="password"],
.egepon-page input[type="url"],
.egepon-page input[type="number"],
.egepon-page input[type="datetime-local"],
.egepon-page input[type="color"],
.egepon-page textarea,
.egepon-page select,
.egepon-page .egepon-input{
  background:#F5F9FE!important;
  border:1px solid rgba(59,158,232,.17)!important;
  border-radius:16px!important;
  color:#1A1A2E!important;
  box-shadow:none!important;
}
.egepon-page input:focus,
.egepon-page textarea:focus,
.egepon-page select:focus{
  outline:none!important;
  border-color:#3B9EE8!important;
  box-shadow:0 0 0 4px rgba(59,158,232,.12)!important;
}
.egepon-page .egepon-tab{
  border-radius:999px!important;
  background:#EFF7FF!important;
  color:#6B7A8D!important;
  border:1px solid rgba(59,158,232,.10)!important;
}
.egepon-page .egepon-tab.is-active{
  background:#3B9EE8!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(59,158,232,.22)!important;
}

/* Главная/логин — ближе к React/Figma */
.egepon-home__donut,
.egepon-home__hero-mark,
.egepon-brand__mark{
  filter:drop-shadow(0 14px 30px rgba(59,158,232,.23));
}
.egepon-home__title{
  font-size:clamp(46px,8vw,82px)!important;
  line-height:1.02!important;
}
.egepon-home__subtitle,
.egepon-home__subjects,
.egepon-home__hint{
  color:#6B7A8D!important;
}
.egepon-home__subject,
.egepon-kicker,
.egepon-chip{
  background:#EFF7FF!important;
  color:#2F7FC4!important;
  border:1px solid rgba(59,158,232,.13)!important;
}
.egepon-login-shell{
  max-width:1020px;
  margin:0 auto;
}
.egepon-login-card::before,
.egepon-home__login-card::before{
  content:"";
  position:absolute;
  inset:auto 18px 18px auto;
  width:90px;
  height:70px;
  opacity:.10;
  background:none;
  border-radius:24px;
  transform:rotate(-6deg);
  pointer-events:none;
}
.egepon-login-card,
.egepon-home__login-card{position:relative;overflow:hidden;}

/* Пончик-загрузка поверх всех AJAX-действий */
.egepon-global-loader{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(8px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,visibility .18s ease;
}
.egepon-global-loader.is-visible{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.egepon-global-loader__donut{
  width:96px;
  height:96px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    conic-gradient(from -90deg,#3B9EE8 0 72%,#EFF7FF 72% 100%);
  box-shadow:0 20px 50px rgba(59,158,232,.22);
  animation:egeponDonutEatV411 1.05s linear infinite;
  position:relative;
}
.egepon-global-loader__donut::before{
  content:"";
  position:absolute;
  inset:13px;
  border-radius:50%;
  background:#fff;
}
.egepon-global-loader__donut span{
  position:relative;
  z-index:1;
  font-size:36px;
  animation:egeponDonutFloatV411 1.4s ease-in-out infinite;
}
@keyframes egeponDonutEatV411{to{transform:rotate(360deg)}}
@keyframes egeponDonutFloatV411{50%{transform:scale(1.08)}}
.egepon-loading{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#2F7FC4!important;
  font-weight:700!important;
}
.egepon-loading::before{
  content:"🍩"!important;
  width:30px!important;
  height:30px!important;
  display:inline-grid!important;
  place-items:center!important;
  animation:egeponDonutEatV411 1.05s linear infinite!important;
}

/* Пустые состояния */
.egepon-empty-card,
.egepon-donut-empty{
  text-align:center!important;
  min-height:170px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  border-style:dashed!important;
  background:rgba(255,255,255,.66)!important;
  color:#6B7A8D!important;
  position:relative!important;
  overflow:hidden!important;
}
.egepon-empty-card::before,
.egepon-donut-empty::before{
  content:"▢";
  width:72px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#EFF7FF;
  border:2px solid rgba(59,158,232,.18);
  color:#3B9EE8;
  font-size:38px;
  transform:rotate(-5deg);
  box-shadow:0 10px 28px rgba(59,158,232,.12);
}
.egepon-empty-card::after,
.egepon-donut-empty::after{
  content:"•  ·  •  ·"!important;
  position:static!important;
  opacity:1!important;
  font-size:24px!important;
  color:#C89A6B!important;
  letter-spacing:8px!important;
  transform:rotate(-3deg)!important;
}
.egepon-donut-empty__box{display:none!important;}

/* Цветовые чипы/статусы */
.egepon-chip--oral_exam{background:#F3EDFF!important;color:#745AD8!important;border-color:rgba(116,90,216,.14)!important;}
.egepon-chip--deadline{background:#FFF7E8!important;color:#B46C00!important;border-color:rgba(245,158,11,.20)!important;}
.egepon-chip--free{background:#EAFBF1!important;color:#16824A!important;border-color:rgba(34,181,115,.18)!important;}
.egepon-chip--busy{background:#FFF1F0!important;color:#D03B31!important;border-color:rgba(232,69,59,.18)!important;}
.egepon-progress-bar__fill,
.egepon-task-pie__bar{background:#3B9EE8!important;}
.egepon-progress-bar__fill--lime{background:#22B573!important;}

@media (max-width:900px){
  .egepon-page .egepon-sidebar{
    box-shadow:0 24px 70px rgba(47,127,196,.34)!important;
  }
  .egepon-page::after{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .egepon-global-loader__donut,
  .egepon-global-loader__donut span,
  .egepon-loading::before{animation:none!important;}
}

/* ═══════════════════════════════════════════════════════════════════
   v4.1.2 — полный голубой редизайн по финальному макету
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --eg-sky:#EAF7FF;
  --eg-sky-2:#F6FBFF;
  --eg-blue:#3B9EE8;
  --eg-blue-2:#2F7FC4;
  --eg-blue-soft:#EFF8FF;
  --eg-line:rgba(59,158,232,.16);
  --eg-line-2:rgba(59,158,232,.24);
  --eg-ink:#1A1A2E;
  --eg-ink-2:#30415D;
  --eg-text-soft:#6B7A8D;
  --eg-card:#FFFFFF;
  --eg-shadow:0 22px 60px rgba(47,127,196,.12);
  --eg-shadow-soft:0 14px 38px rgba(47,127,196,.09);
  --eg-radius:28px;
  --eg-radius-sm:18px;
  --bc-cream:#F4FAFF;
  --bc-milk:#FFFFFF;
  --bc-milk-warm:#F5FAFF;
  --bc-rose-mist:#EDF8FF;
  --bc-strawberry:#3B9EE8;
  --bc-strawberry-2:#2F7FC4;
  --bc-strawberry-soft:#DFF1FF;
  --bc-choco:#1A1A2E;
  --bc-choco-2:#30415D;
  --bc-choco-soft:#6B7A8D;
  --bc-herb:#65BE59;
  --bc-herb-soft:#EAFBEA;
  --bc-honey:#F5A23A;
  --bc-line:rgba(59,158,232,.14);
  --bc-line-soft:rgba(59,158,232,.08);
  --bc-ink:#1A1A2E;
  --bc-ink-2:#30415D;
  --bc-ink-3:#6B7A8D;
  --bc-ink-4:#9BA8BA;
  --eg-ivory:#F4FAFF;
  --eg-indigo:#3B9EE8;
  --eg-indigo-light:#DFF1FF;
  --eg-pear:#65BE59;
  --eg-pear-light:#EAFBEA;
  --eg-deep:#1A1A2E;
  --eg-deep-light:#30415D;
  --eg-white:#FFFFFF;
  --eg-muted:#6B7A8D;
  --eg-success:#65BE59;
  --eg-danger:#E85858;
}

body.egepon-fullscreen,
body.egepon-body{
  background:#F4FAFF!important;
}
.egepon-page,
.egepon-page *{
  font-family:Onest,Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.egepon-page{
  color:var(--eg-ink)!important;
  background:
    radial-gradient(circle at 6% 7%, rgba(255,255,255,.95) 0 105px, transparent 106px),
    radial-gradient(circle at 91% 8%, rgba(255,255,255,.90) 0 112px, transparent 113px),
    radial-gradient(circle at 72% 2%, rgba(255,255,255,.62) 0 82px, transparent 83px),
    linear-gradient(180deg,#EEF9FF 0%,#F8FCFF 46%,#FFFFFF 100%)!important;
  isolation:isolate;
}
.egepon-page::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background-image:
    radial-gradient(circle at 7% 78%, #8EC6F2 0 2px, transparent 3px),
    radial-gradient(circle at 14% 87%, #F2C46D 0 4px, transparent 5px),
    radial-gradient(circle at 86% 45%, #9DD77D 0 5px, transparent 6px),
    radial-gradient(circle at 58% 94%, #F4A7A9 0 4px, transparent 5px),
    linear-gradient(25deg, transparent 0 49%, #F4A7A9 50% 54%, transparent 55%),
    linear-gradient(70deg, transparent 0 49%, #9FC8F6 50% 54%, transparent 55%),
    linear-gradient(105deg, transparent 0 49%, #F1C783 50% 54%, transparent 55%),
    linear-gradient(25deg, transparent 0 49%, #9DD77D 50% 54%, transparent 55%);
  background-size:100% 100%,100% 100%,100% 100%,100% 100%,180px 180px,220px 220px,260px 260px,300px 300px;
  opacity:.72!important;
}
.egepon-page > *{position:relative;z-index:1;}

/* Главная / единый вход */
.egepon-page.egepon-home{
  min-height:100svh!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
}
.egepon-home__header{display:none!important;}
.egepon-home__main,
.egepon-home__main--unified{
  max-width:980px!important;
  width:100%!important;
  padding:clamp(74px,8vh,112px) 24px 72px!important;
  margin:0 auto!important;
  text-align:center!important;
}
.egepon-home__title{
  font-family:Unbounded,Onest,sans-serif!important;
  font-size:clamp(58px,7.8vw,112px)!important;
  line-height:.9!important;
  letter-spacing:-.075em!important;
  color:#15172D!important;
  margin:0 0 clamp(24px,4vh,36px)!important;
}
.egepon-home__donut--brand{
  width:88px!important;
  height:88px!important;
  margin:0 auto 26px!important;
  animation:eg-float 3.6s ease-in-out infinite!important;
  filter:drop-shadow(0 16px 36px rgba(59,158,232,.20))!important;
}
.egepon-home__hero-mark{width:86px!important;height:86px!important;}
.egepon-home__subtitle{
  margin:0 0 10px!important;
  color:#75859B!important;
  font-weight:800!important;
  font-size:clamp(18px,2vw,24px)!important;
  letter-spacing:-.02em!important;
}
.egepon-home__subjects{
  display:block!important;
  margin:0 0 38px!important;
  color:#2F7FC4!important;
  font-family:Caveat,cursive!important;
  font-weight:700!important;
  font-size:clamp(34px,4vw,54px)!important;
  line-height:1!important;
}
.egepon-home__subject{
  display:inline!important;
  background:transparent!important;
  border:0!important;
  color:#2F7FC4!important;
  box-shadow:none!important;
  padding:0!important;
  font-family:Caveat,cursive!important;
  letter-spacing:.01em!important;
}
.egepon-home__subjects-sep{display:none!important;}
.egepon-home__login-card{
  width:min(100%,520px)!important;
  padding:38px 44px!important;
  border:1px solid rgba(59,158,232,.18)!important;
  border-radius:36px!important;
  background:rgba(255,255,255,.86)!important;
  box-shadow:0 28px 80px rgba(47,127,196,.13)!important;
  backdrop-filter:blur(14px)!important;
  overflow:hidden!important;
}
.egepon-home__login-card::before,
.egepon-login-card::before{
  content:none!important;
  display:none!important;
  background:none!important;
}
.egepon-home__login-title{
  font-family:Unbounded,Onest,sans-serif!important;
  font-size:clamp(25px,3vw,34px)!important;
  line-height:1.1!important;
  margin:0 0 12px!important;
  color:#1A1A2E!important;
  letter-spacing:-.045em!important;
}
.egepon-home__login-sub{color:#9AA4B5!important;font-size:17px!important;margin:0 0 24px!important;}
.egepon-login-form{display:grid!important;gap:13px!important;}
.egepon-login-form .egepon-input{height:52px!important;text-align:center!important;}
.egepon-home__login-card .egepon-btn,
.egepon-login-form button[type="submit"]{
  min-height:58px!important;
  padding:0 30px!important;
  border-radius:18px!important;
  font-size:18px!important;
  background:#3B9EE8!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 16px 34px rgba(59,158,232,.28)!important;
}
.egepon-home__hint{background:transparent!important;color:#9AA4B5!important;padding:0!important;}
.egepon-reset-link{color:#2F7FC4!important;font-weight:700!important;}

/* Общая сетка кабинетов */
.egepon-dashboard{
  min-height:100svh!important;
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  gap:0!important;
  background:transparent!important;
  overflow-x:hidden!important;
}
.egepon-sidebar{
  width:auto!important;
  flex:initial!important;
  min-height:calc(100svh - 24px)!important;
  height:calc(100svh - 24px)!important;
  margin:12px!important;
  padding:28px 20px!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.86)!important;
  color:#53627A!important;
  border:1px solid rgba(59,158,232,.13)!important;
  box-shadow:0 24px 70px rgba(47,127,196,.13)!important;
  backdrop-filter:blur(18px)!important;
  gap:6px!important;
}
.egepon-brand{display:flex!important;align-items:center!important;gap:14px!important;margin-bottom:28px!important;}
.egepon-brand__mark{width:48px!important;height:48px!important;flex:0 0 48px!important;}
.egepon-brand__name{
  font-family:Unbounded,Onest,sans-serif!important;
  font-size:24px!important;
  letter-spacing:-.06em!important;
  color:#13172C!important;
  line-height:1!important;
}
.egepon-brand__sub{color:#8A98AB!important;font-size:12px!important;margin-top:5px!important;}
.egepon-sidebar__header{
  background:#F2F9FF!important;
  border:1px solid rgba(59,158,232,.12)!important;
  border-radius:20px!important;
  padding:12px!important;
  margin:0 0 18px!important;
}
.egepon-sidebar__name{color:#1A1A2E!important;font-weight:800!important;}
.egepon-sidebar__role{color:#7F8EA3!important;}
.egepon-sidebar__section-title{
  color:#A0ACBC!important;
  font-size:11px!important;
  text-transform:none!important;
  letter-spacing:0!important;
  font-weight:700!important;
  padding:0 12px!important;
  margin:14px 0 8px!important;
}
.egepon-sidebar__btn{
  min-height:50px!important;
  border-radius:17px!important;
  color:#64738A!important;
  font-weight:700!important;
  padding:13px 14px!important;
  gap:13px!important;
  background:transparent!important;
  border:0!important;
  margin:2px 0!important;
}
.egepon-sidebar__btn:hover{
  background:#F2F9FF!important;
  color:#2F7FC4!important;
}
.egepon-sidebar__btn.is-active{
  background:#EDF7FF!important;
  color:#2F7FC4!important;
  box-shadow:none!important;
}
.egepon-sidebar__ico{width:22px!important;height:22px!important;color:currentColor!important;opacity:.9!important;}
.egepon-sidebar__avatar,
.egepon-sidebar__photo{
  width:52px!important;height:52px!important;border-radius:18px!important;background:#E8F5FF!important;color:#2F7FC4!important;border:1px solid rgba(59,158,232,.16)!important;
}
.egepon-main{
  min-width:0!important;
  padding:34px 34px 60px 24px!important;
  overflow:visible!important;
  display:block!important;
}
.egepon-content,
.egepon-page .egepon-main .egepon-content,
.egepon-page .egepon-main main.egepon-content,
.egepon-page .egepon-main div.egepon-content{
  max-width:1500px!important;
  width:100%!important;
  padding:0!important;
  margin:0 auto!important;
  overflow:visible!important;
}
.egepon-topbar{
  position:relative!important;
  top:auto!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  margin:0 0 30px!important;
}
.egepon-topbar--minimal{display:none!important;}
.egepon-topbar__inner{
  max-width:1500px!important;
  padding:0!important;
  margin:0 auto!important;
  align-items:flex-start!important;
}
.egepon-topbar__title,
.egepon-section__title--split{
  font-size:clamp(34px,3.7vw,54px)!important;
  line-height:.98!important;
  margin:0!important;
}
.egepon-section__title-main,
.egepon-topbar__title .egepon-section__title-main{
  font-family:Unbounded,Onest,sans-serif!important;
  color:#1A1A2E!important;
  font-weight:800!important;
  letter-spacing:-.065em!important;
}
.egepon-section__title-script,
.egepon-topbar__title .egepon-section__title-script{
  font-family:Caveat,cursive!important;
  color:#3B9EE8!important;
  font-weight:700!important;
  font-size:1.05em!important;
}
.egepon-muted,
.egepon-section__sub,
.egepon-topbar__sub,
.egepon-hero__eyebrow{color:#74839A!important;}

/* Карточки, формы, кнопки */
.egepon-card,
.egepon-section-card,
.egepon-panel,
.egepon-stat-card,
.egepon-task-card,
.egepon-slot-card,
.egepon-schedule-card,
.egepon-modal__dialog{
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(59,158,232,.16)!important;
  border-radius:28px!important;
  box-shadow:var(--eg-shadow-soft)!important;
  color:#1A1A2E!important;
  overflow:hidden!important;
}
.egepon-card,
.egepon-section-card,
.egepon-panel{padding:24px!important;}
.egepon-card h2,
.egepon-card h3,
.egepon-panel__title,
.egepon-card-title{
  font-family:Onest,Nunito,sans-serif!important;
  color:#1A1A2E!important;
  letter-spacing:-.035em!important;
  font-weight:800!important;
}
.egepon-form-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 24px!important;
}
.egepon-form-grid label,
.egepon-field span,
.egepon-page label{
  color:#1A1A2E!important;
  font-weight:750!important;
  font-size:14px!important;
}
.egepon-input,
.egepon-page input[type="text"],
.egepon-page input[type="email"],
.egepon-page input[type="password"],
.egepon-page input[type="url"],
.egepon-page input[type="number"],
.egepon-page input[type="datetime-local"],
.egepon-page input[type="color"],
.egepon-page textarea,
.egepon-page select{
  min-height:54px!important;
  background:#F6FAFE!important;
  border:1px solid rgba(59,158,232,.18)!important;
  border-radius:16px!important;
  color:#1A1A2E!important;
  box-shadow:none!important;
  padding:0 16px!important;
}
.egepon-page textarea.egepon-input,
.egepon-page textarea{padding:14px 16px!important;}
.egepon-input:focus,
.egepon-page input:focus,
.egepon-page textarea:focus,
.egepon-page select:focus{
  border-color:#3B9EE8!important;
  box-shadow:0 0 0 4px rgba(59,158,232,.11)!important;
  outline:0!important;
}
.egepon-btn,
.egepon-page button{
  border-radius:16px!important;
  font-weight:800!important;
}
.egepon-btn--primary,
.egepon-page .egepon-btn--primary,
.egepon-page button[type="submit"]{
  background:#3B9EE8!important;
  color:#fff!important;
  border-color:#3B9EE8!important;
  box-shadow:0 14px 30px rgba(59,158,232,.24)!important;
}
.egepon-btn--primary:hover{background:#2F7FC4!important;transform:translateY(-1px);}
.egepon-btn--ghost,
.egepon-page .egepon-btn--ghost{
  background:#EFF8FF!important;
  color:#2F7FC4!important;
  border-color:rgba(59,158,232,.14)!important;
}

/* Админка по финальному макету */
.egepon-admin-dashboard .egepon-main{
  padding:34px 44px 70px 28px!important;
}
.egepon-admin-dashboard .egepon-section{
  max-width:1380px!important;
  margin:0 auto!important;
  display:block!important;
}
.egepon-admin-dashboard .egepon-section > .egepon-muted{
  margin:8px 0 32px!important;
  font-size:16px!important;
}
.egepon-admin-grid{
  display:grid!important;
  grid-template-columns:minmax(0,2.2fr) minmax(300px,.9fr)!important;
  gap:28px!important;
  align-items:stretch!important;
  margin-bottom:34px!important;
}
.egepon-admin-create-card{padding:34px 40px!important;}
.egepon-admin-create-card h2,
.egepon-admin-stats-card h2,
.egepon-admin-list-title{
  font-family:Onest,Nunito,sans-serif!important;
  font-size:clamp(25px,2.4vw,34px)!important;
  line-height:1.1!important;
  margin:0 0 26px!important;
  letter-spacing:-.045em!important;
  color:#1A1A2E!important;
}
.egepon-admin-create-card__button{
  width:100%!important;
  min-height:58px!important;
  margin-top:24px!important;
  font-size:17px!important;
}
.egepon-admin-create-card__hint{text-align:center!important;margin:20px 0 0!important;}
.egepon-admin-stats-card{position:relative!important;padding:34px 34px 170px!important;min-height:360px!important;}
.egepon-admin-stat-row{
  display:grid!important;
  grid-template-columns:58px auto 1fr!important;
  align-items:center!important;
  gap:14px!important;
  margin:18px 0!important;
}
.egepon-admin-stat-row__icon{
  width:58px;height:58px;border-radius:18px;background:#EAF6FF;color:#2F7FC4;display:grid;place-items:center;font-size:25px;
}
.egepon-admin-stat-row--green .egepon-admin-stat-row__icon{background:#EEFBEA;color:#65BE59;}
.egepon-admin-stat-row__num{font-size:31px;font-weight:850;color:#3B9EE8;line-height:1;}
.egepon-admin-stat-row--green .egepon-admin-stat-row__num{color:#65BE59;}
.egepon-admin-stat-row__label{color:#6B7A8D;font-size:16px;}
.egepon-admin-stats-card__note{border-top:1px solid rgba(59,158,232,.14);padding-top:20px;margin-top:22px!important;}
.egepon-admin-stats-card__donut{
  position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);font-size:90px;filter:drop-shadow(0 18px 26px rgba(47,127,196,.18));
}
.egepon-admin-teachers-list,
#egepon-admin-students-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:16px!important;
  margin-bottom:34px!important;
}
.egepon-admin-teacher-row{
  display:grid!important;
  grid-template-columns:78px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:20px!important;
  padding:26px 30px!important;
}
.egepon-admin-teacher-row__avatar{
  width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#EAF6FF;border:4px solid #fff;box-shadow:0 0 0 1px rgba(59,158,232,.16),0 12px 28px rgba(47,127,196,.12);font-size:32px;
}
.egepon-admin-teacher-row h3{margin:0 0 6px!important;font-size:19px!important;}
.egepon-admin-teacher-row p{margin:0 0 5px!important;color:#64738A!important;}

/* Расписание в виде календаря */
.egepon-calendar-wrap{
  display:block!important;
  width:100%!important;
}
.egepon-calendar{
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(59,158,232,.16)!important;
  border-radius:30px!important;
  box-shadow:var(--eg-shadow-soft)!important;
  padding:22px!important;
  overflow:hidden!important;
}
.egepon-calendar__header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding:0 2px;
}
.egepon-calendar__eyebrow{
  color:#8A98AB;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;
}
.egepon-calendar__header h3{
  margin:0!important;color:#1A1A2E;font-size:26px!important;letter-spacing:-.04em!important;font-weight:850!important;
}
.egepon-calendar__legend{display:inline-flex;align-items:center;gap:8px;color:#7B899D;font-size:13px;font-weight:700;background:#F4FAFF;border:1px solid rgba(59,158,232,.12);padding:9px 12px;border-radius:999px;}
.egepon-calendar__legend i{width:8px;height:8px;border-radius:50%;background:#3B9EE8;display:block;}
.egepon-calendar__grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(150px,1fr))!important;
  gap:12px!important;
  overflow-x:auto!important;
  padding-bottom:6px!important;
}
.egepon-calendar-day{
  min-height:420px!important;
  background:#F8FCFF!important;
  border:1px solid rgba(59,158,232,.12)!important;
  border-radius:22px!important;
  padding:12px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
}
.egepon-calendar-day.is-today{
  background:linear-gradient(180deg,#EFF8FF,#FFFFFF)!important;
  border-color:rgba(59,158,232,.30)!important;
  box-shadow:inset 0 0 0 1px rgba(59,158,232,.10)!important;
}
.egepon-calendar-day__head{
  display:grid;grid-template-columns:1fr auto;grid-template-areas:"dow num" "mon num";align-items:center;gap:0 8px;padding:10px 11px;border-radius:16px;background:#fff;border:1px solid rgba(59,158,232,.12);
}
.egepon-calendar-day__head span{grid-area:dow;color:#7D8DA2;font-size:12px;font-weight:800;text-transform:uppercase;}
.egepon-calendar-day__head strong{grid-area:num;font-size:26px;color:#2F7FC4;line-height:1;font-weight:850;}
.egepon-calendar-day__head em{grid-area:mon;color:#A2AEC0;font-size:12px;font-style:normal;font-weight:700;}
.egepon-calendar-day__events{display:flex;flex-direction:column;gap:10px;min-height:0;}
.egepon-calendar-empty{
  min-height:74px;border:1px dashed rgba(59,158,232,.18);border-radius:18px;display:grid;place-items:center;color:#B4C0CF;font-family:Caveat,cursive!important;font-size:24px;background:rgba(255,255,255,.46);
}
.egepon-calendar-event{
  position:relative;padding:12px 12px 14px 14px!important;border-radius:18px!important;background:#fff!important;border:1px solid rgba(59,158,232,.15)!important;box-shadow:0 10px 24px rgba(47,127,196,.08)!important;overflow:hidden!important;
}
.egepon-calendar-event::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#3B9EE8;}
.egepon-calendar-event--oral_exam::before{background:#8B6EF6;}
.egepon-calendar-event--deadline::before,.egepon-calendar-event.is-deadline::before{background:#F5A23A;}
.egepon-calendar-event.is-cancelled{opacity:.62;filter:saturate(.65);}
.egepon-calendar-event__time{font-weight:850;color:#2F7FC4;font-size:13px;margin-bottom:7px;}
.egepon-calendar-event__title{font-weight:850;color:#1A1A2E;font-size:14px;line-height:1.22;margin-bottom:5px;}
.egepon-calendar-event__meta{font-size:12px;color:#73829A;line-height:1.25;margin-bottom:9px;}
.egepon-calendar-event__chips{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:6px;}
.egepon-calendar-event .egepon-chip{font-size:10px!important;padding:5px 8px!important;border-radius:999px!important;line-height:1!important;}
.egepon-calendar-event__link{display:inline-flex;margin:4px 6px 0 0;color:#2F7FC4!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;}
.egepon-calendar-event__actions{display:flex;gap:6px;margin-top:9px;}
.egepon-calendar-event__actions button{min-height:28px!important;padding:0 9px!important;border:0!important;background:#EFF8FF!important;color:#2F7FC4!important;border-radius:10px!important;font-size:11px!important;box-shadow:none!important;}

/* Общие карточки обзоров становятся ближе к макету */
.egepon-stats{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
}
.egepon-stat-card{min-height:120px!important;padding:22px!important;border-radius:24px!important;}
.egepon-stat-card__label{color:#1A1A2E!important;font-weight:800!important;text-transform:none!important;letter-spacing:-.01em!important;font-size:15px!important;}
.egepon-stat-card__value{color:#3B9EE8!important;font-size:36px!important;font-weight:850!important;font-family:Onest,Nunito,sans-serif!important;}
.egepon-tab{background:#EFF8FF!important;color:#65758C!important;border:1px solid rgba(59,158,232,.12)!important;}
.egepon-tab.is-active{background:#3B9EE8!important;color:#fff!important;}

@media (max-width:1180px){
  .egepon-dashboard{grid-template-columns:270px minmax(0,1fr)!important;}
  .egepon-calendar__grid{grid-template-columns:repeat(7, minmax(185px,1fr))!important;}
  .egepon-admin-grid{grid-template-columns:1fr!important;}
  .egepon-admin-stats-card{min-height:300px!important;}
}
@media (max-width:900px){
  .egepon-dashboard{display:block!important;}
  .egepon-sidebar{position:fixed!important;left:0!important;top:0!important;z-index:1000!important;transform:translateX(-110%)!important;width:280px!important;margin:0!important;border-radius:0 28px 28px 0!important;height:100dvh!important;min-height:100dvh!important;}
  .egepon-sidebar.is-open{transform:translateX(0)!important;}
  .egepon-main{padding:22px 18px 44px!important;}
  .egepon-topbar--minimal{display:block!important;}
  .egepon-topbar__menu{display:inline-flex!important;align-items:center;justify-content:center;width:46px;height:46px;border-radius:14px!important;background:#fff!important;box-shadow:0 8px 20px rgba(47,127,196,.12)!important;}
  .egepon-form-grid,.egepon-stats{grid-template-columns:1fr!important;}
  .egepon-admin-teacher-row{grid-template-columns:58px 1fr!important;}
  .egepon-admin-teacher-row .egepon-btn{grid-column:1/-1;justify-self:start;}
}
@media (max-width:640px){
  .egepon-home__main{padding-top:56px!important;}
  .egepon-home__title{font-size:clamp(54px,17vw,78px)!important;}
  .egepon-home__login-card{padding:30px 22px!important;border-radius:28px!important;}
  .egepon-calendar{padding:14px!important;border-radius:24px!important;}
  .egepon-calendar__header{display:block!important;}
  .egepon-calendar__legend{margin-top:12px;}
}

/* ═══════════════════════════════════════════════════════════════════
   v4.2.0 — пересборка визуального слоя от ZIP-прототипа
   Без лишнего фонового паттерна и декоративных пустых состояний.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --eg-zip-bg:#F3FBFF;
  --eg-zip-blue:#3B9EE8;
  --eg-zip-blue-2:#2F8FD8;
  --eg-zip-blue-soft:#EEF8FF;
  --eg-zip-ink:#1A1A2E;
  --eg-zip-muted:#6B7A8D;
  --eg-zip-line:rgba(59,158,232,.16);
  --eg-zip-card:rgba(255,255,255,.92);
  --eg-zip-shadow:0 20px 50px rgba(59,158,232,.12);
  --eg-zip-radius:28px;
  --eg-ivory:var(--eg-zip-bg);
  --eg-indigo:var(--eg-zip-blue);
  --eg-indigo-light:#DFF2FF;
  --eg-deep:var(--eg-zip-ink);
  --eg-muted:var(--eg-zip-muted);
}
html body.egepon-fullscreen,
html body.egepon-body{background:var(--eg-zip-bg)!important;}
body.egepon-fullscreen{overflow-x:hidden!important;}
.egepon-page,
.egepon-page *{font-family:Onest,Nunito,system-ui,-apple-system,"Segoe UI",sans-serif!important;}
.egepon-page{color:var(--eg-zip-ink)!important; background:var(--eg-zip-bg)!important;}
.egepon-page::before,
.egepon-page::after,
.egepon-stars{display:none!important; content:none!important; background:none!important;}
.egepon-page.egepon-home,
.egepon-page.egepon-v4-login,
.egepon-page.egepon-dashboard,
.egepon-page:not(.egepon-dashboard){
  background:
    radial-gradient(circle at 7% 9%, rgba(255,255,255,.96) 0 9%, transparent 9.3%),
    radial-gradient(circle at 13% 15%, rgba(255,255,255,.72) 0 6%, transparent 6.4%),
    radial-gradient(circle at 83% 8%, rgba(255,255,255,.95) 0 10%, transparent 10.4%),
    radial-gradient(circle at 91% 13%, rgba(255,255,255,.68) 0 7%, transparent 7.4%),
    linear-gradient(180deg,#ECF8FF 0%,#FFFFFF 44%,#F6FCFF 100%)!important;
}

/* Главная/вход */
.egepon-home{min-height:100vh!important; overflow:hidden!important;}
.egepon-home__header--empty{height:0!important; padding:0!important;}
.egepon-home__main--unified,
.egepon-home__main{
  max-width:980px!important;
  min-height:100vh!important;
  padding:8vh 24px 7vh!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  margin:0 auto!important;
}
.egepon-home__title{
  font-family:Unbounded,Onest,sans-serif!important;
  font-weight:800!important;
  color:#17172A!important;
  letter-spacing:-.065em!important;
  font-size:clamp(72px,10.5vw,132px)!important;
  line-height:.86!important;
  margin:0 0 26px!important;
}
.egepon-home__donut--brand{font-size:0!important; line-height:1!important; margin:0 0 28px!important; animation:none!important; filter:drop-shadow(0 16px 42px rgba(59,158,232,.26))!important;}
.egepon-home__hero-mark{width:64px!important; height:64px!important; display:block!important;}
.egepon-home__subtitle{font-size:clamp(20px,2vw,28px)!important; color:#6B7A8D!important; font-weight:800!important; margin:0 0 22px!important;}
.egepon-home__subjects{
  font-family:Caveat,cursive!important;
  color:#2F7FC4!important;
  font-size:clamp(28px,3.2vw,44px)!important;
  font-weight:700!important;
  line-height:1!important;
  margin:0 0 42px!important;
  background:transparent!important;
  border:0!important;
  padding:0!important;
  box-shadow:none!important;
}
.egepon-home__subject{background:transparent!important; border:0!important; padding:0!important; box-shadow:none!important; color:inherit!important;}
.egepon-home__login-card{
  width:min(100%,520px)!important;
  padding:42px 54px!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(59,158,232,.18)!important;
  box-shadow:0 28px 80px rgba(59,158,232,.12)!important;
  backdrop-filter:blur(18px)!important;
}
.egepon-home__login-title{font-family:Unbounded,Onest,sans-serif!important; font-size:clamp(30px,3vw,42px)!important; font-weight:800!important; letter-spacing:-.045em!important; color:#17172A!important; margin:0 0 12px!important;}
.egepon-home__login-sub{font-size:18px!important; color:#8A95A6!important; margin:0 0 22px!important; font-weight:600!important;}
.egepon-login-form{display:grid!important; gap:14px!important; max-width:360px!important; margin:0 auto!important;}
.egepon-login-form .egepon-input{height:50px!important; text-align:left!important;}
.egepon-home__login-card .egepon-btn,
.egepon-login-form .egepon-btn{
  min-height:48px!important;
  width:100%!important;
  border-radius:16px!important;
  background:#3B9EE8!important;
  border:0!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:800!important;
  box-shadow:0 14px 34px rgba(59,158,232,.24)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.egepon-reset-wrap{margin:16px 0 0!important;}
.egepon-reset-link{color:#6B7A8D!important; font-weight:700!important;}

/* Dashboard shell */
.egepon-dashboard{display:flex!important; min-height:100vh!important; background:transparent!important; overflow-x:hidden!important;}
.egepon-dashboard .egepon-sidebar{
  flex:0 0 304px!important;
  width:304px!important;
  min-height:100vh!important;
  padding:28px 28px!important;
  border-radius:0!important;
  background:linear-gradient(180deg,#41A5EC 0%,#2F8FD8 100%)!important;
  box-shadow:16px 0 46px rgba(47,143,216,.16)!important;
  border:0!important;
  color:#fff!important;
  overflow-y:auto!important;
}
.egepon-dashboard .egepon-sidebar::before{display:none!important;}
.egepon-brand{display:flex!important; align-items:center!important; gap:14px!important; margin:0 0 26px!important; padding:0 0 18px!important; border-bottom:1px solid rgba(255,255,255,.17)!important;}
.egepon-brand__mark{width:44px!important; height:44px!important; flex:0 0 44px!important;}
.egepon-brand__name{font-family:Unbounded,Onest,sans-serif!important; color:#12182A!important; font-size:25px!important; font-weight:800!important; letter-spacing:-.06em!important; line-height:1!important;}
.egepon-brand__sub{color:rgba(255,255,255,.78)!important; font-size:13px!important; font-weight:700!important; margin-top:4px!important;}
.egepon-sidebar__header{background:rgba(255,255,255,.18)!important; border:1px solid rgba(255,255,255,.22)!important; border-radius:24px!important; padding:18px!important; margin-bottom:24px!important; box-shadow:none!important;}
.egepon-sidebar__name{color:#fff!important; font-weight:800!important;}
.egepon-sidebar__role{color:rgba(255,255,255,.72)!important;}
.egepon-sidebar__avatar{background:rgba(255,255,255,.9)!important; border:0!important; box-shadow:none!important;}
.egepon-sidebar__section-title{color:rgba(255,255,255,.72)!important; font-size:12px!important; text-transform:uppercase!important; letter-spacing:.14em!important; font-weight:900!important; margin:22px 0 10px!important;}
.egepon-sidebar__btn{
  width:100%!important;
  min-height:54px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 18px!important;
  border-radius:18px!important;
  border:0!important;
  background:transparent!important;
  color:rgba(255,255,255,.9)!important;
  font-weight:800!important;
  text-align:left!important;
  box-shadow:none!important;
}
.egepon-sidebar__btn:hover{background:rgba(255,255,255,.14)!important; color:#fff!important; transform:none!important;}
.egepon-sidebar__btn.is-active{background:#fff!important; color:#2F8FD8!important; box-shadow:0 12px 28px rgba(18,87,143,.13)!important;}
.egepon-sidebar__ico{width:22px!important; height:22px!important; flex:0 0 22px!important; color:currentColor!important;}
.egepon-sidebar__divider{height:1px!important; background:rgba(255,255,255,.16)!important; margin:18px 0!important;}
.egepon-sidebar__notice{color:rgba(255,255,255,.76)!important; font-size:13px!important; line-height:1.45!important; padding:0 6px!important;}
.egepon-soon{display:inline-flex!important; margin-left:7px!important; padding:2px 7px!important; border-radius:999px!important; background:rgba(255,255,255,.22)!important; color:#fff!important; font-size:11px!important; font-style:normal!important;}

.egepon-main{flex:1 1 auto!important; min-width:0!important; padding:34px 42px 54px!important; background:transparent!important;}
.egepon-topbar{background:transparent!important; border:0!important; box-shadow:none!important; padding:0!important; margin:0 0 28px!important;}
.egepon-topbar__inner{max-width:none!important; padding:0!important; display:flex!important; align-items:flex-start!important; justify-content:space-between!important; gap:24px!important;}
.egepon-topbar__menu{display:none!important; background:#fff!important; color:#2F8FD8!important; border:1px solid var(--eg-zip-line)!important; border-radius:14px!important; width:44px!important; height:44px!important;}
.egepon-topbar__title,
.egepon-section__title{font-family:Unbounded,Onest,sans-serif!important; color:#1A1A2E!important; font-weight:800!important; letter-spacing:-.045em!important; line-height:1.08!important; margin:0 0 8px!important;}
.egepon-section__title-script{font-family:Caveat,cursive!important; color:#2F7FC4!important; font-weight:700!important; letter-spacing:0!important;}
.egepon-hero__eyebrow{color:#6B7A8D!important; text-transform:lowercase!important; font-weight:800!important; letter-spacing:.16em!important; font-size:12px!important; margin:0 0 8px!important;}
.egepon-content{max-width:none!important; padding:0!important;}
.egepon-stats{display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:24px!important; margin-bottom:26px!important;}
.egepon-stat-card,
.egepon-card,
.egepon-panel,
.egepon-task-card,
.egepon-slot-card,
.egepon-schedule-card,
.egepon-modal__dialog{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(59,158,232,.14)!important;
  border-radius:28px!important;
  box-shadow:0 18px 54px rgba(47,143,216,.10)!important;
  backdrop-filter:blur(18px)!important;
  color:#1A1A2E!important;
}
.egepon-stat-card{min-height:128px!important; padding:26px!important; overflow:hidden!important;}
.egepon-stat-card__label{color:#666E7D!important; font-weight:800!important; font-size:15px!important;}
.egepon-stat-card__value{font-family:Unbounded,Onest,sans-serif!important; color:#1A1A2E!important; font-size:36px!important; font-weight:800!important;}
.egepon-stat-card__deco{display:none!important;}
.egepon-grid{display:grid!important; grid-template-columns:minmax(0,1.8fr) minmax(320px,.85fr)!important; gap:26px!important; align-items:start!important;}
.egepon-side-panels{display:grid!important; gap:24px!important;}
.egepon-panel{padding:28px!important;}
.egepon-panel__title{font-family:Unbounded,Onest,sans-serif!important; font-weight:800!important; letter-spacing:-.04em!important;}
.egepon-tabs{display:flex!important; gap:8px!important; padding:6px!important; border:1px solid var(--eg-zip-line)!important; background:rgba(255,255,255,.68)!important; border-radius:999px!important; margin-bottom:22px!important; overflow:auto!important;}
.egepon-tab{min-height:46px!important; border-radius:999px!important; border:0!important; background:#EEF8FF!important; color:#69788E!important; font-weight:900!important; padding:10px 20px!important; white-space:nowrap!important;}
.egepon-tab.is-active{background:#3B9EE8!important; color:#fff!important;}
.egepon-tasks{min-height:220px!important; background:rgba(255,255,255,.62)!important; border:1px solid rgba(59,158,232,.12)!important; border-radius:28px!important; padding:22px!important;}
.egepon-input,
.egepon-page input[type="text"],
.egepon-page input[type="email"],
.egepon-page input[type="password"],
.egepon-page input[type="url"],
.egepon-page input[type="datetime-local"],
.egepon-page input[type="number"],
.egepon-page textarea,
.egepon-page select{background:#F5FAFF!important; border:1px solid rgba(59,158,232,.18)!important; color:#1A1A2E!important; border-radius:16px!important; min-height:48px!important;}
.egepon-btn--primary{background:#3B9EE8!important; border-color:#3B9EE8!important; color:#fff!important; box-shadow:0 12px 28px rgba(59,158,232,.24)!important; font-weight:900!important;}
.egepon-btn--ghost,.egepon-btn:not(.egepon-btn--primary){background:#EEF8FF!important; color:#2F7FC4!important; border-color:rgba(59,158,232,.15)!important;}
.egepon-empty-card{min-height:150px!important; display:flex!important; align-items:center!important; justify-content:center!important; text-align:center!important; border-style:dashed!important; color:#6B7A8D!important;}
.egepon-empty-card::before,.egepon-empty-card::after,.egepon-donut-empty::before,.egepon-donut-empty::after{display:none!important; content:none!important;}
.egepon-loading::before{content:"🍩"!important;}

/* Месячный календарь */
.egepon-calendar-wrap{display:block!important; width:100%!important;}
.egepon-calendar{background:rgba(255,255,255,.74)!important; border:1px solid rgba(59,158,232,.14)!important; border-radius:28px!important; box-shadow:0 18px 54px rgba(47,143,216,.10)!important; overflow:hidden!important;}
.egepon-calendar__header{display:flex!important; justify-content:space-between!important; align-items:center!important; gap:16px!important; padding:24px 26px!important; border-bottom:1px solid rgba(59,158,232,.11)!important;}
.egepon-calendar__eyebrow{color:#6B7A8D!important; font-size:12px!important; text-transform:uppercase!important; letter-spacing:.14em!important; font-weight:900!important;}
.egepon-calendar__header h3{margin:4px 0 0!important; font-family:Unbounded,Onest,sans-serif!important; font-weight:800!important; letter-spacing:-.04em!important; text-transform:capitalize!important;}
.egepon-calendar__nav{display:flex!important; gap:8px!important; align-items:center!important;}
.egepon-calendar__nav button{height:38px!important; padding:0 14px!important; border:1px solid rgba(59,158,232,.15)!important; background:#EEF8FF!important; color:#2F7FC4!important; border-radius:14px!important; font-weight:900!important; cursor:pointer!important;}
.egepon-calendar__weekdays{display:grid!important; grid-template-columns:repeat(7,minmax(0,1fr))!important; gap:0!important; border-bottom:1px solid rgba(59,158,232,.10)!important; background:rgba(238,248,255,.5)!important;}
.egepon-calendar__weekdays span{text-align:center!important; padding:12px 6px!important; color:#6B7A8D!important; font-weight:900!important; font-size:12px!important;}
.egepon-calendar__grid{display:grid!important; grid-template-columns:repeat(7,minmax(0,1fr))!important; gap:0!important;}
.egepon-calendar-day{min-height:152px!important; padding:12px!important; border-right:1px solid rgba(59,158,232,.10)!important; border-bottom:1px solid rgba(59,158,232,.10)!important; background:rgba(255,255,255,.46)!important;}
.egepon-calendar-day:nth-child(7n){border-right:0!important;}
.egepon-calendar-day.is-outside{background:rgba(246,251,255,.38)!important; opacity:.58!important;}
.egepon-calendar-day.is-today{box-shadow:inset 0 0 0 2px rgba(59,158,232,.32)!important; background:rgba(238,248,255,.72)!important;}
.egepon-calendar-day__head{display:flex!important; align-items:center!important; justify-content:space-between!important; gap:8px!important; margin-bottom:10px!important;}
.egepon-calendar-day__head span{font-size:11px!important; color:#8A95A6!important; font-weight:900!important; text-transform:uppercase!important;}
.egepon-calendar-day__head strong{font-size:18px!important; color:#1A1A2E!important; font-family:Unbounded,Onest,sans-serif!important;}
.egepon-calendar-day__head em{display:none!important;}
.egepon-calendar-day__events{display:flex!important; flex-direction:column!important; gap:7px!important;}
.egepon-calendar-event{padding:9px 10px!important; border-radius:14px!important; background:#fff!important; border:1px solid rgba(59,158,232,.13)!important; box-shadow:0 6px 18px rgba(47,143,216,.07)!important; overflow:hidden!important;}
.egepon-calendar-event__time{font-size:11px!important; color:#2F7FC4!important; font-weight:900!important; margin-bottom:3px!important;}
.egepon-calendar-event__title{font-size:12px!important; line-height:1.25!important; color:#1A1A2E!important; font-weight:900!important;}
.egepon-calendar-event__meta{font-size:11px!important; line-height:1.25!important; color:#6B7A8D!important; margin-top:2px!important;}
.egepon-calendar-event__chips{display:none!important;}
.egepon-calendar-event__link{display:inline-flex!important; margin-top:5px!important; margin-right:6px!important; font-size:11px!important; font-weight:900!important; color:#2F7FC4!important;}
.egepon-calendar-event__actions{display:flex!important; gap:5px!important; margin-top:6px!important;}
.egepon-calendar-event__actions button{height:24px!important; min-height:24px!important; padding:0 7px!important; border-radius:9px!important; border:0!important; background:#EEF8FF!important; color:#2F7FC4!important; font-size:11px!important;}
.egepon-calendar-empty{font-size:12px!important; color:#A2ADBC!important; padding:6px!important; text-align:center!important;}
.egepon-calendar-event--oral_exam{border-color:rgba(139,92,246,.18)!important; background:#FBF8FF!important;}
.egepon-calendar-event--deadline,.egepon-calendar-event.is-deadline{border-color:rgba(245,158,11,.20)!important; background:#FFF9EC!important;}
.egepon-calendar-event.is-cancelled{opacity:.55!important; text-decoration:line-through!important;}

@media (max-width:1100px){
  .egepon-dashboard .egepon-sidebar{flex-basis:270px!important; width:270px!important; padding:24px!important;}
  .egepon-main{padding:28px 26px 44px!important;}
  .egepon-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .egepon-grid{grid-template-columns:1fr!important;}
  .egepon-calendar-day{min-height:132px!important; padding:10px!important;}
}
@media (max-width:760px){
  .egepon-home__main{padding:7vh 18px 6vh!important; justify-content:flex-start!important;}
  .egepon-home__title{font-size:clamp(58px,18vw,86px)!important; margin-bottom:20px!important;}
  .egepon-home__hero-mark{width:56px!important; height:56px!important;}
  .egepon-home__subtitle{font-size:20px!important;}
  .egepon-home__subjects{font-size:34px!important; margin-bottom:34px!important;}
  .egepon-home__login-card{padding:32px 24px!important; border-radius:26px!important;}
  .egepon-home__login-title{font-size:28px!important;}
  .egepon-dashboard{display:block!important;}
  .egepon-dashboard .egepon-sidebar{position:fixed!important; inset:0 auto 0 0!important; width:min(86vw,316px)!important; transform:translateX(-102%)!important; transition:transform .22s ease!important; z-index:50!important; border-radius:0 28px 28px 0!important;}
  .egepon-dashboard .egepon-sidebar.is-open{transform:translateX(0)!important;}
  .egepon-main{padding:20px 16px 36px!important;}
  .egepon-topbar__menu{display:inline-grid!important; place-items:center!important; flex:0 0 44px!important;}
  .egepon-topbar__inner{align-items:center!important;}
  .egepon-topbar__title{font-size:28px!important;}
  .egepon-stats{grid-template-columns:1fr 1fr!important; gap:12px!important;}
  .egepon-stat-card{padding:18px!important; min-height:104px!important; border-radius:22px!important;}
  .egepon-stat-card__value{font-size:28px!important;}
  .egepon-panel,.egepon-card{border-radius:22px!important; padding:20px!important;}
  .egepon-calendar__header{padding:18px!important; align-items:flex-start!important; flex-direction:column!important;}
  .egepon-calendar__nav{width:100%!important; justify-content:space-between!important;}
  .egepon-calendar__weekdays{display:none!important;}
  .egepon-calendar__grid{display:flex!important; flex-direction:column!important;}
  .egepon-calendar-day{min-height:auto!important; border-right:0!important; padding:14px!important;}
  .egepon-calendar-day.is-outside{display:none!important;}
  .egepon-calendar-empty{display:none!important;}
  .egepon-calendar-day__head{justify-content:flex-start!important;}
  .egepon-calendar-day__head span{display:inline!important;}
  .egepon-calendar-day__head strong{font-size:20px!important;}
}
@media (max-width:430px){
  .egepon-stats{grid-template-columns:1fr!important;}
  .egepon-tabs{border-radius:22px!important; flex-wrap:wrap!important;}
  .egepon-tab{flex:1 1 auto!important; justify-content:center!important;}
}


/* ───────────────────────────────────────────────────────────────
   v4.2.1 — точечные исправления дизайна: крупный центральный календарь,
   светлый фон без посыпки, улучшенный редактор имени, правки модалки слотов.
   ─────────────────────────────────────────────────────────────── */
.egepon-page.egepon-dashboard,
.egepon-page.egepon-home,
.egepon-v4-login{
  background:
    radial-gradient(circle at 14% 10%, rgba(255,255,255,.95) 0 12%, transparent 13%),
    radial-gradient(circle at 84% 9%, rgba(255,255,255,.82) 0 10%, transparent 11%),
    linear-gradient(180deg,#eef7ff 0%, #f8fbff 100%) !important;
}

.egepon-sidebar{
  background:linear-gradient(180deg,#3e9ee8 0%, #58b0f6 100%) !important;
  border-right:none !important;
  box-shadow:0 18px 40px rgba(59,133,195,.22) !important;
  color:#fff;
}
.egepon-brand__name,
.egepon-brand__sub,
.egepon-sidebar__name,
.egepon-sidebar__role,
.egepon-sidebar__section-title,
.egepon-sidebar__notice{
  color:#fff !important;
}
.egepon-sidebar__divider{ border-color:rgba(255,255,255,.18) !important; }
.egepon-sidebar__btn{
  background:transparent !important;
  color:rgba(255,255,255,.96) !important;
  border:1px solid transparent !important;
}
.egepon-sidebar__btn:hover{
  background:rgba(255,255,255,.12) !important;
}
.egepon-sidebar__btn.is-active{
  background:#fff !important;
  color:#3496e7 !important;
  box-shadow:0 10px 26px rgba(27,100,160,.18);
}
.egepon-page .egepon-section__title-script,
.egepon-topbar__title .egepon-section__title-script{
  color:#4da8f0 !important;
}

.egepon-profile-editor{
  margin-top:12px;
  padding:14px;
  border-radius:24px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
}
.egepon-profile-editor__head{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:10px;
}
.egepon-profile-editor__head strong{
  font-size:13px;
  color:#fff;
}
.egepon-profile-editor__head span{
  font-size:11px;
  color:rgba(255,255,255,.82);
}
.egepon-profile-name-form{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.egepon-profile-name-label{
  font-size:11px;
  color:rgba(255,255,255,.86);
}
.egepon-profile-name-input{
  border:none;
  border-radius:18px;
  padding:10px 14px;
  font-size:14px;
  color:#24364b;
}
.egepon-profile-name-save{
  width:100%;
  background:#3f9eec;
  color:#fff;
  padding:10px 14px;
  font-size:13px;
}
.egepon-profile-name-msg{
  color:rgba(255,255,255,.9);
  min-height:16px;
}

.egepon-grid--student-home{
  display:grid !important;
  grid-template-columns:minmax(0,1.7fr) minmax(270px,.75fr) !important;
  align-items:start;
  gap:28px !important;
}
.egepon-main-column{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:22px;
}
.egepon-panel--calendar-large{
  padding:28px !important;
}
.egepon-panel--calendar-large .egepon-panel__note{
  margin:6px 0 0;
}
.egepon-panel--calendar-large #egepon-student-schedule,
.egepon-panel--calendar-large .egepon-calendar{
  width:100%;
}
.egepon-panel--calendar-large .egepon-calendar{
  margin:0 auto;
}
.egepon-panel--calendar-large .egepon-calendar__header{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.egepon-panel--calendar-large .egepon-calendar__eyebrow{
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.16em;
  color:#7b8ba3;
}
.egepon-panel--calendar-large .egepon-calendar__header h3{
  margin:6px 0 0;
  font-family:Unbounded,Onest,sans-serif;
  font-size:clamp(28px,3.6vw,44px);
  line-height:1;
  color:#1f2442;
  text-transform:capitalize;
}
.egepon-panel--calendar-large .egepon-calendar__nav{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
.egepon-panel--calendar-large .egepon-calendar__nav button{
  min-width:46px;
  height:46px;
  padding:0 16px;
  border:none;
  border-radius:18px;
  background:#edf5ff;
  color:#3496e7;
  font-weight:800;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.egepon-panel--calendar-large .egepon-calendar__nav [data-cal-nav="today"]{
  min-width:110px;
}
.egepon-panel--calendar-large .egepon-calendar__weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:12px;
  margin-bottom:12px;
}
.egepon-panel--calendar-large .egepon-calendar__weekdays span{
  text-align:center;
  color:#70839c;
  font-weight:700;
}
.egepon-panel--calendar-large .egepon-calendar__grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:12px;
}
.egepon-panel--calendar-large .egepon-calendar-day{
  min-height:170px;
  padding:12px;
  border-radius:24px;
  background:#fff;
  border:1px solid #dbeaf7;
  display:flex;
  flex-direction:column;
}
.egepon-panel--calendar-large .egepon-calendar-day.is-outside{
  background:#f8fbfe;
  opacity:.68;
}
.egepon-panel--calendar-large .egepon-calendar-day.is-today{
  border-color:#75bef8;
  box-shadow:0 0 0 2px rgba(117,190,248,.14);
}
.egepon-panel--calendar-large .egepon-calendar-day__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.egepon-panel--calendar-large .egepon-calendar-day__head span{
  font-size:11px;
  font-weight:800;
  color:#7b8ba3;
  text-transform:uppercase;
}
.egepon-panel--calendar-large .egepon-calendar-day__head strong{
  font-size:26px;
  line-height:1;
  color:#1f2442;
}
.egepon-panel--calendar-large .egepon-calendar-day__events{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:10px;
}
.egepon-panel--calendar-large .egepon-calendar-event{
  border-radius:16px;
  padding:8px 10px;
  background:#f4f8ff;
  border:1px solid #d9e7f7;
}
.egepon-panel--calendar-large .egepon-calendar-event__time{
  font-size:11px;
  font-weight:800;
  color:#4c617c;
}
.egepon-panel--calendar-large .egepon-calendar-event__title{
  margin-top:2px;
  font-size:13px;
  font-weight:800;
  color:#22334a;
}
.egepon-panel--calendar-large .egepon-calendar-event__meta,
.egepon-panel--calendar-large .egepon-calendar-event__chips{
  font-size:11px;
  color:#71829b;
}
.egepon-panel--calendar-large .egepon-calendar-empty{
  font-size:12px;
  color:#a6b4c4;
  padding:10px 4px;
}
.egepon-panel--tasks{
  padding:24px !important;
}
.egepon-mini-list{
  margin:10px 0 0;
  padding-left:18px;
  color:#657893;
  display:grid;
  gap:8px;
  font-size:13px;
}

.egepon-modal__dialog--slots{
  max-width:820px;
  padding:30px 32px;
}
.egepon-modal__dialog--slots .egepon-modal__title,
.egepon-modal__dialog--slots h2{
  margin:0 0 18px;
  font-size:24px;
  color:#1f2442;
}
#egepon-v4-student-slots{
  display:grid;
  gap:14px;
}
.egepon-slot-card{
  border-radius:22px !important;
  padding:18px !important;
}
.egepon-slot-card h3{
  margin:0 0 8px;
  font-size:18px;
}
.egepon-slot-card p{
  margin:0 0 6px;
  font-size:14px;
}
.egepon-slot-card .egepon-btn{
  margin-top:10px;
}
.egepon-modal__close{
  cursor:pointer;
}

.egepon-v4-login .egepon-home__main--unified,
.egepon-home__main--unified{
  max-width:1240px;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  padding:18px 24px 70px;
}
.egepon-v4-login .egepon-home__title,
.egepon-home__main--unified .egepon-home__title{
  margin:0;
}
.egepon-v4-login .egepon-home__subtitle{
  color:#7a8ca5;
}
.egepon-v4-login .egepon-home__subjects{
  color:#4da8f0;
}
.egepon-v4-login .egepon-home__login-card{
  border:1px solid #dbeaf7 !important;
  box-shadow:0 24px 50px rgba(93,150,199,.16) !important;
}

@media (max-width: 1080px){
  .egepon-grid--student-home{
    grid-template-columns:1fr !important;
  }
  .egepon-side-panels{
    order:2;
  }
}
@media (max-width: 720px){
  .egepon-panel--calendar-large{
    padding:18px !important;
  }
  .egepon-panel--calendar-large .egepon-calendar__header{
    align-items:flex-start;
  }
  .egepon-panel--calendar-large .egepon-calendar__nav{
    width:100%;
    justify-content:flex-start;
  }
  .egepon-panel--calendar-large .egepon-calendar__weekdays,
  .egepon-panel--calendar-large .egepon-calendar__grid{
    gap:8px;
  }
  .egepon-panel--calendar-large .egepon-calendar-day{
    min-height:124px;
    padding:10px 8px;
    border-radius:18px;
  }
  .egepon-panel--calendar-large .egepon-calendar-day__head strong{
    font-size:21px;
  }
  .egepon-panel--calendar-large .egepon-calendar-event{
    padding:7px 8px;
    border-radius:14px;
  }
  .egepon-panel--calendar-large .egepon-calendar-event__title{
    font-size:12px;
  }
  .egepon-panel--calendar-large .egepon-calendar-event__meta,
  .egepon-panel--calendar-large .egepon-calendar-event__chips,
  .egepon-panel--calendar-large .egepon-calendar-empty,
  .egepon-panel--calendar-large .egepon-calendar-event__time{
    font-size:10px;
  }
  .egepon-modal__dialog--slots{
    padding:22px 18px;
  }
}

/* ───────────────────────────────────────────────────────────────
   v4.3.0 — новая навигация, цельный сайдбар, обзоры и календарь точками
   ─────────────────────────────────────────────────────────────── */
:root{
  --bc-strawberry:#4da8f0;
  --bc-strawberry-2:#2f7fc4;
  --bc-strawberry-soft:#dff1ff;
  --eg-danger:#e95b67; /* используется только для дедлайнов/ошибок */
  --eg-indigo:#3f9ee8;
  --eg-indigo-light:#dff1ff;
}
.egepon-global-loader{display:none!important;}
.egepon-page.egepon-dashboard{
  min-height:100dvh!important;
  width:100%!important;
  display:flex!important;
  align-items:stretch!important;
  background:linear-gradient(90deg,#f5fbff 0%,#eef8ff 58%,#ffffff 100%)!important;
  overflow:visible!important;
}
.egepon-dashboard .egepon-sidebar,
.egepon-page .egepon-sidebar{
  position:sticky!important;
  top:0!important;
  align-self:stretch!important;
  flex:0 0 300px!important;
  width:300px!important;
  min-width:300px!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  overflow-y:auto!important;
  margin:0!important;
  border-radius:0!important;
  padding:30px 28px!important;
  background:linear-gradient(180deg,#3b9de8 0%,#3496df 100%)!important;
  box-shadow:none!important;
  border:0!important;
}
.egepon-main{
  min-height:100dvh!important;
  flex:1 1 auto!important;
  overflow:visible!important;
}
.egepon-content{
  width:min(100%,1440px)!important;
  max-width:1440px!important;
  margin:0 auto!important;
  padding:34px 46px 54px!important;
}
.egepon-brand--text-only{
  display:block!important;
  padding:0 0 24px!important;
  border-bottom:1px solid rgba(255,255,255,.22)!important;
  margin-bottom:24px!important;
}
.egepon-brand--text-only .egepon-brand__name{
  font-family:Unbounded,Onest,sans-serif!important;
  font-size:31px!important;
  line-height:1!important;
  color:#1f2442!important;
  letter-spacing:-.05em!important;
}
.egepon-brand--text-only .egepon-brand__sub{
  font-size:14px!important;
  line-height:1.25!important;
  color:#fff!important;
  font-weight:800!important;
  margin-top:7px!important;
}
.egepon-brand--text-only .egepon-brand__mark{display:none!important;}
.egepon-sidebar__section-title,
.egepon-sidebar__divider{display:none!important;}
.egepon-sidebar__header{
  margin:0 0 28px!important;
  border:1px solid rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.16)!important;
  border-radius:30px!important;
  padding:18px!important;
}
.egepon-sidebar__btn{
  width:100%!important;
  margin:0 0 8px!important;
  border-radius:19px!important;
  padding:14px 18px!important;
  font-size:15px!important;
  font-weight:850!important;
  color:#fff!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.egepon-sidebar__btn:hover{background:rgba(255,255,255,.14)!important;}
.egepon-sidebar__btn.is-active{
  background:#fff!important;
  color:#3298e5!important;
  box-shadow:0 10px 24px rgba(38,103,160,.12)!important;
}
.egepon-sidebar__ico{flex:0 0 22px;width:22px;height:22px;}
.egepon-section:not(.is-active),
.egepon-student-section[hidden]{display:none!important;}
.egepon-section.is-active,
.egepon-student-section.is-active{display:block!important;}
.egepon-force-hidden{display:none!important;}
.egepon-overview-calendar{margin-top:28px!important;}
.egepon-student-calendar-centered{
  max-width:1040px!important;
  margin:24px auto 0!important;
}
.egepon-subject-stats{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:20px!important;
  margin:0 0 24px!important;
}
.egepon-subject-stat-card{
  background:rgba(255,255,255,.9)!important;
  border:1px solid #dbeaf7!important;
  border-radius:28px!important;
  padding:22px!important;
  box-shadow:0 18px 46px rgba(76,145,207,.12)!important;
}
.egepon-subject-stat-card h3{margin:0!important;font-size:22px!important;color:#1f2442!important;}
.egepon-subject-stat-card p{margin:4px 0 16px!important;color:#70839c!important;font-weight:700!important;}
.egepon-subject-stat-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.egepon-subject-stat-grid span{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  padding:14px!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,#f8fcff,#eef7ff)!important;
}
.egepon-subject-stat-grid b{font-size:25px!important;color:var(--subject-color,#3f9ee8)!important;}
.egepon-subject-stat-grid em{font-style:normal!important;color:#71839b!important;font-size:12px!important;font-weight:800!important;}
.egepon-profile-page-card,.egepon-subject-list-page{max-width:900px!important;}
.egepon-profile-avatar-row{display:flex;align-items:center;gap:18px;margin-bottom:22px;}
.egepon-profile-avatar-large{width:72px!important;height:72px!important;font-size:34px!important;}
.egepon-profile-name-form--page{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;max-width:560px!important;}
.egepon-subject-list-page{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.egepon-subject-page-card{display:flex!important;align-items:center!important;gap:16px!important;}
.egepon-subject-page-card__icon{width:56px;height:56px;border-radius:18px;background:color-mix(in srgb,var(--subject-color,#3f9ee8) 18%, white);display:grid;place-items:center;font-size:26px;}
.egepon-subject-page-card h3{margin:0 0 4px;font-size:20px;}
.egepon-subject-page-card p{margin:0;color:#71839b;}
.egepon-panel--calendar-large .egepon-calendar__nav [data-cal-nav="today"]{display:none!important;}
.egepon-calendar-day__events{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:28px!important;
}
.egepon-calendar-dot{
  width:10px!important;
  height:10px!important;
  min-width:10px!important;
  min-height:10px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:var(--dot-color,#4da8f0)!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--dot-color,#4da8f0) 18%, transparent)!important;
  cursor:help!important;
}
.egepon-calendar-dot.is-cancelled{opacity:.35!important;}
.egepon-calendar-day{overflow:visible!important;}
.egepon-calendar-day__head{margin-bottom:8px!important;}
.egepon-panel--calendar-large .egepon-calendar-day{min-height:118px!important;}
.egepon-panel--calendar-large .egepon-calendar-day__head strong{font-size:24px!important;}
.egepon-archive-actions{margin:0 0 18px;max-width:240px;}
.egepon-schedule-slots-block{margin-top:28px;}
.egepon-schedule-slots-block .egepon-section__title{font-size:32px!important;}
.egepon-duration-custom{margin-top:8px!important;}
.egepon-trainers-main-title .egepon-section__title-script{display:none!important;}
.egepon-trainers-layout .egepon-panel__title,
.egepon-trainers-layout h3{word-break:normal!important;overflow-wrap:normal!important;hyphens:none!important;}
#egepon-save-to-bank,
label:has(#egepon-save-to-bank){display:none!important;}
.egepon-page .egepon-section__title-script,
.egepon-page .egepon-hero__title-script,
.egepon-topbar__title .egepon-section__title-script{color:#4da8f0!important;}
.egepon-page a,
.egepon-page button:not(.egepon-calendar-dot){--bc-strawberry:#4da8f0;}
@media (max-width:900px){
  .egepon-page.egepon-dashboard{display:block!important;}
  .egepon-dashboard .egepon-sidebar,.egepon-page .egepon-sidebar{
    position:fixed!important;inset:0 auto 0 0!important;transform:translateX(-104%)!important;width:min(86vw,310px)!important;min-width:0!important;z-index:80!important;transition:transform .22s ease!important;
  }
  .egepon-sidebar.is-open{transform:translateX(0)!important;}
  .egepon-content{padding:72px 18px 36px!important;}
  .egepon-topbar--minimal{display:block!important;position:fixed!important;top:10px!important;left:10px!important;z-index:70!important;}
  .egepon-panel--calendar-large .egepon-calendar__grid{grid-template-columns:repeat(7,minmax(38px,1fr))!important;gap:7px!important;}
  .egepon-panel--calendar-large .egepon-calendar-day{min-height:82px!important;padding:8px 5px!important;border-radius:16px!important;}
  .egepon-panel--calendar-large .egepon-calendar-day__head span{font-size:10px!important;}
  .egepon-panel--calendar-large .egepon-calendar-day__head strong{font-size:18px!important;}
  .egepon-calendar-dot{width:8px!important;height:8px!important;min-width:8px!important;min-height:8px!important;}
}
.egepon-archive-actions--multi{display:flex;gap:12px;flex-wrap:wrap;max-width:none!important;margin-bottom:22px!important;}
.egepon-archive-actions--multi .egepon-btn{width:auto;min-width:190px;}


/* ───────────────────────────────────────────────────────────────
   v4.3.1 — UI polish: единая голубая палитра, blur-модалки,
   кликабельный календарь, фото преподавателя, дедлайн со временем.
   ─────────────────────────────────────────────────────────────── */
:root{
  --bc-cream:#F5FBFF;
  --bc-milk:#FFFFFF;
  --bc-milk-warm:#EEF7FF;
  --bc-rose-mist:#EAF5FF;
  --bc-strawberry:#4DA8F0;
  --bc-strawberry-2:#2F8DDF;
  --bc-strawberry-soft:#DFF1FF;
  --bc-choco:#1F2442;
  --bc-choco-2:#344765;
  --bc-choco-soft:#657893;
  --bc-herb:#635BFF;
  --bc-herb-soft:#EEF2FF;
  --bc-honey:#8DCAFF;
  --bc-line:rgba(82,162,232,.22);
  --bc-line-soft:rgba(82,162,232,.12);
  --bc-ink:#1F2442;
  --bc-ink-2:#344765;
  --bc-ink-3:#71839B;
  --eg-violet:#635BFF;
  --eg-violet-soft:#EEF2FF;
}
html.egepon-has-modal,
body.egepon-has-modal{overflow:hidden;}
.egepon-page,
.egepon-page *{
  font-family:Onest,Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
.egepon-brand__name,
.egepon-home__title,
.egepon-section__title-main,
.egepon-panel__title,
.egepon-stat-card__value{
  font-family:Unbounded,Onest,sans-serif!important;
}
.egepon-section__title-script,
.egepon-home__subjects{
  font-family:Caveat,cursive!important;
}

/* Сайдбар тянется по всей длинной странице */
.egepon-page.egepon-dashboard{
  align-items:stretch!important;
  min-height:100vh!important;
  overflow:visible!important;
}
.egepon-dashboard .egepon-sidebar,
.egepon-page .egepon-sidebar{
  position:relative!important;
  top:auto!important;
  align-self:stretch!important;
  min-height:100vh!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding-top:44px!important;
}
.egepon-main{min-height:100vh!important;}
.egepon-brand--text-only{margin-top:0!important;}
.egepon-brand--text-only .egepon-brand__name{font-size:29px!important;color:#17213D!important;}
.egepon-brand--text-only .egepon-brand__sub{font-size:13px!important;letter-spacing:.01em!important;}
@media (max-width:900px){
  .egepon-dashboard .egepon-sidebar,.egepon-page .egepon-sidebar{
    position:fixed!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
  }
}

/* Экран входа: ниже, спокойнее, пончик крупнее */
.egepon-v4-login .egepon-home__main--unified,
.egepon-home__main--unified{
  padding-top:52px!important;
  justify-content:flex-start!important;
}
.egepon-v4-login .egepon-home__title,
.egepon-home__main--unified .egepon-home__title{
  font-size:clamp(70px,11vw,150px)!important;
  line-height:.88!important;
  margin:0 0 34px!important;
}
.egepon-v4-login .egepon-home__donut,
.egepon-home__main--unified .egepon-home__donut{
  width:76px!important;
  height:76px!important;
  margin:0 auto 36px!important;
}
.egepon-v4-login .egepon-home__hero-mark,
.egepon-home__main--unified .egepon-home__hero-mark{
  width:76px!important;
  height:76px!important;
}
.egepon-v4-login .egepon-home__login-card{max-width:520px!important;}

/* Blur-модалки вместо старого бордового фона */
.egepon-modal:not([hidden]){
  position:fixed!important;
  inset:0!important;
  display:grid!important;
  place-items:center!important;
  padding:24px!important;
  z-index:9999!important;
}
.egepon-modal__backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(235,247,255,.64)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.egepon-modal__dialog,
.egepon-modal__dialog--wide,
.egepon-modal__dialog--xwide,
.egepon-modal__dialog--slots,
.egepon-modal__dialog--event{
  position:relative!important;
  width:min(920px, calc(100vw - 48px))!important;
  max-height:calc(100dvh - 48px)!important;
  overflow:auto!important;
  background:rgba(255,255,255,.94)!important;
  border:1px solid #D7EAFA!important;
  border-radius:34px!important;
  box-shadow:0 30px 90px rgba(74,139,200,.24)!important;
  padding:28px!important;
  color:#1F2442!important;
}
.egepon-modal__dialog--event{width:min(620px, calc(100vw - 48px))!important;}
.egepon-modal__close,
.egepon-criteria-item__remove,
.egepon-remove-q,
button[title="Удалить критерий"]{
  border:0!important;
  outline:none!important;
  background:#EAF5FF!important;
  color:#2F8DDF!important;
  box-shadow:none!important;
}
.egepon-modal__close:hover,
.egepon-criteria-item__remove:hover,
.egepon-remove-q:hover{background:#DFF1FF!important;color:#1E7AC8!important;}

/* Формы и старые бежевые элементы — в голубую систему */
.egepon-page .egepon-card,
.egepon-page .egepon-section-card,
.egepon-page .egepon-panel,
.egepon-page .egepon-stat-card,
.egepon-page .egepon-form-card,
.egepon-page .egepon-q-card,
.egepon-page .egepon-students-pick,
.egepon-page .egepon-trainer-hint,
.egepon-page .egepon-criteria-block,
.egepon-page .egepon-preview-pane,
.egepon-page .egepon-task-card{
  background:rgba(255,255,255,.92)!important;
  border-color:#D7EAFA!important;
  color:#1F2442!important;
}
.egepon-page .egepon-input,
.egepon-page input,
.egepon-page textarea,
.egepon-page select,
.egepon-page .ql-container,
.egepon-page .ql-toolbar{
  background:#F3FAFF!important;
  border-color:#CFE7FA!important;
  color:#1F2442!important;
}
.egepon-page .egepon-btn--primary{background:#3F9EE8!important;color:#fff!important;box-shadow:0 12px 28px rgba(63,158,232,.22)!important;}
.egepon-page .egepon-btn--ghost{background:#EDF7FF!important;color:#2F83C7!important;border-color:#CFE7FA!important;}
.egepon-page .egepon-tone-chip--short,
.egepon-page .egepon-add-q-btn--short{background:#E5F4FF!important;color:#2786D5!important;border-color:#BFE3FF!important;}
.egepon-page .egepon-tone-chip--long,
.egepon-page .egepon-add-q-btn--long{background:#EEF2FF!important;color:#635BFF!important;border-color:#D8DEFF!important;}
.egepon-page .egepon-tone-chip--text,
.egepon-page .egepon-add-q-btn--text{background:#F7FBFF!important;color:#53708E!important;border-color:#D7EAFA!important;}
.egepon-page .egepon-criteria-block{background:#F8FBFF!important;border-style:dashed!important;}
.egepon-page .egepon-criteria-empty{color:#71839B!important;}
.egepon-page .egepon-chip:not(.egepon-chip--deadline):not(.egepon-chip--danger){background:#EAF5FF!important;color:#2F83C7!important;}
.egepon-page .egepon-chip--free{background:#ECFDF5!important;color:#28A36A!important;}
.egepon-page .egepon-chip--busy{background:#EEF2FF!important;color:#635BFF!important;}
.egepon-page .egepon-trainer-hint{background:#F3FAFF!important;border-color:#CFE7FA!important;}
.egepon-page .egepon-trainer-card,
.egepon-page .egepon-trainer-item,
.egepon-page .egepon-student-trainer-card{background:#fff!important;border-color:#D7EAFA!important;}
.egepon-page .egepon-trainer-progress,
.egepon-page .egepon-progress-bar{background:#EAF5FF!important;}

/* Приветствие ученика только на Обзоре */
.egepon-page[data-student-view-current="profile"] .egepon-topbar,
.egepon-page[data-student-view-current="subjects"] .egepon-topbar,
.egepon-page[data-student-view-current="homework"] .egepon-topbar,
.egepon-page[data-student-view-current="trainers"] .egepon-topbar{display:none!important;}
.egepon-topbar__title .egepon-section__title-script{color:#4DA8F0!important;}

/* Календарь */
.egepon-calendar__eyebrow{display:none!important;}
.egepon-panel__note{display:none!important;}
.egepon-calendar__legend{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px 18px!important;
  margin:8px 0 18px!important;
  color:#71839B!important;
  font-weight:800!important;
  font-size:13px!important;
}
.egepon-calendar__legend span{display:inline-flex;align-items:center;gap:8px;}
.egepon-calendar__legend i,
.egepon-calendar-dot{
  display:inline-block!important;
  width:11px!important;
  height:11px!important;
  border-radius:999px!important;
  background:var(--dot-color,#4DA8F0)!important;
}
.egepon-calendar-dot{cursor:pointer!important;border:0!important;}
.egepon-calendar-slot-btn{width:auto!important;white-space:nowrap!important;}
.egepon-calendar-event__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.egepon-calendar-event__actions button{width:auto!important;}

/* Фото преподавателя у ученика */
.egepon-subject-teacher-head{display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.egepon-subject-teacher-photo,
.egepon-subject-page-card__photo{
  width:58px!important;height:58px!important;border-radius:20px!important;overflow:hidden!important;
  display:grid!important;place-items:center!important;background:#EAF5FF!important;flex:0 0 58px!important;
}
.egepon-subject-teacher-photo img,
.egepon-subject-page-card__photo img{width:100%!important;height:100%!important;object-fit:cover!important;}
.egepon-subject-teacher-photo span,
.egepon-subject-page-card__photo span{font-size:25px!important;}
.egepon-subject-stat-card h3{margin:0 0 4px!important;}
.egepon-subject-stat-card p{margin:0!important;}

/* Красный оставляем только для дедлайнов/ошибок */
.egepon-page *:not(.egepon-calendar-dot--deadline):not(.is-deadline){
  --bc-strawberry:#4DA8F0;
  --bc-strawberry-2:#2F8DDF;
  --bc-strawberry-soft:#DFF1FF;
}
.egepon-error,.egepon-form-msg[style*="d32f2f"]{color:#E95B67!important;}

@media (max-width:720px){
  .egepon-v4-login .egepon-home__title{font-size:clamp(54px,18vw,92px)!important;margin-bottom:24px!important;}
  .egepon-v4-login .egepon-home__donut{width:64px!important;height:64px!important;margin-bottom:28px!important;}
  .egepon-modal:not([hidden]){padding:14px!important;}
  .egepon-modal__dialog{width:calc(100vw - 28px)!important;border-radius:26px!important;padding:20px!important;}
}


/* v4.3.2 — final polish fixes */
.egepon-home__main--unified{padding-top:32px!important;}
.egepon-v4-login .egepon-home__title,
.egepon-home__main--unified .egepon-home__title{
  font-size:clamp(36px,8vw,78px)!important;
  margin:0 0 18px!important;
  text-align:center!important;
}
.egepon-v4-login .egepon-home__donut,
.egepon-home__main--unified .egepon-home__donut,
.egepon-v4-login .egepon-home__hero-mark,
.egepon-home__main--unified .egepon-home__hero-mark{width:118px!important;height:118px!important;}
.egepon-v4-login .egepon-home__donut,.egepon-home__main--unified .egepon-home__donut{margin:0 auto 18px!important;}
.egepon-home__subtitle{margin:0 0 8px!important;font-size:clamp(22px,4.2vw,40px)!important;font-weight:800!important;}
.egepon-home__subjects{margin:0 0 26px!important;font-size:clamp(28px,4.6vw,48px)!important;line-height:1!important;}
.egepon-home__login-card{max-width:650px!important;padding:44px 56px 52px!important;}
.egepon-home__login-title{font-size:clamp(32px,6vw,64px)!important;line-height:.95!important;}
.egepon-home__login-sub{font-size:clamp(16px,2.2vw,22px)!important;margin-bottom:22px!important;}
.egepon-input--login,.egepon-login-form .egepon-input{font-size:30px!important;padding:24px 28px!important;border-radius:22px!important;}
.egepon-login-form .egepon-btn{font-size:22px!important;padding:22px 28px!important;border-radius:22px!important;}
.egepon-password-field{position:relative;}
.egepon-password-field .egepon-input{padding-right:76px!important;}
.egepon-password-toggle{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:14px;border:0;background:#EAF5FF;color:#4B83C5;display:grid;place-items:center;cursor:pointer;}
.egepon-password-toggle svg{width:22px;height:22px;}
.egepon-password-toggle.is-active{background:#DDF0FF;color:#1F6FB5;}

.egepon-calendar__legend i{background:var(--legend-bg,var(--dot-color,#4DA8F0))!important;position:relative;}
.egepon-calendar__legend .egepon-calendar-legend__lesson{box-shadow:inset 0 0 0 2px rgba(255,255,255,.75)!important;}
.egepon-calendar__header h3{font-size:clamp(26px,3.2vw,40px)!important;}
.egepon-calendar-day__head span{font-size:11px!important;}
.egepon-calendar-day__head strong{font-size:26px!important;}
.egepon-calendar-day__events{gap:7px!important;}
.egepon-calendar-slot-btn{margin-top:18px!important;}
.egepon-calendar-wrap + .egepon-btn,
.egepon-overview-calendar .egepon-calendar-slot-btn{margin-top:16px!important;}

.egepon-slot-form .egepon-form-grid{align-items:end!important;}
.egepon-slot-form .egepon-btn--primary{margin-top:8px!important;}

/* student homework / beige cleanup */
.egepon-page .egepon-task-card,
.egepon-page .egepon-task-modal,
.egepon-page .egepon-task-modal__section,
.egepon-page .egepon-homework-card,
.egepon-page .egepon-subject-summary,
.egepon-page .egepon-stats-row .egepon-stat-card,
.egepon-page .egepon-homework-column,
.egepon-page .egepon-student-homework-grid > *,
.egepon-page .egepon-tasks-grid > *{
  background:rgba(255,255,255,.94)!important;
  border-color:#D7EAFA!important;
}
.egepon-page .egepon-task-card__title,
.egepon-page .egepon-task-card__meta,
.egepon-page .egepon-task-card__status,
.egepon-page .egepon-task-card__score{font-family:Onest,Nunito,sans-serif!important;}

/* teacher students section cleanup */
.egepon-student-card,
.egepon-student-detail-columns section,
.egepon-student-detail-stats > div,
#egepon-attach-results .egepon-card,
#egepon-students-pick,
#egepon-students-grid + *{background:rgba(255,255,255,.96)!important;border:1px solid #D7EAFA!important;border-radius:28px!important;}
.egepon-student-card__avatar,
.egepon-student-detail-avatar{
  background:#fff!important;
  border:2px solid #BFE1FB!important;
  color:#2F8DDF!important;
  box-shadow:none!important;
}
.egepon-student-card__name{font-size:24px!important;font-family:Unbounded,Onest,sans-serif!important;}
.egepon-student-card__meta-line{margin:6px 0 0!important;font-size:14px!important;color:#6C819D!important;}
.egepon-student-card__stat-value{font-size:28px!important;}
.egepon-student-card__stat-label{font-size:14px!important;}
.egepon-student-detail-head .egepon-task-modal__title{font-size:34px!important;}
.egepon-student-detail-head .egepon-task-modal__meta{font-size:15px!important;}
.egepon-student-detail-task{background:#F6FBFF!important;border-color:#D7EAFA!important;}
.egepon-student-detail-actions .egepon-btn--danger{background:#EDF7FF!important;color:#2F83C7!important;border-color:#CFE7FA!important;}

/* search areas / old beige */
.egepon-students-pick,
.egepon-students-search,
#egepon-attach-search,
#egepon-students-search,
#egepon-group-students,
.egepon-trainer-pick,
.egepon-assign-students,
.egepon-student-filter,
.egepon-page .egepon-search-box{
  background:#F7FBFF!important;border-color:#D7EAFA!important;
}

/* question type buttons: new hover colors */
.egepon-add-q-btn--short{background:#E5F4FF!important;border-color:#BFE3FF!important;color:#2786D5!important;}
.egepon-add-q-btn--short:hover{background:#D8EEFF!important;color:#1B6FB5!important;}
.egepon-add-q-btn--long{background:#EAF5FF!important;border-color:#CFE7FA!important;color:#2B78BE!important;}
.egepon-add-q-btn--long:hover{background:#DFF1FF!important;color:#155F9F!important;}
.egepon-add-q-btn--text{background:#FFFFFF!important;border-color:#D7EAFA!important;color:#5F7A97!important;}
.egepon-add-q-btn--text:hover{background:#F6FBFF!important;color:#3E5D7E!important;}
.egepon-tone-chip--short{background:#E5F4FF!important;color:#2786D5!important;}
.egepon-tone-chip--long{background:#EAF5FF!important;color:#2B78BE!important;}
.egepon-tone-chip--text{background:#FFFFFF!important;color:#5F7A97!important;}

/* crosses without red halo */
.egepon-modal__close,
.egepon-remove-q,
.egepon-criteria-item__remove,
button[title="Удалить критерий"]{
  background:#EEF7FF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:none!important;
}

.egepon-builder-back{margin-right:auto!important;}
.egepon-builder-topbar{gap:14px!important;align-items:center!important;flex-wrap:wrap!important;}

@media (max-width:720px){
  .egepon-home__login-card{padding:28px 20px 34px!important;}
  .egepon-input--login,.egepon-login-form .egepon-input{font-size:22px!important;}
  .egepon-login-form .egepon-btn{font-size:18px!important;}
}


/* ───────────────────────────────────────────────────────────────
   v4.3.4 — hard UI normalization: cache-busted version, compact calendar,
   unified typography scale, final beige cleanup.
   ─────────────────────────────────────────────────────────────── */
:root{
  --eg-font-body:Onest,Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --eg-font-title:Unbounded,Onest,sans-serif;
  --eg-font-script:Caveat,cursive;
  --eg-blue:#3F9EE8;
  --eg-blue-2:#2F8DDF;
  --eg-blue-soft:#EAF6FF;
  --eg-blue-line:#CFE7FA;
  --eg-navy:#1F2442;
  --eg-muted:#71839B;
  --eg-red:#E95B67;
  --eg-green:#4CBF77;
  --eg-violet:#6A8BFF;
  --bc-cream:#F5FBFF!important;
  --bc-honey:#8DCAFF!important;
  --bc-strawberry:#3F9EE8!important;
  --bc-strawberry-soft:#EAF6FF!important;
  --cream:#F5FBFF!important;
  --honey:#8DCAFF!important;
}
.egepon-page,
.egepon-page *:not(svg):not(path):not(circle):not(rect):not(line):not(polyline):not(polygon){
  font-family:var(--eg-font-body)!important;
}
.egepon-home__title,
.egepon-brand__name,
.egepon-section__title,
.egepon-section__title-main,
.egepon-hero__title,
.egepon-panel__title,
.egepon-task-modal__title,
.egepon-q-section-head__title,
.egepon-stat-card__value,
.egepon-calendar__header h3,
.egepon-calendar-day__head strong,
.egepon-student-card__name{
  font-family:var(--eg-font-title)!important;
  font-weight:700!important;
  letter-spacing:-.045em!important;
}
.egepon-section__title-script,
.egepon-hero__title-script,
.egepon-home__subjects{
  font-family:var(--eg-font-script)!important;
  font-weight:700!important;
}
.egepon-section__title,
.egepon-hero__title{
  font-size:clamp(34px,3.6vw,52px)!important;
  line-height:1.06!important;
  margin:0 0 22px!important;
}
.egepon-section__title-script,
.egepon-hero__title-script{font-size:.86em!important;color:#55ADEF!important;}
.egepon-panel__title{font-size:24px!important;line-height:1.15!important;}
.egepon-page p,.egepon-page li,.egepon-page label,.egepon-page input,.egepon-page textarea,.egepon-page select,.egepon-page button{font-size:16px;line-height:1.45;}
.egepon-muted,.egepon-section__sub,.egepon-section__lead,.egepon-task-card__meta{font-size:15px!important;line-height:1.45!important;color:var(--eg-muted)!important;}
.egepon-stat-card__label{font-size:15px!important;font-weight:800!important;color:#8A99AC!important;}
.egepon-stat-card__value{font-size:36px!important;line-height:1!important;color:var(--eg-navy)!important;}

/* Login: make logo proportional to the card and make donut intentionally bigger */
body.egepon-body .egepon-home .egepon-home__main.egepon-home__main--unified{
  padding-top:46px!important;
  min-height:100vh!important;
  justify-content:flex-start!important;
}
body.egepon-body .egepon-home .egepon-home__main.egepon-home__main--unified .egepon-home__title{
  font-size:clamp(44px,7.2vw,96px)!important;
  line-height:.92!important;
  max-width:min(720px,88vw)!important;
  margin:0 auto 18px!important;
  text-align:center!important;
  transform:none!important;
}
body.egepon-body .egepon-home .egepon-home__donut,
body.egepon-body .egepon-home .egepon-home__hero-mark{
  width:132px!important;
  height:132px!important;
}
body.egepon-body .egepon-home .egepon-home__donut{margin:0 auto 16px!important;}
body.egepon-body .egepon-home .egepon-home__subtitle{
  margin:0 0 8px!important;
  font-size:clamp(22px,3.2vw,34px)!important;
  line-height:1.1!important;
}
body.egepon-body .egepon-home .egepon-home__subjects{
  margin:0 0 26px!important;
  font-size:clamp(28px,4vw,46px)!important;
  line-height:1.05!important;
}
body.egepon-body .egepon-home .egepon-home__login-card{
  max-width:620px!important;
  padding:42px 56px 46px!important;
  border-radius:34px!important;
}
body.egepon-body .egepon-home .egepon-home__login-title{
  font-size:clamp(34px,4.6vw,56px)!important;
  line-height:1!important;
  margin-bottom:10px!important;
}
body.egepon-body .egepon-home .egepon-home__login-sub{font-size:20px!important;margin-bottom:22px!important;}
body.egepon-body .egepon-home .egepon-login-form{gap:14px!important;}
body.egepon-body .egepon-home .egepon-login-form .egepon-input,
body.egepon-body .egepon-home .egepon-input--login{
  font-size:20px!important;
  line-height:1.25!important;
  padding:18px 22px!important;
  border-radius:20px!important;
}
body.egepon-body .egepon-home .egepon-login-form .egepon-btn{
  font-size:20px!important;
  padding:18px 24px!important;
  border-radius:20px!important;
}
.egepon-password-field{position:relative!important;}
.egepon-password-field .egepon-input{padding-right:72px!important;}
.egepon-password-toggle{font-size:0!important;}
.egepon-password-toggle svg{display:block!important;width:22px!important;height:22px!important;}

/* Compact month calendar: dots only, no scroll needed on normal desktop */
.egepon-panel--calendar-large,
.egepon-overview-calendar,
.egepon-panel--schedule{
  padding:22px!important;
}
.egepon-calendar__header{
  margin-bottom:12px!important;
  align-items:center!important;
}
.egepon-calendar__header h3{
  font-size:clamp(28px,3vw,38px)!important;
  line-height:1!important;
}
.egepon-calendar__nav button{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  border-radius:15px!important;
  padding:0!important;
  font-size:15px!important;
}
.egepon-calendar__legend{
  margin:8px 0 14px!important;
  padding:8px 14px!important;
  border-radius:18px!important;
  gap:10px 18px!important;
  font-size:13px!important;
  background:#F4FAFF!important;
  border:1px solid var(--eg-blue-line)!important;
}
.egepon-calendar__legend span{font-size:13px!important;line-height:1.2!important;}
.egepon-calendar__legend i{width:10px!important;height:10px!important;min-width:10px!important;}
.egepon-calendar__legend .egepon-calendar-legend__lesson{background:var(--legend-bg,var(--dot-color,#4DA8F0))!important;}
.egepon-calendar__weekdays{
  margin-bottom:8px!important;
  gap:6px!important;
}
.egepon-calendar__weekdays span{
  min-height:36px!important;
  display:grid!important;
  place-items:center!important;
  font-size:13px!important;
  font-weight:800!important;
}
.egepon-calendar__grid{
  gap:6px!important;
}
.egepon-calendar-day{
  min-height:86px!important;
  padding:8px!important;
  border-radius:18px!important;
}
.egepon-calendar-day__head{
  align-items:center!important;
}
.egepon-calendar-day__head span{
  font-size:10px!important;
  font-weight:800!important;
  color:#8A99AC!important;
}
.egepon-calendar-day__head strong{
  font-size:21px!important;
  line-height:1!important;
  color:var(--eg-navy)!important;
}
.egepon-calendar-day__events{
  margin-top:8px!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px!important;
}
.egepon-calendar-dot{
  width:9px!important;
  height:9px!important;
  min-width:9px!important;
  min-height:9px!important;
  padding:0!important;
  border:0!important;
  box-shadow:0 0 0 4px rgba(255,255,255,.82)!important;
}
.egepon-calendar-day.is-today{box-shadow:0 0 0 2px rgba(63,158,232,.28)!important;}
.egepon-calendar-slot-btn{margin:0 0 18px!important;}
.egepon-panel--schedule > .egepon-calendar-slot-btn,
.egepon-overview-calendar .egepon-calendar-slot-btn{margin-bottom:18px!important;}

/* Beige cleanup: tabs/tasks/search/buttons/cards */
.egepon-tabs,
.egepon-page .egepon-tabs,
.egepon-page .egepon-tabs::before,
.egepon-page .egepon-tab,
.egepon-page .egepon-task-card,
.egepon-page .egepon-task-card--empty,
.egepon-page .egepon-tasks,
.egepon-page .egepon-section-card,
.egepon-page .egepon-card,
.egepon-page .egepon-form-card,
.egepon-page .egepon-students-pick,
.egepon-page .egepon-students-search,
.egepon-page .egepon-student-card,
.egepon-page .egepon-q-card,
.egepon-page .egepon-criteria-block,
.egepon-page .egepon-trainer-hint,
.egepon-page .egepon-trainer-card,
.egepon-page .egepon-student-trainer-card{
  background:rgba(255,255,255,.94)!important;
  border-color:var(--eg-blue-line)!important;
  box-shadow:0 18px 44px rgba(64,148,218,.08)!important;
}
.egepon-tabs{padding:8px!important;border:1px solid var(--eg-blue-line)!important;border-radius:28px!important;}
.egepon-tab{border-radius:22px!important;color:#6E819A!important;}
.egepon-tab.is-active{background:var(--eg-blue)!important;color:#fff!important;}
.egepon-tab b{background:rgba(63,158,232,.16)!important;color:#2F8DDF!important;}
.egepon-tab.is-active b{background:rgba(255,255,255,.24)!important;color:#fff!important;}
.egepon-page .egepon-input,
.egepon-page input,
.egepon-page textarea,
.egepon-page select,
.egepon-page .ql-toolbar,
.egepon-page .ql-container{
  background:#F3FAFF!important;
  border-color:#CFE7FA!important;
}
.egepon-chip--deadline{background:#FFF1F3!important;color:var(--eg-red)!important;border-color:rgba(233,91,103,.20)!important;}
.egepon-chip:not(.egepon-chip--deadline):not(.egepon-chip--danger){background:#EAF6FF!important;color:#2F83C7!important;}

/* Sidebar must continue visually down the entire long page */
.egepon-page.egepon-dashboard{display:flex!important;align-items:stretch!important;min-height:100vh!important;background:#EDF8FF!important;}
.egepon-page.egepon-dashboard .egepon-sidebar{
  position:sticky!important;
  top:0!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow-y:auto!important;
  align-self:flex-start!important;
}
.egepon-page.egepon-dashboard .egepon-main{min-height:100vh!important;}

@media (max-width:900px){
  .egepon-page.egepon-dashboard .egepon-sidebar{position:fixed!important;height:100dvh!important;}
  .egepon-calendar-day{min-height:70px!important;padding:6px!important;}
  .egepon-calendar-day__head strong{font-size:18px!important;}
  .egepon-calendar__grid{gap:4px!important;}
}


/* ───────────────────────────────────────────────────────────────
   v4.3.4 — строгая нормализация дизайна и размеров
   ─────────────────────────────────────────────────────────────── */
:root{
  --eg-font-main:Onest,Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --eg-font-heading:Unbounded,Onest,Nunito,sans-serif;
  --eg-font-script:Caveat,cursive;
  --eg-ink:#1F2442;
  --eg-muted:#6F829B;
  --eg-blue:#3F9EE8;
  --eg-blue-2:#2F83C7;
  --eg-blue-soft:#EAF6FF;
  --eg-blue-soft-2:#F4FAFF;
  --eg-border:#D7EAFA;
  --eg-violet:#7EA5FF;
  --eg-deadline:#E95B67;
  --eg-green:#4CBF77;
}
body .egepon-page,
body .egepon-page *{
  font-family:var(--eg-font-main)!important;
  letter-spacing:normal;
}
body .egepon-page h1,
body .egepon-page h2,
body .egepon-page h3,
body .egepon-page h4,
body .egepon-page .egepon-section__title-main,
body .egepon-page .egepon-panel__title,
body .egepon-page .egepon-stat-card__value,
body .egepon-page .egepon-student-card__name,
body .egepon-page .egepon-calendar-day__head strong,
body .egepon-page .egepon-calendar__header h3{
  font-family:var(--eg-font-heading)!important;
  color:var(--eg-ink)!important;
}
body .egepon-page .egepon-section__title-script,
body .egepon-page .egepon-home__subjects,
body .egepon-page .egepon-hero__title-script,
body .egepon-page .egepon-topbar__title .egepon-section__title-script{
  font-family:var(--eg-font-script)!important;
  color:#4DA8F0!important;
  font-weight:700!important;
}
body .egepon-section__title,
body .egepon-page .egepon-section__title-main{
  font-size:clamp(34px,4.2vw,56px)!important;
  line-height:1.05!important;
}
body .egepon-section__title-script{
  font-size:.82em!important;
}
body .egepon-panel__title{
  font-size:28px!important;
  line-height:1.1!important;
}
body .egepon-muted,
body .egepon-page p,
body .egepon-page label,
body .egepon-page small,
body .egepon-page span,
body .egepon-page input,
body .egepon-page textarea,
body .egepon-page select,
body .egepon-page button{
  font-size:16px;
}
body .egepon-page .egepon-btn{
  font-family:var(--eg-font-main)!important;
  font-size:16px!important;
  font-weight:800!important;
}

/* Вход: вся верхняя часть по ширине карточки, рукописная строка, спокойный пончик */
body .egepon-home .egepon-home__main--unified{
  max-width:760px!important;
  margin:0 auto!important;
  padding:34px 18px 48px!important;
  align-items:center!important;
}
body .egepon-home .egepon-home__title{
  width:min(100%, 620px)!important;
  font-size:clamp(40px,8vw,92px)!important;
  line-height:.9!important;
  margin:0 auto 16px!important;
  text-align:center!important;
}
body .egepon-home .egepon-home__donut,
body .egepon-home .egepon-home__hero-mark{
  width:116px!important;
  height:116px!important;
}
body .egepon-home .egepon-home__donut{
  margin:0 auto 20px!important;
  filter:drop-shadow(0 20px 42px rgba(117,190,248,.28))!important;
}
body .egepon-home .egepon-home__subtitle{
  width:min(100%, 620px)!important;
  margin:0 auto 6px!important;
  text-align:center!important;
  font-size:clamp(20px,3.1vw,31px)!important;
  line-height:1.1!important;
}
body .egepon-home .egepon-home__subjects{
  width:min(100%, 620px)!important;
  margin:0 auto 24px!important;
  text-align:center!important;
  font-family:var(--eg-font-script)!important;
  font-size:clamp(32px,5vw,49px)!important;
  line-height:1!important;
}
body .egepon-home .egepon-home__login-card{
  width:min(100%, 620px)!important;
  max-width:620px!important;
  padding:42px 56px 48px!important;
}
body .egepon-home .egepon-home__login-title{
  font-size:clamp(42px,5vw,66px)!important;
  line-height:.98!important;
}
body .egepon-home .egepon-home__login-sub{
  font-size:21px!important;
}
body .egepon-home .egepon-login-form .egepon-input{
  font-size:22px!important;
  padding:18px 24px!important;
  border-radius:20px!important;
}
body .egepon-home .egepon-login-form .egepon-btn{
  font-size:22px!important;
  padding:20px 24px!important;
  border-radius:20px!important;
}
body .egepon-home .egepon-reset-link{
  font-size:18px!important;
  font-weight:800!important;
}
body .egepon-password-field{position:relative!important;}
body .egepon-password-field .egepon-input{padding-right:72px!important;}
body .egepon-password-toggle{
  position:absolute!important;
  right:16px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:42px!important;
  height:42px!important;
  border-radius:16px!important;
  border:0!important;
  background:#EAF5FF!important;
  color:#2F83C7!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:none!important;
}
body .egepon-password-toggle svg{width:22px!important;height:22px!important;}

/* Сайдбар: сплошной до самого низа, без внутреннего ползунка */
html,body{min-height:100%;}
body .egepon-page.egepon-dashboard{
  display:grid!important;
  grid-template-columns:300px minmax(0,1fr)!important;
  min-height:100vh!important;
  align-items:stretch!important;
}
body .egepon-dashboard .egepon-sidebar{
  position:sticky!important;
  top:0!important;
  left:0!important;
  align-self:start!important;
  min-height:100vh!important;
  height:100vh!important;
  overflow:hidden!important;
  border-radius:0!important;
  padding:30px 28px!important;
  background:linear-gradient(180deg,#3E9EE8 0%,#3194DA 100%)!important;
}
body .egepon-main{
  min-width:0!important;
}
body .egepon-brand--with-donut{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:28px!important;
}
body .egepon-brand__donut{
  width:45px!important;
  height:45px!important;
  flex:0 0 45px!important;
}
body .egepon-brand--text-only .egepon-brand__name{
  font-size:28px!important;
  line-height:1!important;
}
body .egepon-brand--text-only .egepon-brand__sub{
  font-size:13px!important;
  line-height:1.2!important;
}

/* Приветствие ученика: без белого прямоугольника */
body .egepon-topbar{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:34px 0 24px!important;
}
body .egepon-topbar__inner{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}
body .egepon-topbar__right{
  align-items:center!important;
  gap:14px!important;
}
body .egepon-notify-btn{
  width:58px!important;
  height:58px!important;
  font-size:24px!important;
  border-radius:20px!important;
}
body .egepon-notify-btn__bell{font-size:24px!important;}
body .egepon-topbar__id{
  font-size:16px!important;
  font-weight:800!important;
  color:#2F83C7!important;
  background:transparent!important;
  border:0!important;
}

/* Компактный календарь как в прототипе: точки, мало пустоты, целиком на экране */
body .egepon-student-calendar-centered,
body .egepon-overview-calendar,
body .egepon-schedule-calendar-block{
  max-width:780px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body .egepon-panel--calendar-large{
  padding:22px 26px!important;
}
body .egepon-calendar__header{
  margin-bottom:14px!important;
  align-items:center!important;
}
body .egepon-calendar__header h3{
  font-size:31px!important;
  line-height:1!important;
  margin:0!important;
}
body .egepon-calendar__nav button{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  border-radius:15px!important;
  font-size:15px!important;
}
body .egepon-calendar__legend{
  display:flex!important;
  gap:15px!important;
  margin:0 0 14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:13px!important;
}
body .egepon-calendar__legend span{
  font-size:13px!important;
  font-weight:800!important;
  color:#71839B!important;
}
body .egepon-calendar__legend i{
  width:9px!important;
  height:9px!important;
  border-radius:99px!important;
  background:var(--legend-bg,var(--dot-color,#4DA8F0))!important;
}
body .egepon-calendar__weekdays{
  gap:0!important;
  margin-bottom:8px!important;
  background:transparent!important;
}
body .egepon-calendar__weekdays span{
  font-size:13px!important;
  font-weight:800!important;
  text-align:center!important;
  color:#6E8098!important;
}
body .egepon-calendar__grid{
  display:grid!important;
  grid-template-columns:repeat(7, minmax(0,1fr))!important;
  gap:4px!important;
}
body .egepon-calendar-day{
  min-height:68px!important;
  height:68px!important;
  padding:5px!important;
  border-radius:18px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
}
body .egepon-calendar-day.is-outside{
  opacity:.38!important;
}
body .egepon-calendar-day.is-today{
  background:#3F9EE8!important;
  box-shadow:none!important;
}
body .egepon-calendar-day__head{
  width:56px!important;
  height:56px!important;
  border-radius:18px!important;
  background:#EEF7FF!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  position:relative!important;
}
body .egepon-calendar-day.is-today .egepon-calendar-day__head{
  background:#3F9EE8!important;
}
body .egepon-calendar-day__head span{
  display:none!important;
}
body .egepon-calendar-day__head strong{
  font-size:20px!important;
  line-height:1!important;
  font-family:var(--eg-font-main)!important;
  font-weight:800!important;
  color:var(--eg-ink)!important;
}
body .egepon-calendar-day.is-today .egepon-calendar-day__head strong{
  color:#fff!important;
}
body .egepon-calendar-day__events{
  position:absolute!important;
  left:50%!important;
  bottom:7px!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  gap:4px!important;
  flex-direction:row!important;
  margin:0!important;
}
body .egepon-calendar-dot{
  width:7px!important;
  height:7px!important;
  min-width:7px!important;
  min-height:7px!important;
  border-radius:99px!important;
  padding:0!important;
  background:var(--dot-color,#4DA8F0)!important;
}
body .egepon-calendar-slot-btn{
  margin:16px 0 22px!important;
  display:inline-flex!important;
}
body .egepon-panel__head--calendar{
  display:block!important;
}
body .egepon-panel__head--calendar .egepon-calendar-slot-btn{
  margin-top:16px!important;
}

/* Расписание преподавателя: расстояния между формой, слотами и календарём */
body .egepon-schedule-slots-block{
  margin-top:38px!important;
  padding-top:0!important;
}
body .egepon-schedule-slots-block .egepon-section__title{
  margin-bottom:14px!important;
}
body .egepon-schedule-slots-block .egepon-muted{
  margin-bottom:22px!important;
}
body #egepon-teacher-slots{
  margin-top:24px!important;
}
body .egepon-schedule-calendar-block{
  margin-top:42px!important;
}
body .egepon-schedule-calendar-block .egepon-section__title{
  margin-bottom:18px!important;
}

/* Статистика: единые цифры */
body .egepon-stat-card__value,
body .egepon-subject-stat-card b,
body .egepon-student-card__stat-value,
body .egepon-student-detail-stats b,
body .egepon-task-card__score,
body [data-tstat]{
  font-family:var(--eg-font-heading)!important;
  font-weight:800!important;
  color:var(--eg-ink)!important;
}
body .egepon-stat-card__value{
  font-size:34px!important;
}
body .egepon-subject-stat-card b{
  font-size:25px!important;
}
body .egepon-subject-stats,
body .egepon-student-subject-stats,
body .egepon-student-subject-card{
  max-width:780px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Профиль ученика — меньше пустоты */
body .egepon-profile-page-card{
  max-width:760px!important;
  min-height:0!important;
  padding:28px 34px!important;
}
body .egepon-profile-avatar-row{
  margin-bottom:22px!important;
}
body .egepon-profile-name-form--page{
  max-width:620px!important;
  gap:18px!important;
}
body .egepon-profile-page-card .egepon-input{
  padding:16px 20px!important;
  font-size:18px!important;
}

/* ДЗ, пробники, поиск учеников: убираем бежевое/старые цвета */
body .egepon-page .egepon-tabs,
body .egepon-page .egepon-tab,
body .egepon-page .egepon-task-card,
body .egepon-page .egepon-tasks,
body .egepon-page .egepon-students-pick,
body .egepon-page .egepon-students-search,
body .egepon-page .egepon-students-search__input,
body .egepon-page #egepon-students-search,
body .egepon-page #egepon-attach-search,
body .egepon-page .egepon-search-box,
body .egepon-page .egepon-trainer-progress,
body .egepon-page .egepon-task-modal__section{
  background:#F7FBFF!important;
  border-color:#D7EAFA!important;
  color:var(--eg-ink)!important;
}
body .egepon-page .egepon-tab{
  box-shadow:none!important;
}
body .egepon-page .egepon-tab.is-active{
  background:#3F9EE8!important;
  color:#fff!important;
}
body .egepon-page .egepon-tab.is-active *{
  color:#fff!important;
}
body .egepon-page .egepon-students-search{
  box-shadow:none!important;
}
body .egepon-page .egepon-students-toolbar{
  align-items:center!important;
}
body .egepon-page .egepon-students-search::before,
body .egepon-page .egepon-students-pick::before{
  background:transparent!important;
}
body .egepon-page .egepon-students-pick{
  padding:18px!important;
  border-radius:28px!important;
}
body .egepon-page .egepon-pick-pill,
body .egepon-page .egepon-student-chip{
  background:#EAF6FF!important;
  color:#2F83C7!important;
  border-color:#CFE7FA!important;
}

/* Модалки и карточки учеников: шрифты/цвета */
body .egepon-modal__dialog,
body .egepon-modal__dialog *{
  font-family:var(--eg-font-main)!important;
  color:var(--eg-ink);
}
body .egepon-modal__dialog h2,
body .egepon-modal__dialog h3,
body .egepon-modal__dialog .egepon-task-modal__title{
  font-family:var(--eg-font-heading)!important;
}
body .egepon-student-card,
body .egepon-student-detail-columns section,
body .egepon-student-detail-stats > div{
  background:#fff!important;
  border-color:#D7EAFA!important;
}
body .egepon-student-card__name{
  font-size:24px!important;
  line-height:1.25!important;
}
body .egepon-student-card__meta-line,
body .egepon-student-card__stat-label,
body .egepon-task-modal__meta{
  font-size:14px!important;
  color:#71839B!important;
}
body .egepon-student-card__avatar,
body .egepon-student-detail-avatar{
  background:#fff!important;
  border:2px solid #BFE3FF!important;
  box-shadow:none!important;
}

/* Крестики без красного/розового */
body .egepon-modal__close,
body .egepon-remove-q,
body .egepon-criteria-item__remove,
body button[title="Удалить критерий"]{
  background:#EEF7FF!important;
  color:#2F83C7!important;
  border:1px solid #CFE7FA!important;
  box-shadow:none!important;
}
body .egepon-modal__close:hover,
body .egepon-remove-q:hover,
body .egepon-criteria-item__remove:hover{
  background:#DFF1FF!important;
  color:#1E6EA9!important;
}

/* Мобильная/узкая адаптация */
@media (max-width:900px){
  body .egepon-page.egepon-dashboard{
    grid-template-columns:1fr!important;
  }
  body .egepon-dashboard .egepon-sidebar{
    position:fixed!important;
    height:100dvh!important;
    overflow-y:auto!important;
  }
}
@media (max-width:720px){
  body .egepon-home .egepon-home__login-card{padding:30px 20px 36px!important;}
  body .egepon-home .egepon-home__title{font-size:42px!important;}
  body .egepon-home .egepon-home__subjects{font-size:32px!important;}
  body .egepon-calendar-day{height:52px!important;min-height:52px!important;}
  body .egepon-calendar-day__head{width:44px!important;height:44px!important;border-radius:14px!important;}
  body .egepon-calendar-day__head strong{font-size:16px!important;}
}


/* v4.3.4 extra cleanup for remaining wrappers */
body .egepon-students-toolbar,
body .egepon-builder-grid,
body .egepon-create-test,
body .egepon-form-card,
body .egepon-form-card > *,
body .egepon-students-pick-wrap,
body .egepon-q-section-head{
  background:transparent!important;
}
body .egepon-form-card{
  background:#fff!important;
  border:1px solid #D7EAFA!important;
}
body .egepon-subject-stat-grid span{
  background:#F4FAFF!important;
  border:1px solid #D7EAFA!important;
  border-radius:20px!important;
}
body .egepon-subject-stat-grid em,
body .egepon-subject-stat-card p,
body .egepon-subject-stat-card h3{
  font-family:var(--eg-font-main)!important;
}
body .egepon-subject-stat-grid b{
  font-family:var(--eg-font-heading)!important;
}
body .egepon-page .egepon-hero__eyebrow,
body .egepon-page .egepon-draft-status,
body .egepon-page .egepon-field-label,
body .egepon-page .egepon-q-section-head__sub,
body .egepon-page code{
  color:#71839B!important;
  font-family:var(--eg-font-main)!important;
}
body .egepon-page .egepon-selected-student,
body .egepon-page .egepon-student-token,
body .egepon-page .egepon-pick-student{
  background:#EAF6FF!important;
  border-color:#CFE7FA!important;
  color:#2F83C7!important;
}

/* ───────────────────────────────────────────────────────────────
   v4.3.5 — календарь как в прототипе, компактная главная, фикс сайдбара,
   добивка старых шрифтов/бежевых цветов.
   ─────────────────────────────────────────────────────────────── */
:root{
  --bc-cream:#EEF8FF!important;
  --bc-milk:#FFFFFF!important;
  --bc-milk-warm:#F6FBFF!important;
  --bc-rose-mist:#EAF6FF!important;
  --bc-choco:#1F2442!important;
  --bc-choco-2:#263B56!important;
  --bc-choco-soft:#6F829B!important;
  --bc-honey:#4DA8F0!important;
  --eg-muted:#6F829B!important;
  --eg-deep:#1F2442!important;
  --eg-white:#FFFFFF!important;
  --eg-ivory:#EEF8FF!important;
}

/* Главная: вся композиция меньше и ниже */
body .egepon-home .egepon-home__main--unified{
  max-width:620px!important;
  padding-top:62px!important;
  transform:scale(.86)!important;
  transform-origin:top center!important;
}
body .egepon-home .egepon-home__title{
  max-width:520px!important;
  font-size:clamp(34px,6.5vw,72px)!important;
  margin-bottom:18px!important;
}
body .egepon-home .egepon-home__donut,
body .egepon-home .egepon-home__hero-mark{
  width:102px!important;
  height:102px!important;
}
body .egepon-home .egepon-home__subtitle{
  max-width:520px!important;
  font-size:clamp(18px,2.6vw,26px)!important;
  margin-bottom:6px!important;
}
body .egepon-home .egepon-home__subjects{
  max-width:520px!important;
  font-family:var(--eg-font-script)!important;
  font-size:clamp(26px,4.4vw,40px)!important;
  line-height:.95!important;
  margin-bottom:22px!important;
}
body .egepon-home .egepon-home__login-card{
  max-width:520px!important;
  width:520px!important;
  padding:38px 50px 42px!important;
}
body .egepon-home .egepon-home__login-title{
  font-size:clamp(36px,4.5vw,56px)!important;
}
body .egepon-home .egepon-home__login-sub{
  font-size:18px!important;
}
body .egepon-home .egepon-login-form .egepon-input{
  font-size:19px!important;
  padding:16px 20px!important;
}
body .egepon-home .egepon-login-form .egepon-btn{
  font-size:19px!important;
  padding:18px 22px!important;
}
body .egepon-home .egepon-reset-link{font-size:17px!important;}

/* Заголовки: единая шкала + рукописные акценты крупнее */
body .egepon-page .egepon-section__title-main,
body .egepon-page .egepon-section__title,
body .egepon-page .egepon-hero__title{
  font-size:clamp(40px,4.2vw,60px)!important;
  line-height:1.02!important;
}
body .egepon-page .egepon-section__title-script,
body .egepon-page .egepon-hero__title-script{
  font-size:clamp(34px,3.8vw,54px)!important;
  line-height:.95!important;
  margin-left:8px!important;
}
body .egepon-page .egepon-panel__title,
body .egepon-page .egepon-task-modal__title{
  font-size:28px!important;
  line-height:1.1!important;
}
body .egepon-page,
body .egepon-page input,
body .egepon-page textarea,
body .egepon-page select,
body .egepon-page button,
body .egepon-page label,
body .egepon-page p,
body .egepon-page span,
body .egepon-page small{
  color:#1F2442;
  font-family:var(--eg-font-main)!important;
}

/* Сайдбар: фиксированный, цельный, без внутреннего скролла/ползунка */
@media (min-width:901px){
  body .egepon-page.egepon-dashboard{
    display:block!important;
    min-height:100vh!important;
    overflow:visible!important;
  }
  body .egepon-dashboard .egepon-sidebar,
  body .egepon-page .egepon-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:300px!important;
    min-height:100vh!important;
    height:100vh!important;
    overflow:hidden!important;
    border-radius:0!important;
    padding:24px 24px 18px!important;
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
  }
  body .egepon-dashboard .egepon-main,
  body .egepon-main{
    margin-left:300px!important;
    width:calc(100vw - 300px)!important;
    min-height:100vh!important;
    overflow:visible!important;
  }
  body .egepon-sidebar__btn{
    padding:12px 16px!important;
    min-height:46px!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1.1!important;
  }
  body .egepon-sidebar__header{padding:14px!important;margin:8px 0 14px!important;}
  body .egepon-brand--with-donut{margin-bottom:16px!important;}
  body .egepon-sidebar__divider{margin:8px 0!important;}
}

/* Календарь: чистая компактная сетка как в прототипе */
body .egepon-student-calendar-centered,
body .egepon-overview-calendar,
body .egepon-schedule-calendar-block{
  max-width:640px!important;
  width:100%!important;
}
body .egepon-panel--calendar-large,
body .egepon-overview-calendar,
body .egepon-schedule-calendar-block .egepon-calendar,
body .egepon-student-calendar-centered .egepon-calendar{
  padding:24px 28px!important;
}
body .egepon-calendar{
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:26px!important;
  overflow:visible!important;
}
body .egepon-calendar__header{
  margin:0 0 18px!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
}
body .egepon-calendar__header h3{
  font-size:28px!important;
  line-height:1!important;
  margin:0!important;
}
body .egepon-calendar__nav{display:flex!important;gap:10px!important;}
body .egepon-calendar__nav button{
  width:38px!important;
  min-width:38px!important;
  height:38px!important;
  border-radius:14px!important;
  font-size:14px!important;
}
body .egepon-calendar__legend{
  margin:0 0 16px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  display:flex!important;
  gap:16px!important;
  flex-wrap:wrap!important;
}
body .egepon-calendar__legend span{
  font-size:13px!important;
  color:#6F829B!important;
  font-weight:700!important;
}
body .egepon-calendar__legend i{
  width:8px!important;height:8px!important;border-radius:50%!important;
  background:var(--legend-bg,var(--dot-color,#4DA8F0))!important;
  box-shadow:none!important;border:0!important;
}
body .egepon-calendar__weekdays{
  display:grid!important;
  grid-template-columns:repeat(7,1fr)!important;
  gap:0!important;
  margin:0 0 8px!important;
  background:transparent!important;
  border:0!important;
}
body .egepon-calendar__weekdays span{
  text-align:center!important;
  font-size:13px!important;
  font-weight:700!important;
  color:#6F829B!important;
}
body .egepon-calendar__grid{
  display:grid!important;
  grid-template-columns:repeat(7,1fr)!important;
  gap:6px!important;
}
body .egepon-calendar-day{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:18px!important;
  width:100%!important;
  min-height:54px!important;
  height:54px!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  cursor:pointer!important;
  overflow:visible!important;
}
body .egepon-calendar-day:hover{background:#F4FAFF!important;}
body .egepon-calendar-day.is-outside{opacity:.34!important;}
body .egepon-calendar-day__num{
  display:block!important;
  font-family:var(--eg-font-main)!important;
  font-size:20px!important;
  line-height:1!important;
  font-weight:700!important;
  color:#1F2442!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  width:auto!important;height:auto!important;
}
body .egepon-calendar-day.is-today,
body .egepon-calendar-day.is-today .egepon-calendar-day__num{
  background:transparent!important;
  color:#3F9EE8!important;
}
body .egepon-calendar-day__head{display:none!important;}
body .egepon-calendar-day__events{
  position:static!important;
  transform:none!important;
  display:flex!important;
  flex-direction:row!important;
  gap:4px!important;
  height:8px!important;
  margin:0!important;
  align-items:center!important;
  justify-content:center!important;
}
body .egepon-calendar-dot{
  display:block!important;
  width:6px!important;
  height:6px!important;
  min-width:6px!important;
  min-height:6px!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:50%!important;
  padding:0!important;
  background:var(--dot-color,#4DA8F0)!important;
}
body .egepon-calendar-slot-btn{
  margin:18px 0 26px!important;
}
body .egepon-calendar-day-modal-list{display:grid!important;gap:12px!important;}

/* Слоты/формы: расстояния */
body .egepon-schedule-slots-block{margin-top:42px!important;}
body #egepon-teacher-slots{margin-top:26px!important;}
body .egepon-schedule-calendar-block{margin-top:48px!important;}

/* Бежевый цвет — стоп. Любые старые warm/cream блоки в рабочих зонах делаем голубыми/белыми */
body .egepon-page .egepon-students-pick,
body .egepon-page .egepon-students-search,
body .egepon-page .egepon-students-toolbar,
body .egepon-page .egepon-task-card,
body .egepon-page .egepon-tabs,
body .egepon-page .egepon-tab,
body .egepon-page .egepon-q-section-head,
body .egepon-page .egepon-tone-chip,
body .egepon-page .egepon-criteria-box,
body .egepon-page .egepon-trainer-pick,
body .egepon-page .egepon-platform-results,
body .egepon-page .egepon-attach-result,
body .egepon-page .egepon-search-box{
  background:#F7FBFF!important;
  border-color:#D7EAFA!important;
  color:#1F2442!important;
}
body .egepon-page .egepon-students-toolbar{box-shadow:none!important;padding:0!important;}
body .egepon-page .egepon-students-search{max-width:560px!important;}
body .egepon-page .egepon-students-search::before,
body .egepon-page .egepon-students-pick::before{display:none!important;}
body .egepon-page .egepon-selected-student,
body .egepon-page .egepon-pick-pill,
body .egepon-page .egepon-student-token{
  background:#EAF6FF!important;
  border-color:#BFE3FF!important;
  color:#2F83C7!important;
}
body .egepon-page .egepon-tab.is-active{background:#3F9EE8!important;color:#fff!important;}
body .egepon-page .egepon-tab.is-active *{color:#fff!important;}

/* Статистика и календарные цифры — одна графика */
body .egepon-stat-card__value,
body .egepon-student-card__stat-value,
body .egepon-subject-stat-card b,
body .egepon-student-detail-stats b,
body [data-tstat]{
  font-family:var(--eg-font-heading)!important;
  font-size:32px!important;
  font-weight:800!important;
  color:#1F2442!important;
}
body .egepon-subject-stat-grid em,
body .egepon-stat-card__label,
body .egepon-student-card__stat-label{
  font-family:var(--eg-font-main)!important;
  font-size:14px!important;
  color:#6F829B!important;
  font-weight:700!important;
}

@media(max-width:720px){
  body .egepon-home .egepon-home__main--unified{transform:none!important;max-width:100%!important;padding-top:34px!important;}
  body .egepon-home .egepon-home__login-card{width:min(100%,520px)!important;}
  body .egepon-calendar-day{height:42px!important;min-height:42px!important;}
  body .egepon-calendar-day__num{font-size:16px!important;}
}


/* ───────────────────────────────────────────────────────────────
   v4.3.6 — сайдбар как в удачном макете + контент сразу сверху
   ─────────────────────────────────────────────────────────────── */
@media (min-width:901px){
  html, body{
    min-height:100%!important;
  }
  body .egepon-page.egepon-dashboard{
    display:block!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#EAF7FF!important;
  }
  body .egepon-page.egepon-dashboard .egepon-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:300px!important;
    height:100vh!important;
    min-height:100vh!important;
    overflow:hidden!important;
    padding:24px 22px 20px!important;
    border-radius:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
    background:linear-gradient(180deg,#3FA2EA 0%,#3195DC 100%)!important;
    box-shadow:none!important;
    color:#fff!important;
    z-index:30!important;
  }
  body .egepon-page.egepon-dashboard .egepon-main{
    margin-left:300px!important;
    width:calc(100vw - 300px)!important;
    min-height:100vh!important;
    padding:28px 42px 64px!important;
    overflow:visible!important;
    transform:none!important;
    top:auto!important;
  }
  body .egepon-page.egepon-dashboard .egepon-main > .egepon-section,
  body .egepon-page.egepon-dashboard .egepon-main > .egepon-student-section,
  body .egepon-page.egepon-dashboard .egepon-section.is-active{
    margin-top:0!important;
    padding-top:0!important;
  }
  body .egepon-page.egepon-dashboard .egepon-topbar{
    margin:0!important;
    padding:0 0 24px!important;
  }
  body .egepon-page.egepon-dashboard .egepon-topbar--minimal{
    display:none!important;
  }
}

/* Сайдбар: белый текст, активный пункт белой плашкой, без чёрных хвостов */
body .egepon-page.egepon-dashboard .egepon-sidebar,
body .egepon-page.egepon-dashboard .egepon-sidebar *{
  font-family:Onest,Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand,
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand--with-donut{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 18px!important;
  padding:0!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__donut{
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__name{
  color:#fff!important;
  font-family:Unbounded,Onest,sans-serif!important;
  font-size:28px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.04em!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__sub{
  color:#C9EBFF!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:800!important;
  margin-top:4px!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__header{
  background:rgba(255,255,255,.15)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:none!important;
  border-radius:24px!important;
  padding:14px!important;
  margin:0 0 16px!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__avatar,
body .egepon-page.egepon-dashboard .egepon-sidebar__photo{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.18)!important;
  border:2px solid rgba(255,255,255,.45)!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__avatar-emoji,
body .egepon-page.egepon-dashboard .egepon-sidebar__photo-placeholder{
  color:#fff!important;
  font-size:24px!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__name{
  color:#fff!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:900!important;
  margin:0!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__role{
  color:#D6F0FF!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:700!important;
  margin:4px 0 0!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__btn{
  width:100%!important;
  min-height:42px!important;
  padding:10px 14px!important;
  margin:0!important;
  border:1px solid transparent!important;
  border-radius:18px!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  font-size:15px!important;
  line-height:1.1!important;
  font-weight:900!important;
  text-align:left!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__btn svg,
body .egepon-page.egepon-dashboard .egepon-sidebar__btn .egepon-sidebar__ico{
  width:20px!important;
  height:20px!important;
  color:currentColor!important;
  stroke:currentColor!important;
  flex:0 0 20px!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__btn span{
  color:currentColor!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1.1!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__btn:hover{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__btn.is-active{
  background:#fff!important;
  color:#3195DC!important;
  border-color:#fff!important;
  box-shadow:0 12px 24px rgba(25,106,171,.16)!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__btn.is-active span,
body .egepon-page.egepon-dashboard .egepon-sidebar__btn.is-active svg{
  color:#3195DC!important;
  stroke:#3195DC!important;
}
/* последняя кнопка "Выйти" уходит вниз, без кнопки режима преподавателя */
@media (min-width:901px){
  body .egepon-page.egepon-dashboard .egepon-sidebar > .egepon-sidebar__btn:last-of-type{
    margin-top:auto!important;
  }
}

/* Защита от глобального color:#1F2442 на span/p внутри сайдбара */
body .egepon-page.egepon-dashboard .egepon-sidebar p,
body .egepon-page.egepon-dashboard .egepon-sidebar span,
body .egepon-page.egepon-dashboard .egepon-sidebar div,
body .egepon-page.egepon-dashboard .egepon-sidebar button{
  color:inherit!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__name{color:#fff!important;}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__sub{color:#C9EBFF!important;}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-sidebar__name{color:#fff!important;}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-sidebar__role{color:#D6F0FF!important;}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-sidebar__btn:not(.is-active){color:#fff!important;}

/* Мобилка: сайдбар выезжает, но остаётся в той же палитре */
@media (max-width:900px){
  body .egepon-page.egepon-dashboard .egepon-sidebar{
    background:linear-gradient(180deg,#3FA2EA 0%,#3195DC 100%)!important;
    color:#fff!important;
  }
}


/* ───────────────────────────────────────────────────────────────
   v4.3.7 — typography/color cleanup, compact calendar, student overview layout
   ─────────────────────────────────────────────────────────────── */
:root{
  --eg-ink:#1F2442;
  --eg-muted:#6F829B;
  --eg-blue:#3F9EE8;
  --eg-blue-soft:#EAF6FF;
  --eg-blue-soft-2:#F7FBFF;
  --eg-border:#D7EAFA;
  --eg-violet:#8A86FF;
  --eg-violet-soft:#F0F1FF;
  --eg-deadline:#E95B67;
  --eg-green:#4CBF77;
  --eg-font-main:Onest,Nunito,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --eg-font-heading:Unbounded,Onest,Nunito,sans-serif;
  --eg-font-script:Caveat,cursive;
}

/* обычный текст больше и легче */
body .egepon-page p,
body .egepon-page span,
body .egepon-page label,
body .egepon-page small,
body .egepon-page input,
body .egepon-page textarea,
body .egepon-page select,
body .egepon-page li,
body .egepon-page .egepon-muted{
  font-family:var(--eg-font-main)!important;
  font-size:17px!important;
  font-weight:500!important;
  line-height:1.45!important;
  color:var(--eg-muted)!important;
}
body .egepon-page b,
body .egepon-page strong{font-weight:700!important;}
body .egepon-page button,
body .egepon-page .egepon-btn{
  font-family:var(--eg-font-main)!important;
  font-size:17px!important;
  font-weight:700!important;
}

/* заголовки на 10–15% меньше и одинаковее */
body .egepon-page .egepon-section__title-main,
body .egepon-page .egepon-section__title,
body .egepon-page h1.egepon-section__title,
body .egepon-page h2.egepon-section__title{
  font-family:var(--eg-font-heading)!important;
  font-size:clamp(38px,4.5vw,58px)!important;
  line-height:1.05!important;
  color:var(--eg-ink)!important;
  font-weight:900!important;
}
body .egepon-page .egepon-panel__title,
body .egepon-page h3{
  font-family:var(--eg-font-heading)!important;
  font-size:26px!important;
  line-height:1.15!important;
  color:var(--eg-ink)!important;
  font-weight:850!important;
}
body .egepon-page .egepon-section__title-script{
  font-family:var(--eg-font-script)!important;
  font-size:1.05em!important;
  line-height:.9!important;
  color:#4DA8F0!important;
  font-weight:700!important;
}

/* Сайдбар: только ЕГЭпон, без подписи; фото круглые; предмет белый */
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__sub{display:none!important;}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__name{
  color:#fff!important;
  font-size:29px!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-sidebar__role,
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-sidebar__name{
  color:#fff!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__photo,
body .egepon-page.egepon-dashboard .egepon-sidebar__photo img,
body .egepon-page.egepon-dashboard .egepon-sidebar__avatar,
body .egepon-page.egepon-dashboard .egepon-sidebar__avatar img{
  border-radius:50%!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__photo,
body .egepon-page.egepon-dashboard .egepon-sidebar__avatar{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar__photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* Календарь: маленький месяц, чистые дни, без лишних дат и белой каёмки легенды */
body .egepon-calendar{
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:26px!important;
}
body .egepon-calendar__header h3,
body .egepon-page .egepon-calendar__header h3{
  font-family:var(--eg-font-heading)!important;
  font-size:24px!important;
  line-height:1!important;
  font-weight:850!important;
  color:var(--eg-ink)!important;
}
body .egepon-calendar__legend i,
body .egepon-calendar__legend .egepon-calendar-legend__lesson{
  box-shadow:none!important;
  border:0!important;
  outline:0!important;
}
body .egepon-calendar__grid{gap:4px!important;}
body .egepon-calendar-day{
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .egepon-calendar-day--blank{
  pointer-events:none!important;
  visibility:hidden!important;
}
body .egepon-calendar-day__num{
  font-family:var(--eg-font-main)!important;
  font-size:17px!important;
  font-weight:600!important;
  color:var(--eg-ink)!important;
}
body .egepon-calendar-day.is-today .egepon-calendar-day__num,
body .egepon-calendar-day.is-today{color:var(--eg-blue)!important;background:transparent!important;}
body .egepon-calendar-dot{box-shadow:none!important;border:0!important;}

/* Ученик: статистика и календарь в один ряд */
@media (min-width:1100px){
  body .egepon-student-section[data-student-view="overview"].is-active{
    display:grid!important;
    grid-template-columns:minmax(420px,1fr) minmax(460px,640px)!important;
    gap:28px!important;
    align-items:start!important;
  }
  body .egepon-student-section[data-student-view="overview"] .egepon-subject-stats,
  body .egepon-student-section[data-student-view="overview"] .egepon-student-calendar-centered{
    max-width:none!important;
    width:100%!important;
    margin:0!important;
  }
}
body .egepon-subject-stat-card{
  padding:22px!important;
}
body .egepon-subject-stat-grid{gap:12px!important;}
body .egepon-subject-stat-grid span{
  background:#F4FAFF!important;
  border:1px solid var(--eg-border)!important;
  border-radius:20px!important;
  padding:16px!important;
}
body .egepon-subject-stat-grid b{
  font-size:26px!important;
  font-family:var(--eg-font-heading)!important;
  color:var(--eg-ink)!important;
}
body .egepon-subject-stat-grid em{
  font-style:normal!important;
  font-size:15px!important;
  color:var(--eg-muted)!important;
  font-weight:600!important;
}

/* Типы вопросов: голубой / фиолетовый / светло-голубой, без старых жёлтых-красных-зелёных */
body .egepon-page .egepon-tone-chip--short,
body .egepon-page .egepon-add-q-btn--short,
body .egepon-page .egepon-question-card__type:not(.egepon-question-card__type--long):not(.egepon-question-card__type--text){
  background:#E4F3FF!important;
  color:#257FCC!important;
  border-color:#BFE3FF!important;
}
body .egepon-page .egepon-tone-chip--long,
body .egepon-page .egepon-add-q-btn--long,
body .egepon-page .egepon-question-card__type--long{
  background:var(--eg-violet-soft)!important;
  color:#6D68E8!important;
  border-color:#DADCFF!important;
}
body .egepon-page .egepon-tone-chip--text,
body .egepon-page .egepon-add-q-btn--text,
body .egepon-page .egepon-question-card__type--text{
  background:#F7FBFF!important;
  color:#5E7894!important;
  border-color:#D7EAFA!important;
}
body .egepon-page .egepon-tone-chip__dot{background:currentColor!important;}
body .egepon-page .egepon-add-q-btn--short:hover{background:#D5EDFF!important;color:#1B6FB5!important;}
body .egepon-page .egepon-add-q-btn--long:hover{background:#E6E8FF!important;color:#5953DA!important;}
body .egepon-page .egepon-add-q-btn--text:hover{background:#EEF8FF!important;color:#43627F!important;}

/* Бежевый в поиске/выборе учеников — убрать окончательно */
body .egepon-page .egepon-students-pick,
body .egepon-page .egepon-students-search,
body .egepon-page .egepon-students-toolbar,
body .egepon-page .egepon-search-box,
body .egepon-page .egepon-selected-student,
body .egepon-page .egepon-student-token,
body .egepon-page .egepon-pick-pill,
body .egepon-page .egepon-trainer-pick,
body .egepon-page .egepon-assign-students,
body .egepon-page [id*="students"],
body .egepon-page [class*="pick"]{
  background:#F7FBFF!important;
  border-color:#D7EAFA!important;
  color:var(--eg-ink)!important;
}
body .egepon-page .egepon-students-search::before,
body .egepon-page .egepon-students-pick::before{display:none!important;}

/* Крестики — без красного */
body .egepon-modal__close,
body .egepon-remove-q,
body .egepon-criteria-item__remove,
body .egepon-trainer-item__head button,
body button[data-trainer-remove]{
  background:#EEF7FF!important;
  color:#2F83C7!important;
  border:1px solid #CFE7FA!important;
  box-shadow:none!important;
}
body .egepon-modal__close:hover,
body .egepon-remove-q:hover,
body .egepon-criteria-item__remove:hover,
body .egepon-trainer-item__head button:hover,
body button[data-trainer-remove]:hover{
  background:#DFF1FF!important;
  color:#1E6EA9!important;
}


/* ───────────────────────────────────────────────────────────────
   v4.3.8 — spacing cleanup: компактные календари, типографика, без бежевых хвостов
   ─────────────────────────────────────────────────────────────── */
:root{
  --eg-ink:#1F2442;
  --eg-muted:#6F829B;
  --eg-blue:#3F9EE8;
  --eg-blue-2:#2F83C7;
  --eg-blue-soft:#EAF6FF;
  --eg-blue-soft-2:#F7FBFF;
  --eg-border:#D7EAFA;
  --eg-violet:#8F88FF;
  --eg-violet-soft:#F1F0FF;
}

/* Заголовки ещё компактнее, рукописные подписи не уменьшаем слишком сильно */
body .egepon-page .egepon-section__title-main,
body .egepon-page .egepon-section__title,
body .egepon-page h1.egepon-section__title,
body .egepon-page h2.egepon-section__title{
  font-size:clamp(31px,3.55vw,49px)!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}
body .egepon-page .egepon-section__title-script{
  font-size:1.18em!important;
  line-height:.9!important;
}
body .egepon-page .egepon-panel__title,
body .egepon-page h3{
  font-size:22px!important;
  line-height:1.12!important;
}

/* Основной текст чуть крупнее, но не жирный */
body .egepon-page p,
body .egepon-page li,
body .egepon-page label,
body .egepon-page small,
body .egepon-page input,
body .egepon-page textarea,
body .egepon-page select,
body .egepon-page .egepon-muted{
  font-size:18px!important;
  font-weight:400!important;
  line-height:1.48!important;
}
body .egepon-page span:not(.egepon-section__title-main):not(.egepon-section__title-script):not(.egepon-sidebar__btn span){
  font-weight:400!important;
}
body .egepon-page b,
body .egepon-page strong{font-weight:650!important;}
body .egepon-page .egepon-btn,
body .egepon-page button{font-weight:700!important;}

/* Календарь: меньше пустоты, без обводок/плашек, только цифры и точки */
body .egepon-calendar,
body .egepon-panel--calendar-large .egepon-calendar,
body .egepon-student-calendar-centered .egepon-calendar,
body .egepon-schedule-calendar-block .egepon-calendar{
  width:100%!important;
  max-width:620px!important;
  padding:18px 22px 20px!important;
  background:#fff!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:26px!important;
  overflow:visible!important;
}
body .egepon-calendar__header{
  margin:0 0 10px!important;
  padding:0 0 10px!important;
  border-bottom:1px solid #E4F0FA!important;
}
body .egepon-calendar__header h3,
body .egepon-page .egepon-calendar__header h3{
  font-size:20px!important;
  line-height:1!important;
  font-weight:750!important;
  letter-spacing:-.035em!important;
}
body .egepon-calendar__nav button{
  width:34px!important;
  min-width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  font-size:13px!important;
}
body .egepon-calendar__legend{
  margin:0 0 10px!important;
  padding:0!important;
  gap:14px!important;
  background:transparent!important;
  border:0!important;
}
body .egepon-calendar__legend span{
  font-size:13px!important;
  font-weight:600!important;
  color:#6F829B!important;
}
body .egepon-calendar__legend i,
body .egepon-calendar__legend .egepon-calendar-legend__lesson{
  width:7px!important;
  height:7px!important;
  min-width:7px!important;
  min-height:7px!important;
  box-shadow:none!important;
  border:0!important;
  outline:0!important;
}
body .egepon-calendar__weekdays{
  margin:0 0 4px!important;
  gap:0!important;
}
body .egepon-calendar__weekdays span{
  font-size:12px!important;
  font-weight:600!important;
  color:#6F829B!important;
}
body .egepon-calendar__grid,
body .egepon-panel--calendar-large .egepon-calendar__grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:0!important;
  row-gap:6px!important;
  column-gap:0!important;
}
body .egepon-calendar-day,
body .egepon-panel--calendar-large .egepon-calendar-day{
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  border-radius:10px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
}
body .egepon-calendar-day:hover{background:#F4FAFF!important;}
body .egepon-calendar-day--blank{visibility:hidden!important;pointer-events:none!important;}
body .egepon-calendar-day__num,
body .egepon-panel--calendar-large .egepon-calendar-day__num{
  font-family:Onest,Nunito,system-ui,sans-serif!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1!important;
  color:#657893!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .egepon-calendar-day.is-today,
body .egepon-calendar-day.is-today .egepon-calendar-day__num{
  color:#3F9EE8!important;
  background:transparent!important;
}
body .egepon-calendar-day__events{
  position:static!important;
  height:7px!important;
  display:flex!important;
  flex-direction:row!important;
  gap:4px!important;
  margin:0!important;
  transform:none!important;
  align-items:center!important;
  justify-content:center!important;
}
body .egepon-calendar-dot{
  width:5px!important;
  height:5px!important;
  min-width:5px!important;
  min-height:5px!important;
  border-radius:50%!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:var(--dot-color,#3F9EE8)!important;
}
body .egepon-calendar-day__head{display:none!important;}

/* Обзор ученика: статистика по предметам в колонку, справа больше места календарю */
@media (min-width:1100px){
  body .egepon-student-section[data-student-view="overview"].is-active{
    display:grid!important;
    grid-template-columns:minmax(280px,340px) minmax(560px,680px)!important;
    gap:44px!important;
    align-items:start!important;
    justify-content:center!important;
  }
  body .egepon-student-section[data-student-view="overview"] .egepon-subject-stats{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    width:100%!important;
    max-width:340px!important;
    margin:0!important;
  }
  body .egepon-student-section[data-student-view="overview"] .egepon-student-calendar-centered{
    width:100%!important;
    max-width:680px!important;
    margin:0!important;
  }
}
body .egepon-subject-stat-card{
  padding:20px!important;
  border-radius:26px!important;
}
body .egepon-subject-stat-card h3{
  font-size:24px!important;
  line-height:1.16!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}
body .egepon-subject-stat-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body .egepon-subject-stat-grid span{
  min-height:82px!important;
  padding:13px!important;
  background:#F7FBFF!important;
  border:1px solid #D7EAFA!important;
  border-radius:18px!important;
}
body .egepon-subject-stat-grid b{
  font-size:24px!important;
  line-height:1!important;
}
body .egepon-subject-stat-grid em{
  font-size:13px!important;
  line-height:1.32!important;
  font-weight:500!important;
}

/* Лишние прямоугольники/обводки в учениках и выборе учеников */
body .egepon-students-toolbar,
body .egepon-students-toolbar *,
body #egepon-students-grid,
body .egepon-students-grid,
body .egepon-students-list,
body .egepon-students-panel,
body .egepon-students-search-wrap,
body .egepon-students-pick-wrap{
  background:transparent!important;
  box-shadow:none!important;
}
body .egepon-students-toolbar{
  border:0!important;
  padding:0!important;
  gap:14px!important;
}
body .egepon-students-toolbar .egepon-btn,
body .egepon-students-toolbar button,
body .egepon-page .egepon-students-search,
body .egepon-page .egepon-students-pick,
body .egepon-page .egepon-search-box{
  background:#F7FBFF!important;
  border:1px solid #D7EAFA!important;
  box-shadow:none!important;
}
body .egepon-students-toolbar .egepon-btn,
body .egepon-students-toolbar button{
  color:#2F83C7!important;
  border-radius:18px!important;
}
body .egepon-page .egepon-students-search::before,
body .egepon-page .egepon-students-pick::before{display:none!important;}
body .egepon-page .egepon-students-pick,
body .egepon-page .egepon-assign-students,
body .egepon-page .egepon-selected-student,
body .egepon-page .egepon-student-token,
body .egepon-page .egepon-pick-pill{
  background:#F7FBFF!important;
  border-color:#D7EAFA!important;
  color:#1F2442!important;
}
body .egepon-page .egepon-selected-student,
body .egepon-page .egepon-student-token,
body .egepon-page .egepon-pick-pill{
  background:#EAF6FF!important;
  color:#2F83C7!important;
}

/* Номера вопросов: синяя таблетка, белые цифры */
body .egepon-page .egepon-question-card__num{
  background:#3F9EE8!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  font-family:Onest,Nunito,system-ui,sans-serif!important;
  font-weight:800!important;
}
body .egepon-page .egepon-question-card__num *{color:#fff!important;}

/* Типы вопросов: голубой / фиолетовый / светло-голубой, без старых жёлтых-красных-зелёных */
body .egepon-page .egepon-tone-chip--short,
body .egepon-page .egepon-add-q-btn--short,
body .egepon-page .egepon-question-card__type:not(.egepon-question-card__type--long):not(.egepon-question-card__type--text){
  background:#E4F3FF!important;
  color:#257FCC!important;
  border:0!important;
  box-shadow:none!important;
}
body .egepon-page .egepon-tone-chip--long,
body .egepon-page .egepon-add-q-btn--long,
body .egepon-page .egepon-question-card__type--long{
  background:#F1F0FF!important;
  color:#6D68E8!important;
  border:0!important;
  box-shadow:none!important;
}
body .egepon-page .egepon-tone-chip--text,
body .egepon-page .egepon-add-q-btn--text,
body .egepon-page .egepon-question-card__type--text{
  background:#F7FBFF!important;
  color:#5E7894!important;
  border:0!important;
  box-shadow:none!important;
}
body .egepon-page .egepon-tone-chip__dot{background:currentColor!important;}

/* Вкладки/выданные задания: без бежевого */
body .egepon-page .egepon-tabs,
body .egepon-page .egepon-tabs-wrap,
body .egepon-page .egepon-tab,
body .egepon-page .egepon-task-card,
body .egepon-page .egepon-issued-card,
body .egepon-page .egepon-assigned-card,
body .egepon-page .egepon-task-row,
body .egepon-page [data-section="tasks"] .egepon-card,
body .egepon-page [data-section="issued"] .egepon-card{
  background:#F7FBFF!important;
  border-color:#D7EAFA!important;
  color:#1F2442!important;
  box-shadow:none!important;
}
body .egepon-page .egepon-tab.is-active{
  background:#3F9EE8!important;
  color:#fff!important;
  border-color:#3F9EE8!important;
}
body .egepon-page .egepon-tab.is-active *{color:#fff!important;}

/* Крестики тренажёров и общие close-кнопки — без красного */
body .egepon-modal__close,
body .egepon-remove-q,
body .egepon-criteria-item__remove,
body .egepon-trainer-item__head button,
body button[data-trainer-remove],
body .egepon-page button[aria-label="Удалить"],
body .egepon-page button[title="Удалить"]{
  background:#EEF7FF!important;
  color:#2F83C7!important;
  border:1px solid #CFE7FA!important;
  box-shadow:none!important;
}

/* Текстовые описания, которые просили убрать */
body .egepon-page .egepon-trainers-lead,
body .egepon-page .egepon-section-lead,
body .egepon-page .egepon-archive-lead,
body .egepon-page .egepon-profile-lead{
  display:none!important;
}


/* ───────────────────────────────────────────────────────────────
   v4.3.9 — titles/calendar/topbar polish
   ─────────────────────────────────────────────────────────────── */

/* Сайдбар: без пончика слева */
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__donut,
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__sub{
  display:none!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand,
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand--with-donut{
  gap:0!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar .egepon-brand__name{
  font-size:29px!important;
  line-height:1!important;
}

/* Заголовки в контенте — ровно как ЕГЭпон в сайдбаре */
body .egepon-page .egepon-content .egepon-section__title,
body .egepon-page .egepon-content .egepon-section__title-main,
body .egepon-page .egepon-content h1.egepon-section__title,
body .egepon-page .egepon-content h2.egepon-section__title,
body .egepon-page .egepon-content .egepon-panel__title,
body .egepon-page .egepon-content h3.egepon-panel__title{
  font-size:29px!important;
  line-height:1.06!important;
  letter-spacing:-.04em!important;
}
body .egepon-page .egepon-content .egepon-section__title-script{
  font-size:29px!important;
  line-height:.94!important;
}

/* Кабинет ученика: без голубой плашки вокруг приветствия/уведомлений/ID */
body .egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar,
body .egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner,
body .egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar__inner::before{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .egepon-page.egepon-dashboard:not([data-role]) .egepon-topbar{
  padding:0 0 18px!important;
  margin:0 0 20px!important;
}
body .egepon-page.egepon-dashboard:not([data-role]) .egepon-notify-btn__count{
  top:-8px!important;
  right:-8px!important;
  min-width:22px!important;
  width:auto!important;
  height:22px!important;
  padding:0 6px!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:22px!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
}

/* Календарь: месяц обычным шрифтом, но жирным */
body .egepon-calendar__header h3,
body .egepon-calendar__month-title,
body .egepon-page .egepon-calendar__header h3,
body .egepon-page .egepon-calendar__month-title{
  font-family:Onest,Nunito,system-ui,sans-serif!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.2!important;
  letter-spacing:0!important;
  text-transform:none!important;
  color:var(--eg-ink)!important;
}

/* Календарь: меньше пустоты, корректный первый ряд, аккуратный hover */
body .egepon-calendar,
body .egepon-panel--calendar-large .egepon-calendar,
body .egepon-student-calendar-centered .egepon-calendar,
body .egepon-overview-calendar .egepon-calendar{
  max-width:none!important;
  width:100%!important;
  padding:18px 22px 16px!important;
}
body .egepon-panel--calendar-large,
body .egepon-overview-calendar,
body .egepon-student-calendar-centered{
  padding:20px 24px!important;
}
body .egepon-calendar__header{
  margin:0 0 10px!important;
  padding:0 0 10px!important;
}
body .egepon-calendar__weekdays{
  margin:0 0 8px!important;
}
body .egepon-calendar__grid,
body .egepon-panel--calendar-large .egepon-calendar__grid{
  gap:0!important;
  row-gap:10px!important;
  padding-top:2px!important;
  align-items:start!important;
}
body .egepon-calendar-day,
body .egepon-panel--calendar-large .egepon-calendar-day{
  appearance:none!important;
  -webkit-appearance:none!important;
  height:40px!important;
  min-height:40px!important;
  border-radius:12px!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  gap:3px!important;
}
body .egepon-calendar-day::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:12px;
  background:transparent;
  transition:background .15s ease;
  z-index:0;
}
body .egepon-calendar-day:hover::before,
body .egepon-calendar-day:focus-visible::before{
  background:#F4FAFF!important;
}
body .egepon-calendar-day.is-today::before{
  background:rgba(63,158,232,.08)!important;
}
body .egepon-calendar-day__num,
body .egepon-panel--calendar-large .egepon-calendar-day__num,
body .egepon-calendar-day__events{
  position:relative!important;
  z-index:1!important;
}
body .egepon-calendar-day__num,
body .egepon-panel--calendar-large .egepon-calendar-day__num{
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.1!important;
  display:block!important;
}
body .egepon-calendar-day__events{
  height:5px!important;
  min-height:5px!important;
}
body .egepon-calendar-day--blank::before{display:none!important;}
body .egepon-calendar-day--blank{visibility:hidden!important;pointer-events:none!important;}

/* Первые ряды не слипаются с шапкой */
body .egepon-calendar__weekdays + .egepon-calendar__grid{margin-top:2px!important;}

/* Блок обзора ученика: больше воздуха и ширины календарю */
@media (min-width:1100px){
  body .egepon-student-section[data-student-view="overview"].is-active{
    grid-template-columns:minmax(300px,360px) minmax(620px,760px)!important;
    gap:56px!important;
  }
}

/* ───────────────────────────────────────────────────────────────
   v4.4.0 — clouds, stars, deadline move UI, admin polish
   ─────────────────────────────────────────────────────────────── */

/* Главная: облака вместо размытых кругов */
body .egepon-page.egepon-home{
  position:relative;
  overflow:hidden;
}
body .egepon-page.egepon-home::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:1!important;
  background:
    radial-gradient(circle at 7% 10%, rgba(255,255,255,.97) 0 68px, transparent 69px),
    radial-gradient(circle at 12% 13%, rgba(255,255,255,.92) 0 48px, transparent 49px),
    radial-gradient(circle at 17% 10%, rgba(255,255,255,.88) 0 58px, transparent 59px),
    radial-gradient(circle at 82% 10%, rgba(255,255,255,.96) 0 70px, transparent 71px),
    radial-gradient(circle at 88% 13%, rgba(255,255,255,.92) 0 46px, transparent 47px),
    radial-gradient(circle at 93% 10%, rgba(255,255,255,.88) 0 58px, transparent 59px),
    radial-gradient(circle at 76% 76%, rgba(255,255,255,.66) 0 38px, transparent 39px),
    radial-gradient(circle at 82% 79%, rgba(255,255,255,.56) 0 28px, transparent 29px),
    radial-gradient(circle at 10% 72%, rgba(255,255,255,.5) 0 30px, transparent 31px),
    radial-gradient(circle at 15% 75%, rgba(255,255,255,.42) 0 22px, transparent 23px);
  filter:drop-shadow(0 20px 28px rgba(91,156,224,.12));
}
body .egepon-page.egepon-home::after{
  display:none!important;
}

/* Вход: 5 маленьких звездочек, без зелёной точки */
body .egepon-home__login-card{position:relative;overflow:hidden;}
body .egepon-home__login-card::before,
body .egepon-home__login-card::after{
  content:"✦"!important;
  position:absolute;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
  line-height:1;
  font-size:12px;
  font-weight:700;
  pointer-events:none;
  opacity:.9;
}
body .egepon-home__login-card::before{
  top:34px;
  left:34px;
  color:#F4D97A;
  text-shadow: 116px 42px #8FC5FF, 286px -6px #F4D97A;
}
body .egepon-home__login-card::after{
  right:46px;
  bottom:42px;
  color:#8FC5FF;
  text-shadow: -154px -88px #F4D97A, -276px -12px #8FC5FF;
}

/* Дашборды: по 3 декоративные звездочки на страницу */
body .egepon-page.egepon-dashboard .egepon-content{position:relative;}
body .egepon-page.egepon-dashboard .egepon-content::after{
  content:"✦";
  position:absolute;
  top:24px;
  right:44px;
  color:#90C8FF;
  font-size:11px;
  line-height:1;
  opacity:.75;
  pointer-events:none;
  text-shadow:-420px 218px #F4D97A, -118px 544px #90C8FF;
}

/* Пикер учеников и заголовки секций — без лишних голубых подложек */
body .egepon-page .egepon-students-pick,
body .egepon-page .egepon-pick__head,
body .egepon-page .egepon-pick__chips,
body .egepon-page .egepon-q-section-head,
body .egepon-page .egepon-q-section-head__chips,
body .egepon-page .egepon-q-section-head__title,
body .egepon-page .egepon-q-section-head__sub,
body .egepon-page .egepon-tasks-header,
body .egepon-page .egepon-tasks-toolbar,
body .egepon-page .egepon-questions-head,
body .egepon-page .egepon-questions-add{
  background:transparent!important;
  box-shadow:none!important;
}

/* Календарь: дедлайн всегда красный, ховер ровный */
body .egepon-calendar-dot--deadline,
body .egepon-calendar-dot.is-deadline{background:#E95B67!important;}
body .egepon-page .egepon-calendar-day{
  position:relative;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  padding:10px 12px!important;
}
body .egepon-page .egepon-calendar-day:hover,
body .egepon-page .egepon-calendar-day:focus-visible{
  background:#EEF7FF!important;
  border-color:#CFE7FA!important;
  transform:none!important;
}
body .egepon-page .egepon-calendar-day__num,
body .egepon-page .egepon-calendar-day__events{
  position:relative!important;
  z-index:1!important;
}
body .egepon-page .egepon-calendar__month-title{
  font-family:var(--eg-font-main)!important;
  font-weight:800!important;
  letter-spacing:-.02em!important;
  text-transform:none!important;
}

/* Выданные задания и вкладки — новые шрифты + убираем остатки старого бежевого */
body .egepon-page .egepon-task-card,
body .egepon-page .egepon-issued-card,
body .egepon-page .egepon-assigned-card,
body .egepon-page .egepon-task-row,
body .egepon-page .egepon-tab,
body .egepon-page .egepon-task-card__head,
body .egepon-page .egepon-task-card__meta{
  background:#F7FBFF!important;
  border-color:#D7EAFA!important;
}
body .egepon-page .egepon-task-card__title,
body .egepon-page .egepon-task-modal__title{
  font-family:var(--eg-font-heading)!important;
  color:#1F2442!important;
}
body .egepon-page .egepon-task-card__title{font-size:22px!important;line-height:1.12!important;}
body .egepon-page .egepon-task-card__meta,
body .egepon-page .egepon-task-card__status,
body .egepon-page .egepon-task-card__kind,
body .egepon-page .egepon-task-modal__meta{font-family:var(--eg-font-main)!important;}
body .egepon-task-pie{box-shadow:0 0 0 1px rgba(63,158,232,.18), 0 1px 3px rgba(63,158,232,.10)!important;}
body .egepon-task-pie--empty{background:#CFE9FF!important;}

/* Кнопки добавления типов вопросов */
body .egepon-page .egepon-add-q-btn{
  font-family:var(--eg-font-main)!important;
  font-weight:700!important;
}

/* Селекторы/токены выбора без синих прямоугольников */
body .egepon-page .egepon-pick__counter,
body .egepon-page .egepon-pick__groups,
body .egepon-page .egepon-pick__chips > span,
body .egepon-page .egepon-q-section-head > div{
  background:transparent!important;
}


/* ───────────────────────────────────────────────────────────────
   v4.4.1 — homework modal controls, oral slots, platform text scale
   ─────────────────────────────────────────────────────────────── */

/* Единый размер основного текста: как подписи разделов в сайдбаре */
body .egepon-page,
body .egepon-page p,
body .egepon-page li,
body .egepon-page label,
body .egepon-page .egepon-field span,
body .egepon-page .egepon-field-label,
body .egepon-page .egepon-muted,
body .egepon-page .egepon-loading,
body .egepon-page .egepon-card p,
body .egepon-page .egepon-panel p,
body .egepon-page .egepon-input,
body .egepon-page input,
body .egepon-page textarea,
body .egepon-page select,
body .egepon-page button,
body .egepon-page .egepon-btn,
body .egepon-page .egepon-tab,
body .egepon-page .egepon-chip,
body .egepon-page .egepon-stat-card__label,
body .egepon-page .egepon-task-card__meta,
body .egepon-page .egepon-task-card__status,
body .egepon-page .egepon-task-card__kind,
body .egepon-page .egepon-schedule-card p,
body .egepon-page .egepon-slot-card p,
body .egepon-page .egepon-question-card__pts,
body .egepon-page .egepon-answer-item__max,
body .egepon-page .egepon-answer-block,
body .egepon-page .egepon-trainer-card p,
body .egepon-page .egepon-trainer-item p,
body .egepon-page .egepon-notify-item p,
body .egepon-page .egepon-modal p{
  font-size:15px!important;
  line-height:1.45!important;
}

/* При этом заголовки, крупные цифры и рукописные акценты не превращаем в основной текст */
body .egepon-page h1,
body .egepon-page h2,
body .egepon-page h3,
body .egepon-page .egepon-section__title,
body .egepon-page .egepon-section__title-main,
body .egepon-page .egepon-section__title-script,
body .egepon-page .egepon-home__title,
body .egepon-page .egepon-home__login-title,
body .egepon-page .egepon-stat-card__value,
body .egepon-page .egepon-student-card__stat-value,
body .egepon-page .egepon-subject-stat-grid b{
  line-height:1.05!important;
}

/* Выполнение ДЗ учеником: сохранить/отправить наверху и компактнее */
body .egepon-task-modal__buttons--top{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:10px!important;
  margin:10px 0 14px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  position:static!important;
}
body .egepon-task-modal__buttons--top .egepon-btn{
  width:auto!important;
  min-width:132px!important;
  min-height:38px!important;
  padding:9px 16px!important;
  border-radius:16px!important;
  font-size:14px!important;
  line-height:1.1!important;
}

/* Стрелки навигации по вопросам — внизу крупными кнопками */
body .egepon-question-pager__bottom{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:16px!important;
  margin:22px 0 6px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body .egepon-question-pager__bottom .egepon-answer-arrow{
  width:100%!important;
  min-width:0!important;
  height:56px!important;
  border-radius:20px!important;
  background:#EEF7FF!important;
  border:1px solid #CFE7FA!important;
  color:#2F83C7!important;
  box-shadow:none!important;
  font-size:24px!important;
  font-weight:800!important;
}
body .egepon-question-pager__bottom .egepon-answer-arrow:not(:disabled):hover{
  background:#E4F3FF!important;
  transform:none!important;
}
body .egepon-question-pager__bottom .egepon-answer-arrow:disabled{
  opacity:.38!important;
}
body .egepon-question-pager__bottom [data-answer-progress]{
  min-width:92px!important;
  text-align:center!important;
  color:#71839B!important;
  font-size:15px!important;
  font-weight:700!important;
}

/* Старые нижние кнопки больше не должны липнуть к низу модалки */
body .egepon-task-modal__buttons--sticky:not(.egepon-task-modal__buttons--top){
  position:static!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* Окошки слотов: компактно, без серой/красной каёмки вокруг “Занят”, текст по центру */
body .egepon-page .egepon-slot-card{
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  min-height:0!important;
  padding:16px 18px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid #CFE7FA!important;
  box-shadow:0 18px 42px rgba(63,158,232,.10)!important;
}
body .egepon-page .egepon-slot-card .egepon-card__topline{
  justify-content:flex-start!important;
  margin:0!important;
  min-height:0!important;
}
body .egepon-page .egepon-slot-card h3{
  margin:2px 0 2px!important;
  font-size:19px!important;
  line-height:1.15!important;
}
body .egepon-page .egepon-slot-card p{
  margin:0!important;
}
body .egepon-page .egepon-slot-card .egepon-muted{
  color:#6F82A0!important;
  font-weight:500!important;
}
body .egepon-page .egepon-chip--busy{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:0 14px!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  background:#EAF6FF!important;
  color:#2F83C7!important;
  text-align:center!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body .egepon-page .egepon-chip--free{
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  background:#EAF6FF!important;
  color:#2F83C7!important;
}
body .egepon-page .egepon-slot-card::after{
  display:none!important;
  content:none!important;
}

/* Уточнение на статистике учителя: подписи не скачут по размеру */
body .egepon-page .egepon-stat-card__label{
  font-weight:700!important;
  color:#94A4B8!important;
}


/* v4.4.1 — добивка единого кегля в календарях, редакторах и тренажёрах */
body .egepon-page .ql-editor,
body .egepon-page .ql-container,
body .egepon-page .ql-toolbar,
body .egepon-page .egepon-calendar__legend,
body .egepon-page .egepon-calendar__weekdays span,
body .egepon-page .egepon-calendar-day__num,
body .egepon-page .egepon-calendar-day-modal-list,
body .egepon-page .egepon-student-detail-task,
body .egepon-page .egepon-student-detail-task span,
body .egepon-page .egepon-trainer-run,
body .egepon-page .egepon-trainer-run *,
body .egepon-page .egepon-library-card p,
body .egepon-page .egepon-group-card p,
body .egepon-page .egepon-invite-card p{
  font-size:15px!important;
  line-height:1.45!important;
}
body .egepon-page .ql-editor{
  min-height:132px!important;
}
body .egepon-page .egepon-calendar__legend{
  font-weight:700!important;
}


/* v4.5.7 stable repair — minimal overrides only */
.egepon-home__header,.egepon-home__title,.egepon-home__subtitle,.egepon-home__subjects,.egepon-home__donut--brand{display:none!important;}
.egepon-home__main--login-only{min-height:100vh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:54px 18px!important;position:relative!important;overflow:hidden!important;background:#EEF8FF!important;}
.egepon-home__main--login-only::before,.egepon-home__main--login-only::after,.egepon-home__login-card::before,.egepon-home__login-card::after{content:none!important;display:none!important;}
.egepon-home__login-card{position:relative!important;z-index:2!important;max-width:560px!important;width:min(560px,calc(100vw - 32px))!important;background:#fff!important;border:1px solid #CFE7FA!important;box-shadow:0 24px 70px rgba(63,158,232,.13)!important;}
.egepon-home__login-logo{display:block!important;width:112px!important;height:112px!important;object-fit:contain!important;margin:0 auto 18px!important;background:transparent!important;}
.egepon-home__stars{display:block!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;}
.egepon-home__star{position:absolute!important;display:block!important;font-size:30px!important;line-height:1!important;font-family:Georgia,serif!important;text-shadow:0 0 12px currentColor,0 0 26px currentColor!important;opacity:.9!important;}
.egepon-home__star--blue{left:9%!important;top:16%!important;color:#7FD2FF!important}.egepon-home__star--green{right:11%!important;top:18%!important;color:#76D99D!important}.egepon-home__star--violet{left:14%!important;bottom:18%!important;color:#BCA7FF!important}.egepon-home__star--white{right:15%!important;bottom:16%!important;color:#fff!important}.egepon-home__star--sky{right:7%!important;top:46%!important;color:#CDEEFF!important}.egepon-home__star--mint{left:6%!important;top:46%!important;color:#A7EDC5!important}
.egepon-btn__arrow{font-size:1.25em!important;font-weight:900!important;margin-left:8px!important}

.egepon-brand--logo-only{display:flex!important;align-items:center!important;gap:10px!important;min-height:58px!important;padding:4px 8px 12px!important;overflow:visible!important;}
.egepon-brand__logo-img{width:46px!important;height:46px!important;object-fit:contain!important;flex:0 0 46px!important;background:transparent!important;}
.egepon-brand__name{font-family:Unbounded,Onest,sans-serif!important;font-size:22px!important;font-weight:900!important;line-height:1!important;letter-spacing:-.05em!important;color:#fff!important;white-space:nowrap!important;}
.egepon-sidebar__btn{font-family:Unbounded,Onest,sans-serif!important;font-size:15px!important;font-weight:800!important;letter-spacing:-.02em!important;line-height:1.15!important;}
.egepon-sidebar__ico{width:20px!important;height:20px!important;min-width:20px!important;}

.egepon-student-content .egepon-student-section:not(.is-active),.egepon-section[data-section]:not(.is-active){display:none!important;}
.egepon-student-content .egepon-student-section.is-active,.egepon-section[data-section].is-active{display:block!important;}
.egepon-student-content [data-student-view="overview"].is-active{display:grid!important;grid-template-columns:minmax(560px,820px) minmax(300px,380px)!important;gap:22px!important;align-items:start!important;justify-content:start!important;}
.egepon-student-content [data-student-view="overview"] .egepon-panel--calendar-large{grid-column:1!important;grid-row:1!important;margin:0!important;max-width:820px!important;width:100%!important;}
.egepon-student-content [data-student-view="overview"] .egepon-subject-stats{grid-column:2!important;grid-row:1!important;margin:0!important;}
@media(max-width:1180px){.egepon-student-content [data-student-view="overview"].is-active{grid-template-columns:1fr!important}.egepon-student-content [data-student-view="overview"] .egepon-panel--calendar-large,.egepon-student-content [data-student-view="overview"] .egepon-subject-stats{grid-column:auto!important;grid-row:auto!important}}

.egepon-overview-calendar,.egepon-panel--calendar-large,.egepon-schedule-calendar-block{max-width:820px!important;width:100%!important;margin-left:0!important;margin-right:auto!important;}
.egepon-calendar{max-width:100%!important;width:100%!important;padding:14px!important;overflow:visible!important;}
.egepon-calendar__header{display:grid!important;grid-template-columns:44px minmax(0,1fr) 44px!important;align-items:center!important;gap:8px!important;margin:0 0 10px!important;padding-bottom:8px!important;border-bottom:1px solid #DCEEFF!important;}
.egepon-calendar__month-title{grid-column:2!important;text-align:center!important;margin:0!important;font-size:20px!important;font-weight:900!important;}
.egepon-calendar__nav{display:none!important;}
.egepon-calendar__arrow{width:40px!important;height:40px!important;border-radius:14px!important;border:1px solid #CFE7FA!important;background:#EEF8FF!important;color:#2786D5!important;font-size:25px!important;font-weight:950!important;line-height:1!important;display:grid!important;place-items:center!important;box-shadow:none!important;}
.egepon-calendar__arrow--prev{grid-column:1!important}.egepon-calendar__arrow--next{grid-column:3!important}
.egepon-calendar__weekdays,.egepon-calendar__grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:7px!important;width:100%!important;}
.egepon-calendar-day{position:relative!important;min-height:58px!important;height:58px!important;padding:8px 4px 20px!important;border-radius:14px!important;overflow:hidden!important;}
.egepon-calendar-day__num{display:block!important;text-align:center!important;font-size:15px!important;line-height:1.1!important;}
.egepon-calendar-day__events{position:absolute!important;left:0!important;right:0!important;bottom:7px!important;width:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;min-height:10px!important;}
.egepon-calendar-dot{width:8px!important;height:8px!important;min-width:8px!important;flex:0 0 8px!important;margin:0!important;}
.egepon-calendar-slot-btn{display:inline-flex!important;margin:14px auto 0!important;}

.egepon-random-stars{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:0!important;overflow:hidden!important}.egepon-dashboard>*:not(.egepon-random-stars){position:relative!important;z-index:1!important}.egepon-random-star{position:absolute!important;font-family:Georgia,serif!important;text-shadow:0 0 10px currentColor,0 0 22px currentColor!important;opacity:.55!important;}
[data-bank-assign],button[data-bank-assign],.egepon-assign-btn,.egepon-btn--issue{background:#8B73F6!important;color:#fff!important;border-color:#8B73F6!important;background-image:none!important;}[data-bank-assign] *,button[data-bank-assign] *,.egepon-assign-btn *,.egepon-btn--issue *{color:#fff!important;}


/* ─────────────────────────────────────────────────────────────
   v4.5.8 — login page compact card, full background and colored stars
   ───────────────────────────────────────────────────────────── */
html:has(.egepon-page.egepon-home),
body:has(.egepon-page.egepon-home){
  min-height:100%!important;
  background:#EAF6FF!important;
}

body .egepon-page.egepon-home{
  min-height:100vh!important;
  height:auto!important;
  background:#EAF6FF!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  padding:72px 24px 56px!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}

body .egepon-page.egepon-home .egepon-home__main,
body .egepon-home .egepon-home__main--unified{
  min-height:auto!important;
  height:auto!important;
  width:100%!important;
  max-width:760px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding:0!important;
  margin:0 auto!important;
  background:transparent!important;
  overflow:visible!important;
  position:relative!important;
}

body .egepon-home .egepon-home__login-card{
  width:min(100%, 430px)!important;
  max-width:430px!important;
  min-height:0!important;
  padding:38px 48px 34px!important;
  border-radius:30px!important;
  margin:0 auto!important;
  transform:none!important;
}

body .egepon-home .egepon-home__logo-img{
  width:86px!important;
  height:86px!important;
  object-fit:contain!important;
}

body .egepon-home .egepon-home__donut,
body .egepon-home .egepon-home__logo-wrap{
  margin:0 auto 22px!important;
  background:transparent!important;
}

body .egepon-home .egepon-home__login-title{
  font-size:clamp(40px,4vw,58px)!important;
  line-height:.96!important;
  margin:0 0 16px!important;
}

body .egepon-home .egepon-home__login-sub{
  font-size:17px!important;
  margin:0 0 22px!important;
}

body .egepon-home .egepon-input--login,
body .egepon-home .egepon-input{
  min-height:52px!important;
  font-size:17px!important;
}

body .egepon-home .egepon-login-form{
  gap:14px!important;
}

body .egepon-home .egepon-login-form .egepon-btn,
body .egepon-home .egepon-btn--primary{
  min-height:60px!important;
  border-radius:18px!important;
  font-size:18px!important;
}

/* Hide leftover top text if any template still prints it */
body .egepon-home .egepon-home__title,
body .egepon-home .egepon-home__subtitle,
body .egepon-home .egepon-home__subjects{
  display:none!important;
}

/* Make all decorative stars visible and truly colored */
body .egepon-home .egepon-home__stars{
  position:fixed!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  display:block!important;
}

body .egepon-home .egepon-home__main > :not(.egepon-home__stars){
  position:relative!important;
  z-index:1!important;
}

body .egepon-home .egepon-home__star{
  display:block!important;
  position:absolute!important;
  font-size:26px!important;
  line-height:1!important;
  opacity:1!important;
  filter:none!important;
  background:none!important;
}

body .egepon-home .egepon-home__star--blue{
  left:11vw!important;
  top:18vh!important;
  color:#48B9FF!important;
  text-shadow:0 0 10px rgba(72,185,255,.9), 0 0 28px rgba(72,185,255,.52)!important;
}

body .egepon-home .egepon-home__star--green{
  right:17vw!important;
  top:20vh!important;
  color:#57D98C!important;
  text-shadow:0 0 10px rgba(87,217,140,.95), 0 0 28px rgba(87,217,140,.55)!important;
}

body .egepon-home .egepon-home__star--violet{
  left:18vw!important;
  bottom:24vh!important;
  color:#A78BFA!important;
  text-shadow:0 0 10px rgba(167,139,250,.95), 0 0 28px rgba(167,139,250,.55)!important;
}

body .egepon-home .egepon-home__star--white{
  right:13vw!important;
  bottom:22vh!important;
  color:#FFFFFF!important;
  text-shadow:0 0 10px rgba(255,255,255,1), 0 0 30px rgba(151,217,255,.75)!important;
}

body .egepon-home .egepon-home__star--blue-2{
  right:28vw!important;
  top:48vh!important;
  color:#7DD3FC!important;
  text-shadow:0 0 10px rgba(125,211,252,.95), 0 0 28px rgba(125,211,252,.55)!important;
}

@media (max-width:700px){
  body .egepon-page.egepon-home{
    padding:42px 14px 36px!important;
  }
  body .egepon-home .egepon-home__login-card{
    width:min(100%, 390px)!important;
    padding:32px 24px 28px!important;
  }
  body .egepon-home .egepon-home__login-title{
    font-size:38px!important;
  }
  body .egepon-home .egepon-home__star{
    font-size:22px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.9 — student overview width, centered calendar dots, safe stars
   ───────────────────────────────────────────────────────────── */

/* Убираем случайные звёзды поверх карточек/блоков. Оставляем их только на свободном фоне справа. */
body .egepon-page.egepon-dashboard .egepon-random-stars{
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
  z-index:0!important;
  overflow:hidden!important;
}
body .egepon-page.egepon-dashboard .egepon-random-star{
  opacity:.72!important;
  font-size:20px!important;
  filter:none!important;
}
body .egepon-page.egepon-dashboard .egepon-random-star:nth-child(1),
body .egepon-page.egepon-dashboard .egepon-random-star:nth-child(5){color:#55B9FF!important;}
body .egepon-page.egepon-dashboard .egepon-random-star:nth-child(2),
body .egepon-page.egepon-dashboard .egepon-random-star:nth-child(6){color:#6AD99B!important;}
body .egepon-page.egepon-dashboard .egepon-random-star:nth-child(3),
body .egepon-page.egepon-dashboard .egepon-random-star:nth-child(7){color:#A78BFA!important;}
body .egepon-page.egepon-dashboard .egepon-random-star:nth-child(4){color:#FFFFFF!important;}
body .egepon-page.egepon-dashboard > :not(.egepon-random-stars),
body .egepon-page.egepon-dashboard .egepon-sidebar,
body .egepon-page.egepon-dashboard .egepon-main{
  position:relative!important;
  z-index:1!important;
}

/* Всегда показываем верхнюю плашку ученика при возврате в обзор. */
body .egepon-page[data-role="student"] .egepon-topbar,
body .egepon-page[data-student-view-current] .egepon-topbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Обзор ученика занимает ширину страницы, а не узкую колонку. */
body .egepon-page.egepon-dashboard .egepon-main{
  padding-left:18px!important;
  padding-right:28px!important;
}
body .egepon-page.egepon-dashboard .egepon-student-content,
body .egepon-page.egepon-dashboard .egepon-student-section,
body .egepon-page.egepon-dashboard .egepon-content{
  max-width:none!important;
  width:100%!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
body .egepon-student-content [data-student-view="overview"].is-active{
  display:grid!important;
  grid-template-columns:minmax(720px, 1fr) minmax(390px, 480px)!important;
  gap:26px!important;
  align-items:start!important;
  justify-content:stretch!important;
  width:100%!important;
}
body .egepon-student-content [data-student-view="overview"] .egepon-panel--calendar-large{
  grid-column:1!important;
  grid-row:1!important;
  max-width:none!important;
  width:100%!important;
  margin:0!important;
}
body .egepon-student-content [data-student-view="overview"] .egepon-subject-stats{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
@media (max-width:1240px){
  body .egepon-student-content [data-student-view="overview"].is-active{
    grid-template-columns:minmax(0, 1fr)!important;
  }
  body .egepon-student-content [data-student-view="overview"] .egepon-panel--calendar-large,
  body .egepon-student-content [data-student-view="overview"] .egepon-subject-stats{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* Блок календаря: кнопка записи строго внизу, календарь шире. */
body .egepon-student-calendar-centered,
body .egepon-overview-calendar,
body .egepon-panel--calendar-large{
  max-width:none!important;
  width:100%!important;
}
body .egepon-student-calendar-centered{
  display:flex!important;
  flex-direction:column!important;
}
body .egepon-student-calendar-centered .egepon-panel__head--calendar{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:16px!important;
}
body .egepon-student-calendar-centered .egepon-calendar-slot-btn{
  order:3!important;
  align-self:flex-start!important;
  margin:18px 0 0!important;
}
body .egepon-student-calendar-centered #egepon-student-schedule{
  order:2!important;
  width:100%!important;
}

/* Месяц между стрелками, стрелки жирнее. */
body .egepon-calendar__header{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 52px!important;
  align-items:center!important;
  gap:10px!important;
}
body .egepon-calendar__month-title{
  grid-column:2!important;
  text-align:center!important;
  margin:0!important;
}
body .egepon-calendar__arrow,
body .egepon-calendar__header button[data-cal-nav]{
  font-weight:950!important;
  font-size:24px!important;
}

/* Точки строго по центру, под цифрами. */
body .egepon-calendar__grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:8px!important;
}
body .egepon-calendar-day{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  text-align:center!important;
  min-height:64px!important;
  height:64px!important;
  padding:9px 4px 22px!important;
  overflow:hidden!important;
}
body .egepon-calendar-day__num{
  width:100%!important;
  display:block!important;
  text-align:center!important;
  margin:0 auto!important;
}
body .egepon-calendar-day__events{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:8px!important;
  width:100%!important;
  min-height:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  flex-wrap:wrap!important;
  padding:0!important;
  margin:0!important;
}
body .egepon-calendar-dot{
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  flex:0 0 8px!important;
  margin:0!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.10 — приветствие только в обзоре и обзор выше
   ───────────────────────────────────────────────────────────── */

/* Перебиваем предыдущий принудительный показ topbar */
body .egepon-page[data-role="student"] .egepon-topbar,
body .egepon-page[data-student-view-current] .egepon-topbar{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
}

/* Плашка приветствия нужна только на странице Обзор */
body .egepon-page[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
body .egepon-page[data-student-view-current="overview"] .egepon-topbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Поднимаем обзор и уменьшаем лишний вертикальный воздух сверху */
body .egepon-page[data-role="student"] .egepon-main,
body .egepon-page[data-student-view-current] .egepon-main{
  padding-top:28px!important;
}

body .egepon-page[data-student-view-current="overview"] .egepon-topbar{
  margin-bottom:34px!important;
}

body .egepon-page[data-student-view-current="overview"] .egepon-student-content{
  margin-top:0!important;
}

body .egepon-page[data-student-view-current="overview"] .egepon-student-section[data-student-view="overview"]{
  margin-top:0!important;
}

/* На остальных разделах не оставляем место под приветствие */
body .egepon-page[data-student-view-current]:not([data-student-view-current="overview"]) .egepon-topbar{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

body .egepon-page[data-student-view-current]:not([data-student-view-current="overview"]) .egepon-student-content{
  margin-top:0!important;
  padding-top:0!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.11 — восстановление расположения кабинетов: контент справа от сайдбара
   ───────────────────────────────────────────────────────────── */

/* Основная причина съезда: более ранние flex/grid override'ы конфликтовали.
   Ниже принудительно возвращаем стабильную двухколоночную схему. */
body .egepon-page.egepon-dashboard{
  display:grid!important;
  grid-template-columns:260px minmax(0, 1fr)!important;
  grid-template-rows:auto!important;
  align-items:start!important;
  justify-content:stretch!important;
  gap:0!important;
  min-height:100vh!important;
  width:100%!important;
  overflow-x:hidden!important;
}

/* Сайдбар всегда первая колонка, не занимает строку сверху */
body .egepon-page.egepon-dashboard .egepon-sidebar{
  grid-column:1!important;
  grid-row:1!important;
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  width:260px!important;
  min-width:260px!important;
  max-width:260px!important;
  height:100vh!important;
  margin:0!important;
  transform:none!important;
  z-index:5!important;
}

/* Контент сразу справа от сайдбара и сверху страницы */
body .egepon-page.egepon-dashboard .egepon-main{
  grid-column:2!important;
  grid-row:1!important;
  align-self:start!important;
  justify-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:24px 32px 44px 28px!important;
  transform:none!important;
}

/* Внутренние обёртки не центрируют и не опускают контент */
body .egepon-page.egepon-dashboard .egepon-content,
body .egepon-page.egepon-dashboard .egepon-student-content,
body .egepon-page.egepon-dashboard .egepon-section,
body .egepon-page.egepon-dashboard .egepon-student-section{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding-left:0!important;
  padding-right:0!important;
  transform:none!important;
}

/* Topbar только в обзоре, но без сдвига всей страницы вниз */
body .egepon-page[data-student-view-current="overview"] .egepon-topbar{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  margin:0 0 28px!important;
}

body .egepon-page[data-student-view-current]:not([data-student-view-current="overview"]) .egepon-topbar{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* На не-обзорных разделах контент начинается сразу сверху main */
body .egepon-page[data-student-view-current]:not([data-student-view-current="overview"]) .egepon-student-content{
  margin-top:0!important;
  padding-top:0!important;
}

/* Обзор ученика: широкая сетка, но без ухода вниз */
body .egepon-student-content [data-student-view="overview"].is-active{
  margin-top:0!important;
  display:grid!important;
  grid-template-columns:minmax(640px, 1fr) minmax(340px, 440px)!important;
  gap:24px!important;
  align-items:start!important;
  justify-content:stretch!important;
  width:100%!important;
}

body .egepon-student-content [data-student-view="overview"] .egepon-panel--calendar-large{
  grid-column:1!important;
  grid-row:1!important;
  margin:0!important;
  max-width:none!important;
  width:100%!important;
}

body .egepon-student-content [data-student-view="overview"] .egepon-subject-stats{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
  max-width:none!important;
  width:100%!important;
}

/* Кнопка записи под календарём */
body .egepon-student-calendar-centered{
  display:flex!important;
  flex-direction:column!important;
}

body .egepon-student-calendar-centered #egepon-student-schedule{
  order:2!important;
  width:100%!important;
}

body .egepon-student-calendar-centered .egepon-calendar-slot-btn{
  order:3!important;
  align-self:flex-start!important;
  margin:16px 0 0!important;
}

/* Адаптив: на мобильных можно снова один столбец */
@media (max-width:1100px){
  body .egepon-page.egepon-dashboard{
    grid-template-columns:1fr!important;
  }

  body .egepon-page.egepon-dashboard .egepon-sidebar{
    position:fixed!important;
    left:0!important;
    top:0!important;
    width:280px!important;
    min-width:280px!important;
    max-width:280px!important;
    height:100vh!important;
    transform:translateX(-100%)!important;
  }

  body .egepon-page.egepon-dashboard .egepon-sidebar.is-open{
    transform:translateX(0)!important;
  }

  body .egepon-page.egepon-dashboard .egepon-main{
    grid-column:1!important;
    padding:20px 16px 34px!important;
  }

  body .egepon-student-content [data-student-view="overview"].is-active{
    grid-template-columns:1fr!important;
  }

  body .egepon-student-content [data-student-view="overview"] .egepon-panel--calendar-large,
  body .egepon-student-content [data-student-view="overview"] .egepon-subject-stats{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.12 — overview up, schedule header button, stat colors, deadlines, full sidebar
   ───────────────────────────────────────────────────────────── */

/* Синяя колонка сайдбара всегда до низа видимой страницы при прокрутке */
body .egepon-page.egepon-dashboard{
  position:relative!important;
  align-items:stretch!important;
}
body .egepon-page.egepon-dashboard::before{
  content:""!important;
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:260px!important;
  background:#3E97E8!important;
  z-index:0!important;
  pointer-events:none!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar{
  position:sticky!important;
  top:0!important;
  min-height:100vh!important;
  height:100vh!important;
  background:#3E97E8!important;
  z-index:2!important;
}
body .egepon-page.egepon-dashboard .egepon-main{
  position:relative!important;
  z-index:1!important;
  padding-top:16px!important;
}

/* Поднимаем приветствие и сам обзор выше */
body .egepon-page[data-student-view-current="overview"] .egepon-topbar{
  margin-top:0!important;
  margin-bottom:20px!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body .egepon-page[data-student-view-current="overview"] .egepon-student-content,
body .egepon-page[data-student-view-current="overview"] .egepon-student-section[data-student-view="overview"]{
  margin-top:0!important;
  padding-top:0!important;
}

/* Широкая сетка обзора ученика: календарь + статистика занимают почти всю страницу */
body .egepon-student-content [data-student-view="overview"].is-active{
  grid-template-columns:minmax(700px, 1.45fr) minmax(390px, .9fr)!important;
  gap:24px!important;
  align-items:start!important;
}
body .egepon-student-content [data-student-view="overview"] .egepon-panel--calendar-large,
body .egepon-student-content [data-student-view="overview"] .egepon-subject-stats{
  width:100%!important;
  max-width:none!important;
  margin-top:0!important;
}

/* Кнопка записи на одном уровне с заголовком «Расписание» */
body .egepon-student-calendar-centered{
  display:block!important;
}
body .egepon-student-calendar-centered .egepon-panel__head--calendar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  margin-bottom:18px!important;
}
body .egepon-student-calendar-centered .egepon-calendar-slot-btn{
  order:initial!important;
  align-self:center!important;
  margin:0!important;
  flex:0 0 auto!important;
}
body .egepon-student-calendar-centered #egepon-student-schedule{
  order:initial!important;
  width:100%!important;
}

/* Цвета ячеек статистики предметов */
body .egepon-subject-stat-grid span:nth-child(1){
  background:rgba(139,115,246,.14)!important;
  border-color:rgba(139,115,246,.34)!important;
}
body .egepon-subject-stat-grid span:nth-child(1) b{
  color:#7D63F6!important;
}
body .egepon-subject-stat-grid span:nth-child(2){
  background:rgba(107,203,138,.16)!important;
  border-color:rgba(107,203,138,.36)!important;
}
body .egepon-subject-stat-grid span:nth-child(2) b{
  color:#44A96A!important;
}

/* Дедлайны: красные точки всегда поверх и читаемо */
body .egepon-calendar-dot--deadline,
body .egepon-calendar-dot.is-deadline,
body .egepon-calendar-dot--task_deadline{
  background:#E95B67!important;
  box-shadow:0 0 0 3px rgba(233,91,103,.14)!important;
}
body .egepon-calendar-day__events{
  z-index:3!important;
}

/* Немного компактнее календарь после расширения сетки */
body .egepon-calendar-day{
  min-height:62px!important;
  height:62px!important;
  padding-bottom:20px!important;
}
body .egepon-calendar-day__events{
  bottom:7px!important;
}

/* Адаптив */
@media (max-width:1200px){
  body .egepon-student-content [data-student-view="overview"].is-active{
    grid-template-columns:1fr!important;
  }
  body .egepon-page.egepon-dashboard::before{
    display:none!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.13 — blue homework UI, hide mock tab, compact calendar arrows, full sidebar
   ───────────────────────────────────────────────────────────── */

/* Сайдбар на всю высоту документа/экрана */
html,
body{
  min-height:100%!important;
}
body .egepon-page.egepon-dashboard{
  min-height:100vh!important;
  align-items:stretch!important;
  background:linear-gradient(to right,#3E97E8 0 260px,#EAF6FF 260px 100%)!important;
}
body .egepon-page.egepon-dashboard::before{
  content:""!important;
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:260px!important;
  min-height:100vh!important;
  background:#3E97E8!important;
  z-index:0!important;
}
body .egepon-page.egepon-dashboard .egepon-sidebar{
  min-height:100vh!important;
  height:auto!important;
  align-self:stretch!important;
  background:#3E97E8!important;
}

/* Убрать отдельный раздел «Пробники»: пробники теперь в «Текущие» */
body .egepon-tab[data-tab="mock"],
body button[data-tab="mock"],
body [data-task-tab="mock"],
body [data-tab-count="mock"]{
  display:none!important;
}

/* Домашки/модалки: глобально убрать бежевый и старый коричневый */
body .egepon-page .egepon-task-card,
body .egepon-page .egepon-task-card *,
body .egepon-page .egepon-task-modal,
body .egepon-page .egepon-task-modal *,
body .egepon-page .egepon-question-pager,
body .egepon-page .egepon-question-pager *,
body .egepon-page .egepon-answer-item,
body .egepon-page .egepon-answer-item *,
body .egepon-page .egepon-answer-page,
body .egepon-page .egepon-answer-page *,
body .egepon-page .egepon-text-block,
body .egepon-page .egepon-text-block *,
body .egepon-page #egepon-task-list,
body .egepon-page #egepon-task-list *{
  background-image:none!important;
}
body .egepon-page .egepon-task-card{
  background:#FFFFFF!important;
  border-color:#CFE7FA!important;
  color:#1E2240!important;
}
body .egepon-page .egepon-task-card:hover{
  background:#F7FCFF!important;
  border-color:#9DD8FF!important;
}
body .egepon-page .egepon-task-card__head,
body .egepon-page .egepon-task-card__meta,
body .egepon-page .egepon-task-card__title{
  background:transparent!important;
  color:#1E2240!important;
}
body .egepon-page .egepon-task-card__kind{
  background:#EAF6FF!important;
  border:1px solid #CFE7FA!important;
  color:#2B7FC8!important;
}
body .egepon-page .egepon-task-card__kind--mock{
  background:#EFEAFF!important;
  border-color:#D8CCFF!important;
  color:#7D63F6!important;
}
body .egepon-page .egepon-question-pager{
  background:#F4FAFF!important;
  border-color:#CFE7FA!important;
  color:#1E2240!important;
}
body .egepon-page .egepon-question-pager__label{
  color:#1E2240!important;
}
body .egepon-page .egepon-question-pager__dots button{
  background:#FFFFFF!important;
  border-color:#CFE7FA!important;
  color:#1E2240!important;
}
body .egepon-page .egepon-question-pager__dots button.is-active{
  background:#2F6F9F!important;
  border-color:#2F6F9F!important;
  color:#FFFFFF!important;
}
body .egepon-page .egepon-answer-item{
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:none!important;
}
body .egepon-page .egepon-answer-item__text,
body .egepon-page .egepon-answer-item__text *,
body .egepon-page .egepon-text-block__body,
body .egepon-page .egepon-text-block__body *{
  background:transparent!important;
  color:#1E2240!important;
}
body .egepon-page .egepon-answer-input,
body .egepon-page .egepon-task-modal input,
body .egepon-page .egepon-task-modal textarea{
  background:#F4FAFF!important;
  border-color:#BDE2FB!important;
  color:#1E2240!important;
}
body .egepon-page .egepon-task-modal__dialog,
body .egepon-page .egepon-modal__dialog{
  background:#FFFFFF!important;
}

/* Стрелки календаря ближе к названию месяца, без голубой обводки */
body .egepon-calendar__header{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:16px!important;
}
body .egepon-calendar__month-title{
  order:2!important;
  margin:0 4px!important;
  text-align:center!important;
}
body .egepon-calendar__arrow--prev,
body .egepon-calendar__header button[data-cal-nav="prev"]{
  order:1!important;
}
body .egepon-calendar__arrow--next,
body .egepon-calendar__header button[data-cal-nav="next"]{
  order:3!important;
}
body .egepon-calendar__arrow,
body .egepon-calendar__header button[data-cal-nav]{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#2B7FC8!important;
  font-weight:950!important;
  font-size:24px!important;
  padding:0!important;
}

/* Заголовок «Расписание» обычным жирным шрифтом, не большим заголовочным */
body .egepon-student-calendar-centered .egepon-panel__title,
body .egepon-panel--schedule .egepon-panel__title{
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:34px!important;
  line-height:1.05!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
}

/* Окошки внутри карточек статистики чуть выше */
body .egepon-subject-stat-grid span{
  min-height:104px!important;
  padding:18px 20px!important;
  display:flex!important;
  justify-content:center!important;
}

/* Сетка вкладок после скрытия пробников */
body .egepon-task-tabs,
body .egepon-tabs{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/* Убрать старые бежевые переменные для новых участков */
body .egepon-page{
  --bc-cream:#EAF6FF!important;
  --bc-milk:#FFFFFF!important;
  --bc-milk-warm:#F4FAFF!important;
  --cream:#EAF6FF!important;
  --milk:#FFFFFF!important;
  --milk-warm:#F4FAFF!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.14 — окончательно: без бежевого в ДЗ, без вкладки пробников, SVG-индикаторы
   ───────────────────────────────────────────────────────────── */

/* Вкладка «Пробники» скрыта даже если старый HTML попал из кеша */
html body .egepon-tabs > .egepon-tab[data-tab="mock"],
html body .egepon-tab[data-tab="mock"],
html body button.egepon-tab[data-tab="mock"],
html body button[data-tab="mock"]{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
}

/* После скрытия пробников — три равные вкладки */
html body .egepon-tabs{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
}

/* Убираем бежевый вне зависимости от того, находится модалка внутри .egepon-page или в body */
html body .egepon-task-modal,
html body .egepon-task-modal *,
html body .egepon-modal .egepon-task-modal,
html body .egepon-modal .egepon-task-modal *,
html body .egepon-question-pager,
html body .egepon-question-pager *,
html body .egepon-answer-item,
html body .egepon-answer-item *,
html body .egepon-answer-page,
html body .egepon-answer-page *,
html body .egepon-answer-block,
html body .egepon-answer-block *,
html body .egepon-text-block,
html body .egepon-text-block *,
html body .egepon-task-card,
html body .egepon-task-card *,
html body #egepon-task-list,
html body #egepon-task-list *{
  background-image:none!important;
}

/* Карточки задания */
html body .egepon-task-card{
  background:#FFFFFF!important;
  border-color:#CFE7FA!important;
  color:#1E2240!important;
}
html body .egepon-task-card:hover{
  background:#F7FCFF!important;
  border-color:#9DD8FF!important;
}
html body .egepon-task-card__head,
html body .egepon-task-card__title,
html body .egepon-task-card__meta{
  background:transparent!important;
  color:#1E2240!important;
}

/* Бейджи */
html body .egepon-task-card__kind,
html body .egepon-task-card__kind--homework{
  background:#EAF6FF!important;
  border:1px solid #BDE2FB!important;
  color:#2B7FC8!important;
}
html body .egepon-task-card__kind--mock{
  background:#EFEAFF!important;
  border-color:#D8CCFF!important;
  color:#7D63F6!important;
}

/* Модалка прохождения */
html body .egepon-modal__dialog,
html body .egepon-task-modal{
  background:#FFFFFF!important;
}
html body .egepon-question-pager{
  background:#F4FAFF!important;
  border:1px solid #CFE7FA!important;
  color:#1E2240!important;
}
html body .egepon-question-pager__label{
  color:#1E2240!important;
}
html body .egepon-question-pager__dots button{
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  color:#1E2240!important;
}
html body .egepon-question-pager__dots button.is-active{
  background:#2F6F9F!important;
  border-color:#2F6F9F!important;
  color:#FFFFFF!important;
}
html body .egepon-answer-item{
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:none!important;
}
html body .egepon-answer-item__text,
html body .egepon-answer-item__text *,
html body .egepon-text-block__body,
html body .egepon-text-block__body *{
  background:transparent!important;
  color:#1E2240!important;
}
html body .egepon-answer-input,
html body .egepon-task-modal input,
html body .egepon-task-modal textarea{
  background:#F4FAFF!important;
  border-color:#BDE2FB!important;
  color:#1E2240!important;
}

/* SVG-индикаторы состава задания: CSS больше не может стереть их фон */
html body .egepon-task-card__icon--pie{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
html body .egepon-task-pie,
html body .egepon-task-pie--svg{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  border-radius:999px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body .egepon-task-pie svg{
  display:block!important;
  width:34px!important;
  height:34px!important;
  overflow:visible!important;
}
html body .egepon-task-pie--empty{
  background:#EAF6FF!important;
  border:2px solid #BDE2FB!important;
}

/* Старые бежево-коричневые цвета перебиваем на голубую систему */
html body .egepon-question-pager,
html body .egepon-answer-item,
html body .egepon-task-card{
  --bc-cream:#EAF6FF!important;
  --bc-milk:#FFFFFF!important;
  --bc-milk-warm:#F4FAFF!important;
  --bc-choco:#1E2240!important;
  --bc-choco-2:#1E2240!important;
  --cream:#EAF6FF!important;
  --milk:#FFFFFF!important;
  --milk-warm:#F4FAFF!important;
  --choco:#1E2240!important;
  --choco-2:#1E2240!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.15 — clean homework wrapper, modal header buttons, blue question numbers
   ───────────────────────────────────────────────────────────── */

/* Убрать голубую обводку вокруг общего блока, внутри которого лежат ДЗ */
html body .egepon-panel--tasks,
html body .egepon-panel.egepon-panel--tasks{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
}
html body .egepon-panel--tasks .egepon-tabs{
  margin:0 0 22px!important;
}
html body #egepon-task-list,
html body .egepon-tasks{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
}

/* Кнопки Сохранить / Отправить — в шапке модалки справа от названия */
html body .egepon-task-modal__header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  margin:0 0 18px!important;
}
html body .egepon-task-modal__heading{
  min-width:0!important;
  flex:1 1 auto!important;
}
html body .egepon-task-modal__header .egepon-task-modal__title{
  margin:0 0 8px!important;
}
html body .egepon-task-modal__header .egepon-task-modal__meta{
  margin:0!important;
}
html body .egepon-task-modal__buttons--top{
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  flex:0 0 auto!important;
}
html body .egepon-task-modal__buttons--top .egepon-btn{
  width:auto!important;
  min-width:132px!important;
  max-width:180px!important;
  padding:11px 18px!important;
  border-radius:16px!important;
  font-size:15px!important;
  line-height:1!important;
}
html body #egepon-task-save{
  background:#F4FAFF!important;
  border:1px solid #BDE2FB!important;
  color:#2B7FC8!important;
}
html body #egepon-task-submit{
  background:#3E97E8!important;
  border:1px solid #3E97E8!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
}

/* Кружки номеров вопросов — синие, не коричневые */
html body .egepon-answer-item__num,
html body .egepon-answer-page .egepon-answer-item__num{
  background:#2F7FC8!important;
  border-color:#2F7FC8!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
}
html body .egepon-question-pager__dots button.is-active,
html body .egepon-question-pager__dots [data-answer-page].is-active{
  background:#2F7FC8!important;
  border-color:#2F7FC8!important;
  color:#FFFFFF!important;
}

/* Если старые переменные пытаются вернуть коричневый */
html body .egepon-task-modal,
html body .egepon-answer-item,
html body .egepon-question-pager{
  --bc-choco:#1E2240!important;
  --bc-cocoa:#2F7FC8!important;
  --choco:#1E2240!important;
  --cocoa:#2F7FC8!important;
}

@media (max-width:760px){
  html body .egepon-task-modal__header{
    flex-direction:column!important;
  }
  html body .egepon-task-modal__buttons--top{
    width:100%!important;
    justify-content:flex-start!important;
  }
  html body .egepon-task-modal__buttons--top .egepon-btn{
    min-width:120px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.16 — overview higher, green oral button, violet today, taller calendar cells
   ───────────────────────────────────────────────────────────── */

/* Поднять календарь и статистику ближе к приветствию */
html body .egepon-page[data-student-view-current="overview"] .egepon-main{
  padding-top:12px!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-topbar{
  margin-top:0!important;
  margin-bottom:12px!important;
  padding-bottom:0!important;
  min-height:0!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-student-content,
html body .egepon-page[data-student-view-current="overview"] .egepon-student-section[data-student-view="overview"],
html body .egepon-page[data-student-view-current="overview"] [data-student-view="overview"].is-active{
  margin-top:0!important;
  padding-top:0!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-student-content [data-student-view="overview"].is-active{
  align-items:start!important;
}

/* Кнопка записи на зачёт — зелёная */
html body .egepon-calendar-slot-btn,
html body .egepon-student-calendar-centered .egepon-calendar-slot-btn,
html body button.egepon-calendar-slot-btn{
  background:#E5F8EC!important;
  border:1px solid rgba(74,184,111,.36)!important;
  color:#36A766!important;
  box-shadow:none!important;
}

html body .egepon-calendar-slot-btn:hover,
html body .egepon-student-calendar-centered .egepon-calendar-slot-btn:hover{
  background:#D9F4E3!important;
  border-color:rgba(74,184,111,.52)!important;
  color:#239153!important;
}

/* Сегодняшний день — фиолетовый, не голубой */
html body .egepon-calendar-day.is-today,
html body .egepon-calendar-day--today,
html body .egepon-calendar-day[data-today="1"],
html body .egepon-calendar-day.is-current-day{
  background:#EFEAFF!important;
  border-color:#CDBDFF!important;
  color:#7D63F6!important;
  box-shadow:none!important;
}

html body .egepon-calendar-day.is-today .egepon-calendar-day__num,
html body .egepon-calendar-day--today .egepon-calendar-day__num,
html body .egepon-calendar-day[data-today="1"] .egepon-calendar-day__num,
html body .egepon-calendar-day.is-current-day .egepon-calendar-day__num{
  color:#7D63F6!important;
  font-weight:900!important;
}

/* В календарях сделать ячейки выше, чтобы цифры и точки дышали */
html body .egepon-calendar-day,
html body .egepon-panel--calendar-large .egepon-calendar-day,
html body .egepon-overview-calendar .egepon-calendar-day,
html body .egepon-student-calendar-centered .egepon-calendar-day,
html body #egepon-student-schedule .egepon-calendar-day,
html body #egepon-teacher-schedule .egepon-calendar-day,
html body #egepon-teacher-overview-schedule .egepon-calendar-day{
  min-height:76px!important;
  height:76px!important;
  padding:11px 6px 24px!important;
}

html body .egepon-calendar-day__events{
  bottom:9px!important;
  min-height:13px!important;
}

html body .egepon-calendar-dot{
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  flex-basis:8px!important;
}

/* Чуть меньше лишнего воздуха внутри карточки расписания, чтобы рост ячеек не раздувал весь блок чрезмерно */
html body .egepon-student-calendar-centered .egepon-calendar,
html body .egepon-overview-calendar .egepon-calendar{
  padding-top:10px!important;
  padding-bottom:12px!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.17 — overview closer to greeting, all-blue palette, lower calendar dots
   ───────────────────────────────────────────────────────────── */

/* Поднимаем расписание и статистику прямо ближе к «няшечке-вкусняшечке» */
html body .egepon-page[data-student-view-current="overview"] .egepon-main{
  padding-top:8px!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-topbar{
  min-height:0!important;
  height:auto!important;
  margin:0 0 6px!important;
  padding:0!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-topbar__content,
html body .egepon-page[data-student-view-current="overview"] .egepon-hero,
html body .egepon-page[data-student-view-current="overview"] .egepon-hero__content,
html body .egepon-page[data-student-view-current="overview"] .egepon-student-hero{
  min-height:0!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-student-content{
  margin-top:-18px!important;
  padding-top:0!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-student-section[data-student-view="overview"],
html body .egepon-page[data-student-view-current="overview"] [data-student-view="overview"].is-active{
  margin-top:0!important;
  padding-top:0!important;
}

/* Всё в голубую палитру: статистика предметов */
html body .egepon-subject-stat-grid span,
html body .egepon-subject-stat-grid span:nth-child(1),
html body .egepon-subject-stat-grid span:nth-child(2),
html body .egepon-subject-stat-grid span:nth-child(3),
html body .egepon-subject-stat-grid span:nth-child(4){
  background:#F4FAFF!important;
  border-color:#CFE7FA!important;
  color:#6F83A0!important;
}

html body .egepon-subject-stat-grid span b,
html body .egepon-subject-stat-grid span:nth-child(1) b,
html body .egepon-subject-stat-grid span:nth-child(2) b,
html body .egepon-subject-stat-grid span:nth-child(3) b,
html body .egepon-subject-stat-grid span:nth-child(4) b{
  color:#1E2240!important;
}

/* Сегодняшний день — голубой, без фиолетового */
html body .egepon-calendar-day.is-today,
html body .egepon-calendar-day--today,
html body .egepon-calendar-day[data-today="1"],
html body .egepon-calendar-day.is-current-day{
  background:#EAF6FF!important;
  border-color:#BDE2FB!important;
  color:#2B7FC8!important;
  box-shadow:none!important;
}

html body .egepon-calendar-day.is-today .egepon-calendar-day__num,
html body .egepon-calendar-day--today .egepon-calendar-day__num,
html body .egepon-calendar-day[data-today="1"] .egepon-calendar-day__num,
html body .egepon-calendar-day.is-current-day .egepon-calendar-day__num{
  color:#2B7FC8!important;
  font-weight:800!important;
}

/* Кнопка записи на зачёт — белая с голубой обводкой */
html body .egepon-calendar-slot-btn,
html body .egepon-student-calendar-centered .egepon-calendar-slot-btn,
html body button.egepon-calendar-slot-btn{
  background:#FFFFFF!important;
  border:1px solid #BDE2FB!important;
  color:#2B7FC8!important;
  box-shadow:none!important;
}

html body .egepon-calendar-slot-btn:hover,
html body .egepon-student-calendar-centered .egepon-calendar-slot-btn:hover{
  background:#F4FAFF!important;
  border-color:#9DD8FF!important;
  color:#1972BC!important;
}

/* Название месяца — обычный вес, без жирного заголовка */
html body .egepon-calendar__month-title,
html body .egepon-calendar__header .egepon-calendar__month-title{
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-weight:600!important;
  letter-spacing:0!important;
}

/* Точки опустить в самый низ ячеек календаря */
html body .egepon-calendar-day,
html body .egepon-panel--calendar-large .egepon-calendar-day,
html body .egepon-overview-calendar .egepon-calendar-day,
html body .egepon-student-calendar-centered .egepon-calendar-day,
html body #egepon-student-schedule .egepon-calendar-day,
html body #egepon-teacher-schedule .egepon-calendar-day,
html body #egepon-teacher-overview-schedule .egepon-calendar-day{
  min-height:80px!important;
  height:80px!important;
  padding:11px 6px 28px!important;
}

html body .egepon-calendar-day__events{
  bottom:4px!important;
  min-height:14px!important;
  align-items:flex-end!important;
}

html body .egepon-calendar-dot{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Цвет точек оставляем смысловым: дедлайн красный, занятие/зачёт не фиолетовый/зелёный, а голубые оттенки */
html body .egepon-calendar-dot--lesson,
html body .egepon-calendar-dot--class{
  background:#3E97E8!important;
}

html body .egepon-calendar-dot--oral_exam,
html body .egepon-calendar-dot--oral{
  background:#69BDF5!important;
}

/* Звёзды поверх карточек приглушить, чтобы не казались зелёными/фиолетовыми акцентами интерфейса */
html body .egepon-page.egepon-dashboard .egepon-random-star{
  color:#A8D8FF!important;
  opacity:.55!important;
  text-shadow:none!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.18 — точечный подъём обзора, календарь, аватар и emoji picker
   ───────────────────────────────────────────────────────────── */

/* 1. Почему не поднималось: большой воздух создавался после topbar/hero.
   Двигаем именно секцию обзора вверх, не трогая другие разделы. */
html body .egepon-page[data-student-view-current="overview"] .egepon-main{
  padding-top:8px!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-topbar{
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  min-height:0!important;
  height:auto!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-student-content{
  margin-top:-86px!important;
  padding-top:0!important;
}

html body .egepon-page[data-student-view-current="overview"] .egepon-student-section[data-student-view="overview"],
html body .egepon-page[data-student-view-current="overview"] [data-student-view="overview"].is-active{
  margin-top:0!important;
  padding-top:0!important;
}

/* 2. Кнопка «Записаться на зачёт»: белая, голубая обводка, без заливки. */
html body .egepon-student-calendar-centered .egepon-calendar-slot-btn,
html body .egepon-calendar-slot-btn,
html body button.egepon-calendar-slot-btn,
html body .egepon-calendar-slot-btn.egepon-btn{
  background:#FFFFFF!important;
  background-image:none!important;
  border:1px solid #BDE2FB!important;
  color:#2B7FC8!important;
  box-shadow:none!important;
}

html body .egepon-student-calendar-centered .egepon-calendar-slot-btn:hover,
html body .egepon-calendar-slot-btn:hover,
html body button.egepon-calendar-slot-btn:hover{
  cursor:pointer!important;
  background:#F4FAFF!important;
  border-color:#8FD0FA!important;
  color:#1673BD!important;
}

/* 3. Название месяца обычным шрифтом и обычнее по весу. */
html body .egepon-calendar__month-title,
html body .egepon-calendar__title,
html body .egepon-calendar__header h3,
html body .egepon-calendar__header .egepon-calendar__month-title{
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-weight:500!important;
  letter-spacing:0!important;
}

/* 4. Стрелки календаря: явно кликабельные и с мягкой подсветкой. */
html body .egepon-calendar__arrow,
html body .egepon-calendar__nav button,
html body .egepon-calendar__header button[data-cal-nav],
html body .egepon-calendar__nav [data-cal-nav]{
  cursor:pointer!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#2B7FC8!important;
  transition:background-color .16s ease, color .16s ease, transform .16s ease!important;
}

html body .egepon-calendar__arrow:hover,
html body .egepon-calendar__nav button:hover,
html body .egepon-calendar__header button[data-cal-nav]:hover,
html body .egepon-calendar__nav [data-cal-nav]:hover{
  background:#EAF6FF!important;
  color:#1673BD!important;
  transform:translateY(-1px)!important;
}

/* 5. Точки опускаем к самому низу слотов календаря. */
html body .egepon-calendar-day,
html body .egepon-panel--calendar-large .egepon-calendar-day,
html body .egepon-overview-calendar .egepon-calendar-day,
html body .egepon-student-calendar-centered .egepon-calendar-day,
html body #egepon-student-schedule .egepon-calendar-day,
html body #egepon-teacher-schedule .egepon-calendar-day,
html body #egepon-teacher-overview-schedule .egepon-calendar-day{
  min-height:84px!important;
  height:84px!important;
  padding:11px 6px 32px!important;
}

html body .egepon-calendar-day__events{
  bottom:2px!important;
  min-height:14px!important;
  align-items:flex-end!important;
}

html body .egepon-calendar-dot{
  width:8px!important;
  height:8px!important;
  min-width:8px!important;
  flex:0 0 8px!important;
  margin:0!important;
}

/* 6. Только голубая палитра в статистике и календаре. */
html body .egepon-subject-stat-grid span,
html body .egepon-subject-stat-grid span:nth-child(1),
html body .egepon-subject-stat-grid span:nth-child(2),
html body .egepon-subject-stat-grid span:nth-child(3),
html body .egepon-subject-stat-grid span:nth-child(4){
  background:#F4FAFF!important;
  border-color:#CFE7FA!important;
}

html body .egepon-subject-stat-grid span b,
html body .egepon-subject-stat-grid span:nth-child(1) b,
html body .egepon-subject-stat-grid span:nth-child(2) b,
html body .egepon-subject-stat-grid span:nth-child(3) b,
html body .egepon-subject-stat-grid span:nth-child(4) b{
  color:#1E2240!important;
}

html body .egepon-calendar-day.is-today,
html body .egepon-calendar-day--today,
html body .egepon-calendar-day[data-today="1"],
html body .egepon-calendar-day.is-current-day{
  background:#EAF6FF!important;
  border-color:#BDE2FB!important;
  color:#2B7FC8!important;
  box-shadow:none!important;
}

/* 7. Сайдбар: меньше места вокруг аватарки, чтобы имя влезало лучше. */
html body .egepon-page.egepon-dashboard .egepon-sidebar__header{
  padding:12px!important;
  gap:8px!important;
  margin-bottom:12px!important;
}

html body .egepon-page.egepon-dashboard .egepon-sidebar__avatar,
html body .egepon-page.egepon-dashboard .egepon-sidebar__photo{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  border-radius:14px!important;
  font-size:23px!important;
}

html body .egepon-page.egepon-dashboard .egepon-sidebar__avatar-emoji,
html body .egepon-page.egepon-dashboard .egepon-sidebar__photo-placeholder{
  font-size:22px!important;
}

html body .egepon-page.egepon-dashboard .egepon-sidebar__user{
  min-width:0!important;
  flex:1 1 auto!important;
}

html body .egepon-page.egepon-dashboard .egepon-sidebar__name{
  white-space:normal!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  line-height:1.12!important;
  font-size:15px!important;
}

html body .egepon-page.egepon-dashboard .egepon-sidebar__role{
  font-size:12px!important;
  line-height:1.15!important;
  margin-top:3px!important;
}

/* 8. Выбор эмодзи: меньше воздуха, компактнее сетка. */
html body .egepon-avatar-picker{
  padding:10px!important;
  margin-bottom:10px!important;
  border-radius:18px!important;
}

html body .egepon-avatar-picker__title{
  margin-bottom:8px!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
}

html body .egepon-avatar-picker__grid{
  grid-template-columns:repeat(6, minmax(0, 1fr))!important;
  gap:2px!important;
  max-height:190px!important;
  padding-right:2px!important;
}

html body .egepon-avatar-option{
  padding:3px!important;
  min-width:0!important;
  min-height:28px!important;
  border-radius:9px!important;
  font-size:18px!important;
  line-height:1!important;
}

html body .egepon-avatar-option.is-active{
  border-color:#5BCB6D!important;
  background:#F4FAFF!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.19 — заголовки ниже, точки календаря снова по легенде и цвету предмета
   ───────────────────────────────────────────────────────────── */

/* 1. Заголовки разделов: опускаем контент страниц ниже, примерно на уровень логотипа «ЕГЭпон» в сайдбаре.
   Обзор ученика не трогаем: там уже отдельно настроена дистанция до приветствия. */
html body .egepon-page.egepon-dashboard:not([data-student-view-current="overview"]) .egepon-main,
html body .egepon-page.egepon-dashboard[data-role="teacher"] .egepon-main,
html body .egepon-page.egepon-dashboard:not([data-role="student"]) .egepon-main{
  padding-top:34px!important;
}

html body .egepon-page.egepon-dashboard:not([data-student-view-current="overview"]) .egepon-section__title,
html body .egepon-page.egepon-dashboard:not([data-student-view-current="overview"]) .egepon-section__head,
html body .egepon-page.egepon-dashboard:not([data-student-view-current="overview"]) .egepon-page-title,
html body .egepon-page.egepon-dashboard:not([data-student-view-current="overview"]) .egepon-student-section > h1,
html body .egepon-page.egepon-dashboard:not([data-student-view-current="overview"]) .egepon-student-section > h2,
html body .egepon-page.egepon-dashboard[data-role="teacher"] .egepon-section__title,
html body .egepon-page.egepon-dashboard[data-role="teacher"] .egepon-section__head,
html body .egepon-page.egepon-dashboard[data-role="teacher"] .egepon-page-title{
  margin-top:0!important;
}

/* 2. Календарные точки больше не перекрашиваем принудительно в голубой.
   Цвет события приходит из JS как --dot-color:
   - занятие = цвет предмета преподавателя;
   - дедлайн = красный;
   - устный зачёт = зелёный. */
html body .egepon-calendar-dot,
html body .egepon-calendar-dot--lesson,
html body .egepon-calendar-dot--class{
  background:var(--dot-color, #4DA8F0)!important;
  border-color:var(--dot-color, #4DA8F0)!important;
}

html body .egepon-calendar-dot--deadline,
html body .egepon-calendar-dot--task_deadline,
html body .egepon-calendar-dot.is-deadline{
  background:#E95B67!important;
  border-color:#E95B67!important;
  box-shadow:0 0 0 3px rgba(233,91,103,.14)!important;
}

html body .egepon-calendar-dot--oral_exam,
html body .egepon-calendar-dot--oral{
  background:#4CBF77!important;
  border-color:#4CBF77!important;
}

/* 3. Легенда соответствует тем же цветам.
   Если у преподавателя один предмет — точка «занятие» становится цветом предмета.
   Если в календаре несколько цветов занятий — легенда показывает составной кружок. */
html body .egepon-calendar__legend i{
  background:var(--legend-bg, var(--dot-color, #4DA8F0))!important;
  border:0!important;
  box-shadow:none!important;
}

html body .egepon-calendar__legend .egepon-calendar-legend__lesson{
  background:var(--legend-bg, var(--dot-color, #4DA8F0))!important;
}

/* 4. Снимаем последние принудительные голубые цвета с занятий/зачётов из предыдущих патчей. */
html body .egepon-calendar-dot[style*="--dot-color"]{
  background:var(--dot-color)!important;
  border-color:var(--dot-color)!important;
}

html body .egepon-calendar-dot--oral_exam[style*="--dot-color"],
html body .egepon-calendar-dot--oral[style*="--dot-color"]{
  background:#4CBF77!important;
  border-color:#4CBF77!important;
}

html body .egepon-calendar-dot--deadline[style*="--dot-color"],
html body .egepon-calendar-dot.is-deadline[style*="--dot-color"]{
  background:#E95B67!important;
  border-color:#E95B67!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.20 — настоящий подъём обзора + сплошные pie-индикаторы ДЗ
   ───────────────────────────────────────────────────────────── */

/* Причина большого воздуха: при первой загрузке у .egepon-page не было data-student-view-current,
   поэтому все предыдущие правила подъёма обзора не срабатывали до клика по меню.
   Атрибут добавлен в шаблон, а ниже — страховка по структуре. */
html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  height:auto!important;
}

html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar__inner,
html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar__inner{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}

html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-content.egepon-student-content,
html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-content.egepon-student-content{
  margin-top:-122px!important;
  padding-top:0!important;
}

html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-student-section[data-student-view="overview"].is-active,
html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-student-section[data-student-view="overview"].is-active{
  margin-top:0!important;
  padding-top:0!important;
}

/* Не даём подъёму применяться к другим разделам */
html body .egepon-page.egepon-dashboard[data-role="student"]:not([data-student-view-current="overview"]) .egepon-content.egepon-student-content{
  margin-top:0!important;
}

/* Сплошные pie-кружки состава ДЗ вместо пончиков/обводок */
html body .egepon-task-card__icon--pie,
html body .egepon-task-pie,
html body .egepon-task-pie--solid{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:999px!important;
}

html body .egepon-task-pie svg,
html body .egepon-task-pie--solid svg{
  width:34px!important;
  height:34px!important;
  display:block!important;
  overflow:visible!important;
}

html body .egepon-task-pie--solid svg circle{
  vector-effect:non-scaling-stroke;
}

html body .egepon-task-pie--empty{
  width:34px!important;
  height:34px!important;
  border-radius:999px!important;
  background:#EAF6FF!important;
  border:2px solid #BDE2FB!important;
}

/* На чуть более низких экранах подъём делаем мягче, чтобы календарь не залезал на приветствие */
@media (max-height:820px){
  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-content.egepon-student-content,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-content.egepon-student-content{
    margin-top:-96px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.21 — фикс наложения обзора после переходов между разделами
   ───────────────────────────────────────────────────────────── */

/* В v4.5.20 обзор поднимался отрицательным margin-top.
   После перехода из других разделов это приводило к заезду календаря под приветствие.
   Ниже убираем хрупкий отрицательный сдвиг и делаем compact topbar нормальным потоком. */
html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-main,
html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-main{
  padding-top:26px!important;
}

html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
  position:relative!important;
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 22px!important;
  padding:0!important;
  overflow:visible!important;
  z-index:2!important;
}

html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar__inner,
html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar__inner{
  position:relative!important;
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  width:100%!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  z-index:2!important;
}

html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-hero__eyebrow{
  margin:0 0 8px!important;
}

html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar__title{
  margin:0!important;
  line-height:.98!important;
}

html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-content.egepon-student-content,
html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-content.egepon-student-content{
  position:relative!important;
  z-index:1!important;
  margin-top:0!important;
  padding-top:0!important;
  clear:both!important;
}

html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-student-section[data-student-view="overview"].is-active,
html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-student-section[data-student-view="overview"].is-active{
  margin-top:0!important;
  padding-top:0!important;
  transform:none!important;
}

/* На остальных разделах topbar скрыт и не оставляет высоту. */
html body .egepon-page.egepon-dashboard[data-role="student"]:not([data-student-view-current="overview"]) .egepon-topbar{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Контейнер обзора не должен залезать под topbar даже после повторного клика по меню. */
html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] [data-student-view="overview"]{
  position:relative!important;
  top:auto!important;
  transform:none!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.22 — topbar background, notification/count badges, compact emoji picker, soft pie icons
   ───────────────────────────────────────────────────────────── */

/* 1. Верхний блок приветствия без отдельного светлого прямоугольника */
html body .egepon-page.egepon-dashboard[data-role="student"] .egepon-topbar,
html body .egepon-page.egepon-dashboard[data-role="student"] .egepon-topbar__inner,
html body .egepon-page.egepon-dashboard[data-role="student"] .egepon-topbar__inner::before,
html body .egepon-page.egepon-dashboard[data-role="student"] .egepon-topbar::before{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
}

/* 2. Бейдж уведомлений: цифра строго в круге и белая */
html body .egepon-notify-btn__count,
html body .egepon-page .egepon-notify-btn__count{
  position:absolute!important;
  top:-9px!important;
  right:-8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:26px!important;
  min-width:26px!important;
  height:26px!important;
  padding:0!important;
  border-radius:999px!important;
  background:#3E97E8!important;
  color:#FFFFFF!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  text-align:center!important;
  box-shadow:0 3px 10px rgba(62,151,232,.25)!important;
  z-index:5!important;
}

/* 3. Выбор эмодзи: убираем верхний воздух */
html body .egepon-avatar-picker{
  padding:7px 10px 10px!important;
  margin:6px 0 10px!important;
  border-radius:18px!important;
}

html body .egepon-avatar-picker__title{
  margin:0 0 5px!important;
  padding:0!important;
  line-height:1!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
}

html body .egepon-avatar-picker__grid{
  gap:2px!important;
  max-height:176px!important;
  padding:0 2px 0 0!important;
}

html body .egepon-avatar-option{
  min-height:26px!important;
  height:26px!important;
  padding:2px!important;
  border-radius:8px!important;
  font-size:17px!important;
  line-height:1!important;
}

/* 4. Счётчики вкладок ДЗ снова аккуратными кругами */
html body .egepon-tab b,
html body .egepon-tabs .egepon-tab b,
html body [data-tab-count]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  min-width:24px!important;
  height:24px!important;
  padding:0!important;
  margin-left:8px!important;
  border-radius:999px!important;
  background:#BDE2FB!important;
  color:#2B7FC8!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1!important;
  vertical-align:middle!important;
  text-align:center!important;
}

html body .egepon-tab.is-active b,
html body .egepon-tabs .egepon-tab.is-active b{
  background:rgba(255,255,255,.32)!important;
  color:#FFFFFF!important;
}

/* 5. Pie-индикаторы состава ДЗ: мягкие пастельные сплошные круги с аккуратной рамкой */
html body .egepon-task-card__icon--pie,
html body .egepon-task-card__icon:has(.egepon-task-pie){
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  flex:0 0 36px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:999px!important;
}

html body .egepon-task-pie,
html body .egepon-task-pie--solid{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:999px!important;
}

html body .egepon-task-pie svg,
html body .egepon-task-pie--solid svg{
  width:34px!important;
  height:34px!important;
  display:block!important;
  overflow:visible!important;
  border-radius:999px!important;
  filter:drop-shadow(0 1px 2px rgba(31,36,66,.08))!important;
}

html body .egepon-task-pie--empty{
  background:#EAF6FF!important;
  border:2px solid #CFE7FA!important;
  box-shadow:0 1px 2px rgba(31,36,66,.06)!important;
}

/* На всякий случай не даём старым сбросам стереть SVG-пирог */
html body .egepon-task-pie *,
html body .egepon-task-pie--solid *{
  background:none!important;
  background-image:none!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.23 — крестик модалки выше, без голубого квадрата и без наезда на «Отправить»
   ───────────────────────────────────────────────────────────── */

html body .egepon-modal__dialog{
  position:relative!important;
  overflow:visible!important;
}

html body .egepon-modal__close,
html body button.egepon-modal__close{
  position:absolute!important;
  top:-26px!important;
  right:-18px!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  border-radius:999px!important;
  color:#2B7FC8!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:800!important;
  cursor:pointer!important;
  z-index:30!important;
}

html body .egepon-modal__close:hover,
html body button.egepon-modal__close:hover{
  background:rgba(234,246,255,.86)!important;
  color:#1673BD!important;
  transform:translateY(-1px)!important;
}

html body .egepon-modal__close:focus,
html body button.egepon-modal__close:focus{
  outline:0!important;
  box-shadow:none!important;
}

/* В модалке выполнения ДЗ оставляем запас справа, чтобы кнопки не конфликтовали даже на узких экранах */
html body .egepon-task-modal__header{
  padding-right:30px!important;
}

@media (max-width:760px){
  html body .egepon-modal__close,
  html body button.egepon-modal__close{
    top:10px!important;
    right:10px!important;
    background:transparent!important;
  }

  html body .egepon-task-modal__header{
    padding-right:42px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.24 — отправка после дедлайна и красивая модалка подтверждения
   ───────────────────────────────────────────────────────────── */

html body .egepon-task-late-warning{
  margin:12px 0 16px!important;
  padding:12px 16px!important;
  border:1px solid #BDE2FB!important;
  border-radius:16px!important;
  background:#F4FAFF!important;
  color:#2B7FC8!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.35!important;
}

html body .egepon-confirm-modal{
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
}

html body .egepon-confirm-modal__dialog{
  position:relative!important;
  width:min(520px, calc(100vw - 32px))!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  border-radius:28px!important;
  box-shadow:0 28px 80px rgba(31,36,66,.22)!important;
  padding:34px 34px 28px!important;
  z-index:2!important;
  text-align:left!important;
}

html body .egepon-confirm-modal__close{
  position:absolute!important;
  top:12px!important;
  right:14px!important;
  width:34px!important;
  height:34px!important;
  border:0!important;
  background:transparent!important;
  color:#2B7FC8!important;
  font-size:28px!important;
  line-height:1!important;
  cursor:pointer!important;
  box-shadow:none!important;
}

html body .egepon-confirm-modal__close:hover{
  color:#1673BD!important;
  background:#F4FAFF!important;
  border-radius:999px!important;
}

html body .egepon-confirm-modal__title{
  margin:0 40px 10px 0!important;
  color:#1E2240!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:24px!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}

html body .egepon-confirm-modal__text{
  margin:0!important;
  color:#6F83A0!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:17px!important;
  line-height:1.45!important;
  font-weight:600!important;
}

html body .egepon-confirm-modal__actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-top:24px!important;
}

html body .egepon-confirm-modal__actions .egepon-btn{
  width:auto!important;
  min-width:130px!important;
  padding:13px 20px!important;
  border-radius:16px!important;
  font-size:16px!important;
  line-height:1!important;
}

html body .egepon-confirm-modal__actions .egepon-btn--ghost{
  background:#F4FAFF!important;
  border:1px solid #BDE2FB!important;
  color:#2B7FC8!important;
}

html body .egepon-confirm-modal__actions .egepon-btn--primary{
  background:#3E97E8!important;
  border:1px solid #3E97E8!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
}

@media (max-width:640px){
  html body .egepon-confirm-modal__dialog{
    padding:28px 22px 22px!important;
  }
  html body .egepon-confirm-modal__actions{
    flex-direction:column-reverse!important;
  }
  html body .egepon-confirm-modal__actions .egepon-btn{
    width:100%!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.25 — длинные изображения и контент в задании не вылезают за рамку
   ───────────────────────────────────────────────────────────── */

/* Диалог выполнения ДЗ сам прокручивается внутри экрана, а не выпускает контент на фон */
html body #egepon-task-modal .egepon-modal__dialog,
html body .egepon-task-modal.egepon-modal .egepon-modal__dialog,
html body .egepon-task-modal__dialog{
  max-height:calc(100vh - 72px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}

/* Внутренний контент вопроса всегда остаётся внутри карточки */
html body #egepon-task-modal-body,
html body #egepon-answers-area,
html body .egepon-answer-item,
html body .egepon-text-block,
html body .egepon-answer-item__head,
html body .egepon-answer-item__text,
html body .egepon-text-block__body,
html body .egepon-answer-block,
html body .egepon-answer-item__correct,
html body .egepon-answer-item__feedback,
html body .egepon-answer-item__explanation{
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

/* Шапку вопроса делаем гридом, чтобы большая картинка не растягивала строку */
html body .egepon-answer-item__head{
  display:grid!important;
  grid-template-columns:auto minmax(0, 1fr) auto!important;
  align-items:start!important;
  gap:14px!important;
}

html body .egepon-answer-item__text{
  display:block!important;
  min-width:0!important;
  width:100%!important;
  line-height:1.45!important;
}

html body .egepon-answer-item__max{
  white-space:nowrap!important;
  align-self:start!important;
}

/* Любые картинки в тексте вопроса/описания/прикреплениях масштабируются внутрь белой карточки */
html body #egepon-task-modal img,
html body #egepon-task-modal-body img,
html body .egepon-task-modal img,
html body .egepon-answer-item img,
html body .egepon-answer-item__text img,
html body .egepon-text-block img,
html body .egepon-text-block__body img,
html body .egepon-task-modal__section img,
html body .egepon-answer-block img,
html body .egepon-answer-item__correct img,
html body .egepon-answer-item__feedback img,
html body .egepon-answer-item__explanation img,
html body .egepon-attachments img,
html body .egepon-question-attachments img{
  display:block!important;
  max-width:100%!important;
  width:auto!important;
  height:auto!important;
  max-height:min(58vh, 560px)!important;
  object-fit:contain!important;
  margin:14px auto!important;
  border-radius:18px!important;
  box-sizing:border-box!important;
  border:1px solid #CFE7FA!important;
  background:#F4FAFF!important;
}

/* Если редактор вставил figure/table/iframe/video — тоже не ломаем ширину */
html body #egepon-task-modal figure,
html body #egepon-task-modal table,
html body #egepon-task-modal iframe,
html body #egepon-task-modal video,
html body .egepon-answer-item figure,
html body .egepon-answer-item table,
html body .egepon-answer-item iframe,
html body .egepon-answer-item video,
html body .egepon-text-block figure,
html body .egepon-text-block table,
html body .egepon-text-block iframe,
html body .egepon-text-block video{
  max-width:100%!important;
  box-sizing:border-box!important;
}

html body #egepon-task-modal figure{
  margin:14px 0!important;
}

html body #egepon-task-modal iframe,
html body #egepon-task-modal video{
  display:block!important;
  width:100%!important;
  max-height:58vh!important;
  border-radius:18px!important;
  border:1px solid #CFE7FA!important;
  background:#F4FAFF!important;
}

/* Таблицы получают горизонтальную прокрутку только внутри карточки, а не всей модалки */
html body #egepon-task-modal table{
  display:block!important;
  overflow-x:auto!important;
  border-collapse:collapse!important;
}

/* Длинный текст и картинки в Quill-ответах тоже не раздвигают модалку */
html body #egepon-task-modal .ql-editor,
html body #egepon-task-modal .egepon-quill,
html body #egepon-task-modal .egepon-answer-quill{
  max-width:100%!important;
  overflow-x:hidden!important;
  box-sizing:border-box!important;
}

/* На узких экранах бейдж типа ответа переносится вниз, чтобы картинка оставалась широкой */
@media (max-width:760px){
  html body .egepon-answer-item__head{
    grid-template-columns:auto minmax(0, 1fr)!important;
  }

  html body .egepon-answer-item__max{
    grid-column:2!important;
    justify-self:start!important;
    margin-top:4px!important;
    white-space:normal!important;
  }

  html body #egepon-task-modal .egepon-modal__dialog,
  html body .egepon-task-modal__dialog{
    max-height:calc(100vh - 36px)!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.26 — финальная чистка ученика: уведомления, пустые состояния, модалка дня
   ───────────────────────────────────────────────────────────── */

/* Уведомления: убираем бежевый, оставляем бело-голубую палитру */
html body .egepon-notifications,
html body .egepon-notifications *,
html body .egepon-notify-panel,
html body .egepon-notify-panel *,
html body .egepon-notifications-panel,
html body .egepon-notifications-panel *,
html body .egepon-notification-list,
html body .egepon-notification-list *{
  background-image:none!important;
}

html body .egepon-notifications,
html body .egepon-notify-panel,
html body .egepon-notifications-panel{
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:0 18px 55px rgba(31,36,66,.14)!important;
}

html body .egepon-notification,
html body .egepon-notification-item,
html body .egepon-notify-item,
html body .egepon-notifications__item,
html body .egepon-notifications-panel__item,
html body .egepon-notify-panel__item{
  background:#F4FAFF!important;
  border:1px solid #CFE7FA!important;
  color:#1E2240!important;
  box-shadow:none!important;
}

html body .egepon-notification.is-unread,
html body .egepon-notification-item.is-unread,
html body .egepon-notify-item.is-unread,
html body .egepon-notifications__item.is-unread,
html body .egepon-notifications-panel__item.is-unread,
html body .egepon-notify-panel__item.is-unread{
  background:#EAF6FF!important;
  border-color:#BDE2FB!important;
}

html body .egepon-notification h4,
html body .egepon-notification b,
html body .egepon-notification strong,
html body .egepon-notification-item h4,
html body .egepon-notification-item b,
html body .egepon-notification-item strong,
html body .egepon-notify-item h4,
html body .egepon-notify-item b,
html body .egepon-notify-item strong{
  color:#1E2240!important;
}

html body .egepon-notification p,
html body .egepon-notification time,
html body .egepon-notification-item p,
html body .egepon-notification-item time,
html body .egepon-notify-item p,
html body .egepon-notify-item time{
  color:#6F83A0!important;
}

/* Модалка дел за день: контент не должен уходить под серый фон */
html body #egepon-day-modal .egepon-modal__dialog,
html body .egepon-day-modal .egepon-modal__dialog,
html body .egepon-calendar-day-modal .egepon-modal__dialog,
html body .egepon-modal__dialog:has(.egepon-day-events),
html body .egepon-modal__dialog:has(.egepon-day-event-card){
  max-height:calc(100vh - 72px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  border-radius:32px!important;
}

html body .egepon-day-events,
html body .egepon-day-event-list,
html body .egepon-day-event-card,
html body .egepon-calendar-day-events,
html body .egepon-calendar-event-card{
  max-width:100%!important;
  box-sizing:border-box!important;
}

html body .egepon-day-event-card,
html body .egepon-calendar-event-card{
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  color:#1E2240!important;
  box-shadow:none!important;
}

/* Пустые состояния: не коричневые, без бежевого */
html body .egepon-empty,
html body .egepon-empty-state,
html body .egepon-task-card--empty,
html body .egepon-task-card--empty *,
html body .egepon-empty-message,
html body .egepon-placeholder,
html body .egepon-panel__empty,
html body .egepon-day-empty,
html body .egepon-calendar-empty{
  background:#FFFFFF!important;
  background-image:none!important;
  color:#1E2240!important;
  border-color:#CFE7FA!important;
}

html body .egepon-task-card--empty .egepon-task-card__title,
html body .egepon-empty p,
html body .egepon-empty-state p,
html body .egepon-empty-message,
html body .egepon-placeholder,
html body .egepon-panel__empty,
html body .egepon-day-empty,
html body .egepon-calendar-empty{
  color:#1E2240!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-weight:800!important;
}

/* Если браузер поддерживает :has — дополнительно страхуем модалки с пустым текстом */
html body .egepon-modal__dialog:has(.egepon-empty),
html body .egepon-modal__dialog:has(.egepon-empty-state),
html body .egepon-modal__dialog:has(.egepon-day-empty){
  background:#FFFFFF!important;
  max-height:calc(100vh - 72px)!important;
  overflow-y:auto!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.27 — скрытые скроллы везде + скрытый внутренний скролл сайдбара
   ───────────────────────────────────────────────────────────── */

/* Скрываем видимые полосы прокрутки глобально, но саму прокрутку не отключаем */
html,
body,
.egepon-page,
.egepon-page *,
.egepon-modal,
.egepon-modal *,
.egepon-dashboard,
.egepon-dashboard *,
.egepon-admin,
.egepon-admin *{
  scrollbar-width:none!important;          /* Firefox */
  -ms-overflow-style:none!important;       /* old Edge/IE */
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.egepon-page::-webkit-scrollbar,
.egepon-page *::-webkit-scrollbar,
.egepon-modal::-webkit-scrollbar,
.egepon-modal *::-webkit-scrollbar,
.egepon-dashboard::-webkit-scrollbar,
.egepon-dashboard *::-webkit-scrollbar,
.egepon-admin::-webkit-scrollbar,
.egepon-admin *::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
  background:transparent!important;
}

/* Сайдбар получает собственную прокрутку, но без видимого ползунка */
html body .egepon-page.egepon-dashboard .egepon-sidebar{
  height:100vh!important;
  max-height:100vh!important;
  min-height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}

html body .egepon-page.egepon-dashboard .egepon-sidebar::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
  background:transparent!important;
}

/* Чтобы кнопка выхода не ломала доступность при длинном меню */
html body .egepon-page.egepon-dashboard .egepon-sidebar__nav{
  min-height:min-content!important;
}

html body .egepon-page.egepon-dashboard .egepon-sidebar__bottom,
html body .egepon-page.egepon-dashboard .egepon-sidebar__logout{
  flex-shrink:0!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.28 — белые уведомления, чистый текст в ДЗ/делах дня, восстановлены тексты пустых состояний
   ───────────────────────────────────────────────────────────── */

/* Уведомления: карточки белые, голубыми становятся только при наведении */
html body .egepon-notify-panel,
html body .egepon-notifications,
html body .egepon-notifications-panel{
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:0 18px 55px rgba(31,36,66,.14)!important;
}

html body .egepon-notification,
html body .egepon-notification-item,
html body .egepon-notify-item,
html body .egepon-notifications__item,
html body .egepon-notifications-panel__item,
html body .egepon-notify-panel__item,
html body .egepon-notify-panel li,
html body .egepon-notification-list > *,
html body .egepon-notify-list > *{
  background:#FFFFFF!important;
  background-image:none!important;
  border:1px solid transparent!important;
  color:#1E2240!important;
  box-shadow:none!important;
}

html body .egepon-notification:hover,
html body .egepon-notification-item:hover,
html body .egepon-notify-item:hover,
html body .egepon-notifications__item:hover,
html body .egepon-notifications-panel__item:hover,
html body .egepon-notify-panel__item:hover,
html body .egepon-notify-panel li:hover,
html body .egepon-notification-list > *:hover,
html body .egepon-notify-list > *:hover{
  background:#F4FAFF!important;
  border-color:#CFE7FA!important;
}

html body .egepon-notification.is-unread,
html body .egepon-notification-item.is-unread,
html body .egepon-notify-item.is-unread,
html body .egepon-notifications__item.is-unread,
html body .egepon-notifications-panel__item.is-unread,
html body .egepon-notify-panel__item.is-unread{
  background:#FFFFFF!important;
  border-color:transparent!important;
}

html body .egepon-notification.is-unread:hover,
html body .egepon-notification-item.is-unread:hover,
html body .egepon-notify-item.is-unread:hover,
html body .egepon-notifications__item.is-unread:hover,
html body .egepon-notifications-panel__item.is-unread:hover,
html body .egepon-notify-panel__item.is-unread:hover{
  background:#EAF6FF!important;
  border-color:#BDE2FB!important;
}

/* Уведомления: никакого коричневого текста */
html body .egepon-notification,
html body .egepon-notification *,
html body .egepon-notification-item,
html body .egepon-notification-item *,
html body .egepon-notify-item,
html body .egepon-notify-item *,
html body .egepon-notifications__item,
html body .egepon-notifications__item *,
html body .egepon-notifications-panel__item,
html body .egepon-notifications-panel__item *,
html body .egepon-notify-panel__item,
html body .egepon-notify-panel__item *{
  color:#1E2240!important;
}

html body .egepon-notification p,
html body .egepon-notification time,
html body .egepon-notification small,
html body .egepon-notification-item p,
html body .egepon-notification-item time,
html body .egepon-notification-item small,
html body .egepon-notify-item p,
html body .egepon-notify-item time,
html body .egepon-notify-item small,
html body .egepon-notifications__item p,
html body .egepon-notifications__item time,
html body .egepon-notifications__item small,
html body .egepon-notifications-panel__item p,
html body .egepon-notifications-panel__item time,
html body .egepon-notifications-panel__item small{
  color:#6F83A0!important;
}

html body .egepon-notify-panel a,
html body .egepon-notifications a,
html body .egepon-notifications-panel a{
  color:#3E97E8!important;
}

/* ДЗ/дела дня: добиваем коричневый цвет и старую тёплую палитру в карточках дедлайнов/заданий */
html body .egepon-day-event-card,
html body .egepon-day-event-card *,
html body .egepon-calendar-event-card,
html body .egepon-calendar-event-card *,
html body .egepon-task-card,
html body .egepon-task-card *,
html body .egepon-task-modal,
html body .egepon-task-modal *,
html body .egepon-task-card--empty,
html body .egepon-task-card--empty *,
html body .egepon-empty-card,
html body .egepon-empty-card *,
html body .egepon-loading{
  color:#1E2240!important;
}

html body .egepon-day-event-card p,
html body .egepon-day-event-card small,
html body .egepon-day-event-card time,
html body .egepon-day-event-card .egepon-section__sub,
html body .egepon-calendar-event-card p,
html body .egepon-calendar-event-card small,
html body .egepon-calendar-event-card time,
html body .egepon-calendar-event-card .egepon-section__sub,
html body .egepon-task-card__meta,
html body .egepon-task-card__meta *,
html body .egepon-task-modal__meta,
html body .egepon-task-modal__meta *{
  color:#6F83A0!important;
}

html body .egepon-day-event-card,
html body .egepon-calendar-event-card,
html body .egepon-task-card,
html body .egepon-task-card--empty,
html body .egepon-empty-card{
  background:#FFFFFF!important;
  background-image:none!important;
  border-color:#CFE7FA!important;
}

html body .egepon-day-event-card:hover,
html body .egepon-calendar-event-card:hover,
html body .egepon-task-card:hover{
  background:#F7FCFF!important;
  border-color:#BDE2FB!important;
}

/* Пустые состояния по разделам: белые, текст тёмно-синий */
html body .egepon-empty-card,
html body .egepon-empty-state,
html body .egepon-task-card--empty{
  background:#FFFFFF!important;
  color:#1E2240!important;
  border:1px solid #CFE7FA!important;
  box-shadow:none!important;
}

html body .egepon-empty-card,
html body .egepon-empty-card *,
html body .egepon-task-card--empty .egepon-task-card__title{
  color:#1E2240!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-weight:800!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.5.29 — мощный мобильный фикс + «Проверяется» без гигантских часов
   ───────────────────────────────────────────────────────────── */

/* Статус сданного задания: без эмодзи/картинки часов */
html body .egepon-checking-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:38px!important;
  margin:12px 0 0!important;
  padding:9px 16px!important;
  border-radius:999px!important;
  border:1px solid #BDE2FB!important;
  background:#F4FAFF!important;
  color:#2B7FC8!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
}

html body .egepon-answer-block:empty,
html body .egepon-answer-block.is-waiting,
html body .egepon-answer-block--waiting{
  display:none!important;
}

/* Базовая страховка от горизонтального расползания */
html,
body{
  max-width:100%!important;
  overflow-x:hidden!important;
}

html body .egepon-page,
html body .egepon-dashboard,
html body .egepon-main,
html body .egepon-content{
  box-sizing:border-box!important;
}

/* Постоянная мобильная кнопка меню: не зависит от topbar, поэтому не пропадает при переходах */
html body .egepon-mobile-menu-btn{
  display:none;
}

/* Мобильный слой — переопределяет старые конфликтующие media-правила */
@media (max-width: 760px){
  html,
  body{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    background:#EAF6FF!important;
  }

  html body .egepon-page.egepon-dashboard,
  html body .egepon-page.egepon-dashboard[data-role="student"],
  html body .egepon-page.egepon-dashboard[data-role="teacher"]{
    display:block!important;
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    background:#EAF6FF!important;
    background-image:none!important;
  }

  html body .egepon-page.egepon-dashboard::before,
  html body .egepon-page.egepon-dashboard::after{
    display:none!important;
    content:none!important;
  }

  html body .egepon-mobile-menu-btn{
    position:fixed!important;
    top:14px!important;
    left:14px!important;
    z-index:10050!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    padding:0!important;
    border:1px solid #CFE7FA!important;
    border-radius:18px!important;
    background:#FFFFFF!important;
    background-image:none!important;
    box-shadow:0 10px 26px rgba(31,36,66,.13)!important;
    color:#2B7FC8!important;
    cursor:pointer!important;
  }

  html body .egepon-mobile-menu-btn span{
    display:block!important;
    width:22px!important;
    height:3px!important;
    border-radius:999px!important;
    background:#2B7FC8!important;
  }

  html body.egepon-sidebar-open .egepon-mobile-menu-btn{
    left:calc(min(82vw, 292px) + 10px)!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-sidebar{
    position:fixed!important;
    top:0!important;
    left:0!important;
    bottom:0!important;
    right:auto!important;
    width:min(82vw, 292px)!important;
    min-width:0!important;
    max-width:min(82vw, 292px)!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    z-index:10040!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:0 24px 24px 0!important;
    background:#3E97E8!important;
    box-shadow:18px 0 46px rgba(31,36,66,.18)!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-sidebar.is-open{
    transform:translateX(0)!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-main{
    display:block!important;
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    margin:0!important;
    padding:78px 16px 42px!important;
    overflow-x:hidden!important;
    background:transparent!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-content,
  html body .egepon-page.egepon-dashboard .egepon-student-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
  }

  html body .egepon-topbar__menu,
  html body #egepon-menu-btn{
    display:none!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 22px!important;
    padding:0!important;
    background:transparent!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"]:not([data-student-view-current="overview"]) .egepon-topbar{
    display:none!important;
    height:0!important;
    margin:0!important;
    padding:0!important;
  }

  html body .egepon-topbar__inner{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:start!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  html body .egepon-topbar__right{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    min-width:0!important;
  }

  html body .egepon-notify-btn{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    border-radius:18px!important;
    flex:0 0 52px!important;
  }

  html body .egepon-topbar__id{
    font-size:16px!important;
    white-space:nowrap!important;
  }

  html body .egepon-hero__eyebrow{
    margin-left:66px!important;
    font-size:11px!important;
    line-height:1.25!important;
    letter-spacing:.15em!important;
  }

  html body .egepon-topbar__title,
  html body .egepon-section__title{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:12px 0 16px!important;
    line-height:.98!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }

  html body .egepon-topbar__title .egepon-section__title-main,
  html body .egepon-section__title .egepon-section__title-main,
  html body .egepon-section__title-main{
    display:block!important;
    max-width:100%!important;
    font-size:clamp(34px, 13vw, 54px)!important;
    line-height:.98!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }

  html body .egepon-topbar__title .egepon-section__title-script,
  html body .egepon-section__title .egepon-section__title-script,
  html body .egepon-section__title-script{
    display:block!important;
    max-width:100%!important;
    margin-top:6px!important;
    font-size:clamp(26px, 10vw, 42px)!important;
    line-height:.92!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    opacity:1!important;
  }

  html body .egepon-student-section,
  html body [data-student-view]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  html body .egepon-student-content [data-student-view="overview"].is-active{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    width:100%!important;
  }

  html body .egepon-student-calendar-centered,
  html body .egepon-panel--calendar-large,
  html body .egepon-subject-stats,
  html body .egepon-subject-card,
  html body .egepon-card,
  html body .egepon-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    border-radius:24px!important;
  }

  html body .egepon-student-calendar-centered,
  html body .egepon-panel--calendar-large{
    padding:22px 16px!important;
  }

  html body .egepon-subject-card{
    padding:20px 16px!important;
  }

  html body .egepon-subject-stat-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }

  html body .egepon-subject-stat-grid span{
    min-width:0!important;
    min-height:108px!important;
    padding:16px!important;
  }

  html body .egepon-calendar__header{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    padding:0 0 12px!important;
  }

  html body .egepon-calendar__month-row,
  html body .egepon-calendar__nav,
  html body .egepon-calendar__head{
    width:100%!important;
    max-width:100%!important;
  }

  html body .egepon-calendar__grid,
  html body .egepon-panel--calendar-large .egepon-calendar__grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:6px!important;
    width:100%!important;
  }

  html body .egepon-calendar__weekdays{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    gap:6px!important;
  }

  html body .egepon-calendar-day,
  html body .egepon-panel--calendar-large .egepon-calendar-day{
    min-width:0!important;
    min-height:58px!important;
    height:58px!important;
    padding:7px 2px 18px!important;
    border-radius:14px!important;
  }

  html body .egepon-calendar-day__head,
  html body .egepon-calendar-day__head span{
    justify-content:center!important;
    text-align:center!important;
  }

  html body .egepon-calendar-day__head strong{
    font-size:16px!important;
  }

  html body .egepon-tabs{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    padding:10px!important;
    border-radius:24px!important;
  }

  html body .egepon-tab{
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    border-radius:20px!important;
    font-size:23px!important;
    line-height:1.12!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-align:center!important;
  }

  html body .egepon-task-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:20px 16px!important;
    border-radius:24px!important;
  }

  html body .egepon-task-card__head{
    display:flex!important;
    align-items:flex-start!important;
    gap:10px!important;
    flex-wrap:wrap!important;
  }

  html body .egepon-task-card__title{
    min-width:0!important;
    max-width:100%!important;
    font-size:23px!important;
    line-height:1.1!important;
  }

  html body .egepon-task-card__meta{
    font-size:16px!important;
    line-height:1.35!important;
  }

  html body .egepon-empty-card,
  html body .egepon-task-card--empty{
    width:100%!important;
    max-width:100%!important;
    padding:24px 18px!important;
    border-radius:24px!important;
    text-align:center!important;
    color:#1E2240!important;
    background:#FFFFFF!important;
  }

  html body .egepon-profile-grid,
  html body .egepon-profile-form,
  html body .egepon-form-grid,
  html body .egepon-student-detail-columns{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    gap:16px!important;
  }

  html body input,
  html body textarea,
  html body select,
  html body .egepon-input{
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  html body .egepon-modal__dialog,
  html body .egepon-task-modal__dialog{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-height:calc(100dvh - 28px)!important;
    padding:24px 18px!important;
    border-radius:24px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  html body .egepon-task-modal__header{
    display:block!important;
    padding-right:0!important;
  }

  html body .egepon-task-modal__actions{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:8px!important;
    margin-top:12px!important;
  }

  html body .egepon-task-modal__actions .egepon-btn{
    width:auto!important;
    min-width:132px!important;
  }

  html body .egepon-modal__close,
  html body button.egepon-modal__close{
    top:8px!important;
    right:8px!important;
    z-index:80!important;
  }

  html body .egepon-notify-panel{
    position:fixed!important;
    top:76px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    max-height:60dvh!important;
    overflow-y:auto!important;
    border-radius:22px!important;
    z-index:10060!important;
  }
}

@media (max-width: 380px){
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  html body .egepon-topbar__id{
    font-size:14px!important;
  }
  html body .egepon-subject-stat-grid{
    grid-template-columns:1fr!important;
  }
  html body .egepon-calendar-day,
  html body .egepon-panel--calendar-large .egepon-calendar-day{
    min-height:52px!important;
    height:52px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.30 — добиваем коричневый в ДЗ и фиксируем выпадение карточек из модалки календаря
   ───────────────────────────────────────────────────────────── */

/* 1. Глобально внутри ученических ДЗ запрещаем старую коричневую/бежевую палитру.
   Используем конкретные контейнеры, чтобы не ломать дедлайн-красный и предметные точки календаря. */
html body .egepon-student-section[data-student-view="homework"],
html body .egepon-student-section[data-student-view="homework"] *,
html body #egepon-task-list,
html body #egepon-task-list *,
html body .egepon-task-list,
html body .egepon-task-list *,
html body .egepon-task-card,
html body .egepon-task-card *,
html body .egepon-task-card--empty,
html body .egepon-task-card--empty *,
html body .egepon-empty-card,
html body .egepon-empty-card *,
html body .egepon-task-modal,
html body .egepon-task-modal *,
html body #egepon-task-modal,
html body #egepon-task-modal *,
html body #egepon-task-modal-body,
html body #egepon-task-modal-body *{
  color:#1E2240!important;
  background-image:none!important;
  text-shadow:none!important;
}

/* Пустое состояние ДЗ — не коричневое и без бежевого */
html body .egepon-student-section[data-student-view="homework"] .egepon-empty-card,
html body .egepon-student-section[data-student-view="homework"] .egepon-task-card--empty,
html body #egepon-task-list .egepon-empty-card,
html body #egepon-task-list .egepon-task-card--empty,
html body .egepon-task-card--empty{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:92px!important;
  padding:28px 22px!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  border-radius:24px!important;
  box-shadow:none!important;
  color:#1E2240!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:20px!important;
  font-weight:900!important;
  line-height:1.25!important;
  text-align:center!important;
}

/* Тексты карточек ДЗ */
html body .egepon-task-card{
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:none!important;
}

html body .egepon-task-card:hover{
  background:#F7FCFF!important;
  border-color:#BDE2FB!important;
}

html body .egepon-task-card__title,
html body .egepon-task-card__title *,
html body .egepon-task-card h3,
html body .egepon-task-card h4,
html body .egepon-task-card strong,
html body .egepon-task-card b{
  color:#1E2240!important;
}

html body .egepon-task-card__meta,
html body .egepon-task-card__meta *,
html body .egepon-task-card p,
html body .egepon-task-card small,
html body .egepon-task-card time{
  color:#6F83A0!important;
}

/* Бейджи в карточках ДЗ остаются голубыми, не зелёными/бежевыми */
html body .egepon-task-card__kind,
html body .egepon-task-card__kind--homework,
html body .egepon-task-card .egepon-badge:not(.egepon-badge--deadline){
  background:#EAF6FF!important;
  border:1px solid #BDE2FB!important;
  color:#2B7FC8!important;
}

/* Если где-то старые inline/унаследованные коричневые цвета попали в пустые состояния */
html body .egepon-empty,
html body .egepon-empty *,
html body .egepon-empty-state,
html body .egepon-empty-state *,
html body .egepon-placeholder,
html body .egepon-placeholder *,
html body .egepon-loading,
html body .egepon-loading *{
  color:#1E2240!important;
}

/* 2. Модалка календаря/дел за день: карточки не должны выпадать из белого окна */
html body #egepon-day-modal,
html body .egepon-day-modal,
html body .egepon-calendar-day-modal{
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  overflow:hidden!important;
}

html body #egepon-day-modal .egepon-modal__dialog,
html body .egepon-day-modal .egepon-modal__dialog,
html body .egepon-calendar-day-modal .egepon-modal__dialog,
html body .egepon-modal__dialog:has(.egepon-day-events),
html body .egepon-modal__dialog:has(.egepon-day-event-card),
html body .egepon-modal__dialog:has(.egepon-calendar-event-card){
  position:relative!important;
  width:min(760px, calc(100vw - 48px))!important;
  max-width:calc(100vw - 48px)!important;
  max-height:calc(100dvh - 72px)!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  padding:34px!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  border-radius:32px!important;
  box-shadow:0 28px 80px rgba(31,36,66,.22)!important;
}

/* Заголовок модалки фиксирован сверху, список скроллится внутри */
html body #egepon-day-modal .egepon-modal__dialog > h2,
html body .egepon-day-modal .egepon-modal__dialog > h2,
html body .egepon-calendar-day-modal .egepon-modal__dialog > h2,
html body .egepon-modal__dialog:has(.egepon-day-events) > h2,
html body .egepon-modal__dialog:has(.egepon-day-event-card) > h2,
html body .egepon-modal__dialog:has(.egepon-calendar-event-card) > h2{
  flex:0 0 auto!important;
  margin:0 46px 22px 0!important;
  color:#1E2240!important;
}

/* Все возможные контейнеры списка дел за день */
html body .egepon-day-events,
html body .egepon-day-event-list,
html body .egepon-calendar-day-events,
html body .egepon-calendar-event-list,
html body #egepon-day-events,
html body #egepon-day-modal-body{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:100%!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:0 2px 0 0!important;
  margin:0!important;
  box-sizing:border-box!important;
}

/* Если карточки лежат прямо в диалоге без контейнера — всё равно держим внутри */
html body #egepon-day-modal .egepon-modal__dialog > .egepon-day-event-card,
html body #egepon-day-modal .egepon-modal__dialog > .egepon-calendar-event-card,
html body .egepon-day-modal .egepon-modal__dialog > .egepon-day-event-card,
html body .egepon-day-modal .egepon-modal__dialog > .egepon-calendar-event-card,
html body .egepon-calendar-day-modal .egepon-modal__dialog > .egepon-day-event-card,
html body .egepon-calendar-day-modal .egepon-modal__dialog > .egepon-calendar-event-card{
  flex:0 0 auto!important;
}

/* Карточки дел: белые, внутри модалки, без серого/коричневого */
html body .egepon-day-event-card,
html body .egepon-calendar-event-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0 0 14px!important;
  padding:22px 24px!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  border-radius:24px!important;
  box-shadow:none!important;
  color:#1E2240!important;
}

html body .egepon-day-event-card:last-child,
html body .egepon-calendar-event-card:last-child{
  margin-bottom:0!important;
}

html body .egepon-day-event-card *,
html body .egepon-calendar-event-card *{
  color:#1E2240!important;
  background-image:none!important;
}

html body .egepon-day-event-card p,
html body .egepon-day-event-card small,
html body .egepon-day-event-card time,
html body .egepon-calendar-event-card p,
html body .egepon-calendar-event-card small,
html body .egepon-calendar-event-card time,
html body .egepon-day-event-card .egepon-event-meta,
html body .egepon-calendar-event-card .egepon-event-meta{
  color:#6F83A0!important;
}

/* Дедлайн-бейджи в модалке оставляем красными по смыслу */
html body .egepon-day-event-card .egepon-badge--deadline,
html body .egepon-calendar-event-card .egepon-badge--deadline,
html body .egepon-day-event-card .egepon-event-type--deadline,
html body .egepon-calendar-event-card .egepon-event-type--deadline{
  color:#E95B67!important;
  background:#FFF3F5!important;
  border-color:#FFC9D0!important;
}

/* Пустой день — внутри белой карточки, тёмно-синий */
html body .egepon-day-empty,
html body .egepon-calendar-empty,
html body .egepon-modal__dialog .egepon-empty-card{
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  color:#1E2240!important;
  border-radius:24px!important;
  padding:28px 22px!important;
  text-align:center!important;
  font-weight:900!important;
}

/* На телефоне модалка дня почти на весь экран, но всё равно с внутренней прокруткой */
@media (max-width:760px){
  html body #egepon-day-modal,
  html body .egepon-day-modal,
  html body .egepon-calendar-day-modal{
    padding:12px!important;
  }

  html body #egepon-day-modal .egepon-modal__dialog,
  html body .egepon-day-modal .egepon-modal__dialog,
  html body .egepon-calendar-day-modal .egepon-modal__dialog,
  html body .egepon-modal__dialog:has(.egepon-day-events),
  html body .egepon-modal__dialog:has(.egepon-day-event-card),
  html body .egepon-modal__dialog:has(.egepon-calendar-event-card){
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 28px)!important;
    padding:26px 18px!important;
    border-radius:24px!important;
  }

  html body .egepon-day-event-card,
  html body .egepon-calendar-event-card{
    padding:18px 16px!important;
    border-radius:20px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.31 — мобильный layout 2.0: меню не перекрывает, календарь/ДЗ влезают, вход «Войти»
   ───────────────────────────────────────────────────────────── */

/* Кнопка входа: короткий текст и белая стрелка на ПК и мобильном */
html body .egepon-home .egepon-btn--primary,
html body .egepon-login-form .egepon-btn--primary{
  color:#FFFFFF!important;
}

html body .egepon-btn__arrow{
  color:#FFFFFF!important;
  opacity:1!important;
  font-weight:900!important;
}

/* Не показываем гигантские статусы/эмодзи в проверяемых заданиях */
html body .egepon-checking-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  margin:10px 0 0!important;
  padding:8px 15px!important;
  border-radius:999px!important;
  border:1px solid #BDE2FB!important;
  background:#F4FAFF!important;
  color:#2B7FC8!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
}

/* Мобильная версия: жёсткая защита от горизонтального расползания */
@media (max-width:760px){
  html,
  body{
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    overflow-x:hidden!important;
    background:#EAF6FF!important;
  }

  html body .egepon-page,
  html body .egepon-page *,
  html body .egepon-modal,
  html body .egepon-modal *{
    box-sizing:border-box!important;
  }

  html body .egepon-page.egepon-dashboard,
  html body .egepon-page.egepon-dashboard[data-role="student"],
  html body .egepon-page.egepon-dashboard[data-role="teacher"]{
    display:block!important;
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    min-height:100dvh!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    background:#EAF6FF!important;
    background-image:none!important;
  }

  html body .egepon-page.egepon-dashboard::before,
  html body .egepon-page.egepon-dashboard::after{
    display:none!important;
    content:none!important;
  }

  /* Кнопка меню фиксирована вверху и больше не является частью потока страницы */
  html body .egepon-mobile-menu-btn{
    position:fixed!important;
    top:18px!important;
    left:16px!important;
    z-index:10080!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    padding:0!important;
    border:1px solid #CFE7FA!important;
    border-radius:18px!important;
    background:#FFFFFF!important;
    background-image:none!important;
    box-shadow:0 10px 26px rgba(31,36,66,.13)!important;
    cursor:pointer!important;
  }

  html body .egepon-mobile-menu-btn span{
    display:block!important;
    width:23px!important;
    height:3px!important;
    border-radius:999px!important;
    background:#2B7FC8!important;
  }

  html body.egepon-sidebar-open .egepon-mobile-menu-btn{
    left:calc(min(84vw, 300px) + 10px)!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:min(84vw, 300px)!important;
    max-width:min(84vw, 300px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    transform:translateX(-105%)!important;
    transition:transform .22s ease!important;
    z-index:10070!important;
    border-radius:0 24px 24px 0!important;
    background:#3E97E8!important;
    box-shadow:18px 0 46px rgba(31,36,66,.18)!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-sidebar.is-open{
    transform:translateX(0)!important;
  }

  html body .egepon-topbar__menu,
  html body #egepon-menu-btn{
    display:none!important;
  }

  /* Все разделы опущены ниже фиксированной кнопки меню */
  html body .egepon-page.egepon-dashboard .egepon-main{
    display:block!important;
    width:100%!important;
    max-width:100vw!important;
    min-width:0!important;
    margin:0!important;
    padding:112px 14px 46px!important;
    overflow-x:hidden!important;
    background:transparent!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-content,
  html body .egepon-page.egepon-dashboard .egepon-student-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
  }

  html body .egepon-student-section,
  html body [data-student-view],
  html body .egepon-teacher-section,
  html body [data-teacher-section]{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }

  /* Приветствие на мобильном: не уезжает под кнопку и не перекрывает ID */
  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 18px!important;
    padding:0!important;
    background:transparent!important;
    overflow:visible!important;
  }

  html body .egepon-topbar__inner{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }

  html body .egepon-topbar__right{
    position:absolute!important;
    top:18px!important;
    right:12px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    z-index:5!important;
  }

  html body .egepon-notify-btn{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    border-radius:18px!important;
    flex:0 0 50px!important;
  }

  html body .egepon-topbar__id{
    font-size:15px!important;
    white-space:nowrap!important;
    color:#6F83A0!important;
  }

  html body .egepon-hero__eyebrow{
    margin:0 0 8px 66px!important;
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.14em!important;
    color:#6F83A0!important;
  }

  html body .egepon-topbar__title,
  html body .egepon-section__title{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 18px!important;
    padding:0!important;
    line-height:.98!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    color:#1E2240!important;
  }

  html body .egepon-topbar__title .egepon-section__title-main,
  html body .egepon-section__title .egepon-section__title-main,
  html body .egepon-section__title-main{
    display:block!important;
    max-width:100%!important;
    font-size:clamp(33px, 12vw, 48px)!important;
    line-height:.98!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }

  html body .egepon-topbar__title .egepon-section__title-script,
  html body .egepon-section__title .egepon-section__title-script,
  html body .egepon-section__title-script{
    display:block!important;
    max-width:100%!important;
    margin:6px 0 0!important;
    font-size:clamp(27px, 9vw, 38px)!important;
    line-height:.95!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    color:#55A9EF!important;
    opacity:1!important;
  }

  /* Обзор: сначала календарь, затем вся статистика */
  html body .egepon-student-content [data-student-view="overview"].is-active,
  html body .egepon-student-section[data-student-view="overview"].is-active{
    display:flex!important;
    flex-direction:column!important;
    gap:18px!important;
    width:100%!important;
    max-width:100%!important;
  }

  html body .egepon-student-calendar-centered,
  html body .egepon-panel--calendar-large{
    order:1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:20px 10px 22px!important;
    border-radius:24px!important;
  }

  html body .egepon-subject-stats,
  html body .egepon-stats-column{
    order:2!important;
    display:flex!important;
    flex-direction:column!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }

  html body .egepon-subject-card,
  html body .egepon-card,
  html body .egepon-panel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    border-radius:24px!important;
  }

  html body .egepon-subject-card{
    padding:20px 16px!important;
  }

  html body .egepon-subject-stat-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    width:100%!important;
  }

  html body .egepon-subject-stat-grid span{
    min-width:0!important;
    min-height:102px!important;
    padding:15px!important;
  }

  /* Календарь: шире, ячейки читаемые, цифры не переносятся */
  html body .egepon-calendar,
  html body .egepon-calendar__body,
  html body .egepon-calendar__grid,
  html body .egepon-calendar__weekdays{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }

  html body .egepon-calendar__header{
    display:block!important;
    padding:0 0 10px!important;
  }

  html body .egepon-calendar__month-row,
  html body .egepon-calendar__nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 12px!important;
  }

  html body .egepon-calendar__month{
    font-size:20px!important;
    line-height:1.1!important;
    font-weight:600!important;
    white-space:nowrap!important;
  }

  html body .egepon-calendar__arrow,
  html body .egepon-calendar__nav button,
  html body .egepon-calendar-prev,
  html body .egepon-calendar-next{
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    border-radius:999px!important;
    font-size:24px!important;
    line-height:1!important;
    font-weight:900!important;
    color:#2B7FC8!important;
    cursor:pointer!important;
  }

  html body .egepon-calendar__legend{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px 12px!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    font-size:13px!important;
    line-height:1.2!important;
  }

  html body .egepon-calendar__weekdays{
    display:grid!important;
    grid-template-columns:repeat(7, minmax(0, 1fr))!important;
    gap:2px!important;
    margin:0 0 6px!important;
  }

  html body .egepon-calendar__weekdays span,
  html body .egepon-calendar-weekday{
    min-width:0!important;
    text-align:center!important;
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  html body .egepon-calendar__grid{
    display:grid!important;
    grid-template-columns:repeat(7, minmax(0, 1fr))!important;
    gap:2px!important;
  }

  html body .egepon-calendar-day,
  html body .egepon-panel--calendar-large .egepon-calendar-day{
    position:relative!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    min-width:0!important;
    width:auto!important;
    min-height:48px!important;
    height:48px!important;
    padding:6px 1px 15px!important;
    border-radius:12px!important;
    overflow:visible!important;
  }

  html body .egepon-calendar-day__head,
  html body .egepon-calendar-day__head span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    text-align:center!important;
  }

  html body .egepon-calendar-day__head strong,
  html body .egepon-calendar-day__num,
  html body .egepon-calendar-day span:first-child{
    display:inline-block!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    letter-spacing:0!important;
  }

  html body .egepon-calendar-day__dots,
  html body .egepon-calendar-dots{
    position:absolute!important;
    left:50%!important;
    bottom:5px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
  }

  html body .egepon-calendar-dot{
    width:6px!important;
    height:6px!important;
    min-width:6px!important;
    border-radius:999px!important;
  }

  /* Заголовок расписания в карточке не должен биться на буквы */
  html body .egepon-student-calendar-centered > h2,
  html body .egepon-panel--calendar-large > h2,
  html body .egepon-panel__title{
    font-size:26px!important;
    line-height:1.05!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    margin:0 0 12px!important;
  }

  html body .egepon-student-calendar-centered .egepon-btn,
  html body .egepon-book-oral-btn{
    max-width:100%!important;
    white-space:normal!important;
  }

  /* Домашние задания: слова и вкладки влезают */
  html body .egepon-tabs{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    padding:10px!important;
    border-radius:24px!important;
  }

  html body .egepon-tab{
    width:100%!important;
    min-width:0!important;
    min-height:56px!important;
    border-radius:20px!important;
    font-size:22px!important;
    line-height:1.1!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    text-align:center!important;
  }

  html body .egepon-tab b,
  html body .egepon-tabs .egepon-tab b{
    display:inline-flex!important;
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    margin-left:8px!important;
    font-size:15px!important;
    line-height:1!important;
    vertical-align:middle!important;
  }

  html body .egepon-task-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:18px 14px!important;
    border-radius:22px!important;
  }

  html body .egepon-task-card__head{
    display:grid!important;
    grid-template-columns:auto minmax(0, 1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
  }

  html body .egepon-task-card__kind,
  html body .egepon-task-card .egepon-badge{
    white-space:nowrap!important;
    font-size:13px!important;
    line-height:1!important;
  }

  html body .egepon-task-card__title{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    font-size:22px!important;
    line-height:1.12!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
  }

  html body .egepon-task-card__meta{
    display:block!important;
    width:100%!important;
    font-size:15px!important;
    line-height:1.35!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
  }

  html body .egepon-empty-card,
  html body .egepon-task-card--empty{
    width:100%!important;
    max-width:100%!important;
    min-height:96px!important;
    padding:24px 18px!important;
    border-radius:22px!important;
    font-size:18px!important;
    line-height:1.25!important;
    text-align:center!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    color:#1E2240!important;
    background:#FFFFFF!important;
  }

  /* Модалка ДЗ: больше не разваливается на узком экране */
  html body #egepon-task-modal .egepon-modal__dialog,
  html body .egepon-task-modal.egepon-modal .egepon-modal__dialog,
  html body .egepon-task-modal__dialog{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    min-width:0!important;
    max-height:calc(100dvh - 28px)!important;
    margin:14px auto!important;
    padding:24px 14px 20px!important;
    border-radius:24px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  html body .egepon-task-modal__header{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:0!important;
    margin:0 0 12px!important;
  }

  html body .egepon-task-modal__title{
    width:100%!important;
    max-width:100%!important;
    font-size:26px!important;
    line-height:1.05!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
  }

  html body .egepon-task-modal__meta{
    font-size:15px!important;
    line-height:1.35!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
  }

  html body .egepon-task-modal__buttons,
  html body .egepon-task-modal__buttons--top,
  html body .egepon-task-modal__actions{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    margin:0!important;
  }

  html body .egepon-task-modal__buttons .egepon-btn,
  html body .egepon-task-modal__actions .egepon-btn{
    width:auto!important;
    min-width:112px!important;
    max-width:100%!important;
    padding:11px 16px!important;
    border-radius:16px!important;
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  html body .egepon-question-nav,
  html body .egepon-task-question-nav{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    width:100%!important;
  }

  html body .egepon-question-nav button,
  html body .egepon-task-question-nav button{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    font-size:18px!important;
    line-height:1!important;
  }

  html body .egepon-answer-item,
  html body .egepon-text-block{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:18px 14px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }

  html body .egepon-answer-item__head{
    display:grid!important;
    grid-template-columns:auto minmax(0, 1fr)!important;
    gap:10px!important;
    align-items:start!important;
    width:100%!important;
  }

  html body .egepon-answer-item__num{
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
    font-size:17px!important;
  }

  html body .egepon-answer-item__max{
    grid-column:2!important;
    justify-self:start!important;
    max-width:100%!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    font-size:13px!important;
    line-height:1.2!important;
  }

  html body .egepon-answer-item__text{
    grid-column:1 / -1!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:22px!important;
    line-height:1.28!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    hyphens:none!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
  }

  html body .egepon-answer-input,
  html body .egepon-answer-quill,
  html body .egepon-quill,
  html body .ql-container,
  html body .ql-editor{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    font-size:18px!important;
    line-height:1.35!important;
  }

  html body #egepon-task-modal img,
  html body .egepon-answer-item img,
  html body .egepon-text-block img{
    max-width:100%!important;
    height:auto!important;
    object-fit:contain!important;
  }

  html body .egepon-modal__close,
  html body button.egepon-modal__close{
    top:8px!important;
    right:8px!important;
    z-index:90!important;
  }

  /* Профиль: заголовок и поля не уходят под кнопку */
  html body .egepon-profile-grid,
  html body .egepon-profile-form,
  html body .egepon-form-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
    gap:16px!important;
  }

  html body input,
  html body textarea,
  html body select,
  html body .egepon-input{
    max-width:100%!important;
    box-sizing:border-box!important;
    font-size:18px!important;
  }

  /* Панель уведомлений на телефоне */
  html body .egepon-notify-panel{
    position:fixed!important;
    top:84px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    max-height:60dvh!important;
    overflow-y:auto!important;
    border-radius:22px!important;
    z-index:10090!important;
  }
}

@media (max-width:380px){
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-left:10px!important;
    padding-right:10px!important;
    padding-top:112px!important;
  }

  html body .egepon-calendar__grid,
  html body .egepon-calendar__weekdays{
    gap:1px!important;
  }

  html body .egepon-calendar-day,
  html body .egepon-panel--calendar-large .egepon-calendar-day{
    min-height:44px!important;
    height:44px!important;
    padding-bottom:14px!important;
  }

  html body .egepon-calendar-day__head strong,
  html body .egepon-calendar-day__num,
  html body .egepon-calendar-day span:first-child{
    font-size:14px!important;
  }

  html body .egepon-subject-stat-grid{
    grid-template-columns:1fr!important;
  }

  html body .egepon-task-card__title,
  html body .egepon-answer-item__text{
    font-size:20px!important;
  }

  html body .egepon-tab{
    font-size:20px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.32 — мобильная шапка ниже меню + календарная навигация и круглые точки
   ───────────────────────────────────────────────────────────── */

@media (max-width:760px){
  /* Меню реально фиксируется у верхнего края viewport */
  html body .egepon-mobile-menu-btn{
    position:fixed!important;
    top:14px!important;
    left:14px!important;
    z-index:10100!important;
    margin:0!important;
    transform:none!important;
  }

  /* Уведомления/ID на обзоре — на одном уровне с кнопкой меню */
  html body .egepon-page.egepon-dashboard .egepon-topbar__right{
    position:fixed!important;
    top:14px!important;
    right:12px!important;
    z-index:10095!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    margin:0!important;
    transform:none!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-notify-btn{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    flex:0 0 52px!important;
    border-radius:18px!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-topbar__id{
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }

  /* Все страницы опускаем ниже фиксированной верхней линии, чтобы заголовки не попадали под меню */
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-top:150px!important;
  }

  html body .egepon-student-section,
  html body [data-student-view],
  html body .egepon-teacher-section,
  html body [data-teacher-section]{
    padding-top:0!important;
    margin-top:0!important;
  }

  /* Заголовки разделов дополнительно страхуем от наползания кнопки меню */
  html body .egepon-section__title,
  html body .egepon-page-title,
  html body .egepon-teacher-main-title,
  html body .egepon-student-section > h2:first-child,
  html body .egepon-teacher-section > h2:first-child{
    margin-top:0!important;
    padding-top:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  /* Обзор: приветствие ниже линии меню/уведомлений, без перекрытий */
  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 20px!important;
    padding:0!important;
    background:transparent!important;
    overflow:visible!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-hero__eyebrow,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-hero__eyebrow{
    margin:0 0 8px 64px!important;
    padding:0!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar__title,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar__title{
    margin:0 0 22px!important;
    padding:0!important;
    max-width:100%!important;
  }

  /* Календарная карточка: порядок — заголовок, сам календарь, потом кнопка записи */
  html body .egepon-student-calendar-centered,
  html body .egepon-panel--calendar-large{
    display:flex!important;
    flex-direction:column!important;
  }

  html body .egepon-student-calendar-centered .egepon-panel__head--calendar,
  html body .egepon-panel--calendar-large .egepon-panel__head--calendar{
    display:contents!important;
  }

  html body .egepon-student-calendar-centered .egepon-panel__head--calendar > div,
  html body .egepon-panel--calendar-large .egepon-panel__head--calendar > div{
    order:1!important;
    width:100%!important;
  }

  html body .egepon-student-calendar-centered #egepon-student-schedule,
  html body .egepon-panel--calendar-large #egepon-student-schedule{
    order:2!important;
    width:100%!important;
  }

  html body .egepon-student-calendar-centered .egepon-calendar-slot-btn,
  html body .egepon-panel--calendar-large .egepon-calendar-slot-btn{
    order:3!important;
    align-self:center!important;
    margin:16px auto 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
  }

  /* Календарная навигация: стрелки слева и справа от названия месяца */
  html body .egepon-calendar__header{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 0 12px!important;
    margin:0!important;
  }

  html body .egepon-calendar__header .egepon-calendar__month-title,
  html body .egepon-calendar__month-title,
  html body .egepon-calendar__header h3{
    order:2!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:calc(100% - 96px)!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    font-size:20px!important;
    line-height:1.1!important;
    font-family:Onest, Nunito, system-ui, sans-serif!important;
    font-weight:500!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow--prev,
  html body .egepon-calendar__arrow--prev{
    order:1!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow--next,
  html body .egepon-calendar__arrow--next{
    order:3!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow,
  html body .egepon-calendar__arrow{
    flex:0 0 34px!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#2B7FC8!important;
    font-size:25px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow:hover,
  html body .egepon-calendar__arrow:hover{
    background:#F4FAFF!important;
    color:#1673BD!important;
  }

  /* Ячейки и точки: точки круглые, не сплющиваются, дедлайн без обводки */
  html body .egepon-calendar-day,
  html body .egepon-panel--calendar-large .egepon-calendar-day,
  html body .egepon-student-calendar-centered .egepon-calendar-day,
  html body #egepon-student-schedule .egepon-calendar-day{
    position:relative!important;
    overflow:visible!important;
  }

  html body .egepon-calendar-day__events,
  html body .egepon-calendar-day__dots,
  html body .egepon-calendar-dots{
    position:absolute!important;
    left:50%!important;
    bottom:5px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    width:auto!important;
    height:8px!important;
    min-height:8px!important;
    max-height:8px!important;
    margin:0!important;
    padding:0!important;
    line-height:0!important;
    overflow:visible!important;
    z-index:4!important;
  }

  html body .egepon-calendar-dot,
  html body .egepon-calendar-day__events .egepon-calendar-dot,
  html body .egepon-calendar-day__dots .egepon-calendar-dot,
  html body .egepon-calendar-dots .egepon-calendar-dot{
    display:block!important;
    flex:0 0 7px!important;
    width:7px!important;
    min-width:7px!important;
    max-width:7px!important;
    height:7px!important;
    min-height:7px!important;
    max-height:7px!important;
    aspect-ratio:1 / 1!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:50%!important;
    box-shadow:none!important;
    outline:0!important;
    transform:none!important;
    background:var(--dot-color, #4DA8F0)!important;
  }

  html body .egepon-calendar-dot--deadline,
  html body .egepon-calendar-dot--task_deadline,
  html body .egepon-calendar-dot.is-deadline,
  html body .egepon-calendar-day__events .egepon-calendar-dot--deadline,
  html body .egepon-calendar-day__events .egepon-calendar-dot--task_deadline,
  html body .egepon-calendar-day__events .egepon-calendar-dot.is-deadline{
    background:#E95B67!important;
    border:0!important;
    box-shadow:none!important;
    outline:0!important;
  }
}

@media (max-width:380px){
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-top:148px!important;
  }

  html body .egepon-calendar__header{
    gap:10px!important;
  }

  html body .egepon-calendar__header .egepon-calendar__month-title,
  html body .egepon-calendar__month-title,
  html body .egepon-calendar__header h3{
    font-size:19px!important;
    max-width:calc(100% - 88px)!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow,
  html body .egepon-calendar__arrow{
    flex-basis:32px!important;
    width:32px!important;
    min-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    font-size:24px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.33 — жёсткий мобильный фикс перекрытия меню и шапки календаря
   ───────────────────────────────────────────────────────────── */

@media (max-width:760px){
  /* Фиксированная верхняя строка: меню слева, уведомления справа.
     Она не должна пересекаться с заголовками и приветствием. */
  html body .egepon-mobile-menu-btn{
    position:fixed!important;
    top:14px!important;
    left:14px!important;
    z-index:2147483000!important;
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    margin:0!important;
    transform:none!important;
  }

  html body .egepon-page.egepon-dashboard .egepon-topbar__right{
    position:fixed!important;
    top:14px!important;
    right:12px!important;
    z-index:2147482990!important;
    margin:0!important;
    transform:none!important;
  }

  /* Главный поток начинается ниже верхней фиксированной строки.
     Важно: оставляем большой запас, потому что мобильные браузеры добавляют
     собственные верхние панели/масштабирование. */
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-top:136px!important;
  }

  /* Все обычные заголовки разделов ниже кнопки меню */
  html body .egepon-student-section > .egepon-section__title:first-child,
  html body .egepon-teacher-section > .egepon-section__title:first-child,
  html body .egepon-section__title,
  html body .egepon-page-title,
  html body .egepon-teacher-main-title{
    margin-top:36px!important;
    padding-top:0!important;
    position:relative!important;
    z-index:1!important;
  }

  /* На обзоре приветствие дополнительно опускаем ниже меню/уведомлений.
     Именно это убирает налезание белой кнопки меню на слово «Привет». */
  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
    margin-top:42px!important;
    padding-top:0!important;
    margin-bottom:24px!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-hero__eyebrow,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-hero__eyebrow{
    margin-left:0!important;
    margin-top:0!important;
    margin-bottom:8px!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar__title,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar__title{
    margin-top:0!important;
    margin-bottom:24px!important;
    padding-top:0!important;
    position:relative!important;
    z-index:1!important;
  }

  /* Если браузер всё равно пытается рисовать заголовок под кнопкой — даём первой строке запас слева. */
  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar__title .egepon-section__title-main,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar__title .egepon-section__title-main{
    padding-left:0!important;
  }

  /* Карточка расписания на телефоне без налезаний */
  html body .egepon-student-calendar-centered,
  html body .egepon-panel--calendar-large{
    width:100%!important;
    max-width:100%!important;
    padding:20px 12px 22px!important;
    overflow:visible!important;
  }

  /* Кнопка записи строго под календарём */
  html body .egepon-student-calendar-centered .egepon-panel__head--calendar,
  html body .egepon-panel--calendar-large .egepon-panel__head--calendar{
    display:contents!important;
  }

  html body .egepon-student-calendar-centered #egepon-student-schedule,
  html body .egepon-panel--calendar-large #egepon-student-schedule{
    order:2!important;
    width:100%!important;
  }

  html body .egepon-student-calendar-centered .egepon-calendar-slot-btn,
  html body .egepon-panel--calendar-large .egepon-calendar-slot-btn{
    order:3!important;
    display:inline-flex!important;
    align-self:center!important;
    justify-content:center!important;
    width:auto!important;
    margin:16px auto 0!important;
  }

  /* Сам календарь шире внутри карточки */
  html body #egepon-student-schedule .egepon-calendar,
  html body .egepon-student-calendar-centered .egepon-calendar,
  html body .egepon-panel--calendar-large .egepon-calendar{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding-left:0!important;
    padding-right:0!important;
    overflow:visible!important;
  }

  /* Шапку месяца больше не отдаём flex/grid-конфликтам.
     Стрелки ставятся абсолютно слева/справа от названия месяца. */
  html body .egepon-calendar__header{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:42px!important;
    min-height:42px!important;
    margin:0 0 12px!important;
    padding:0!important;
    text-align:center!important;
    overflow:visible!important;
  }

  html body .egepon-calendar__header .egepon-calendar__month-title,
  html body .egepon-calendar__month-title,
  html body .egepon-calendar__header h3{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%, -50%)!important;
    display:block!important;
    width:auto!important;
    max-width:170px!important;
    margin:0!important;
    padding:0!important;
    text-align:center!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    font-size:18px!important;
    line-height:1!important;
    font-family:Onest, Nunito, system-ui, sans-serif!important;
    font-weight:500!important;
    color:#1E2240!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow,
  html body .egepon-calendar__arrow{
    position:absolute!important;
    top:50%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:34px!important;
    height:34px!important;
    min-width:34px!important;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:translateY(-50%)!important;
    color:#2B7FC8!important;
    font-size:25px!important;
    font-weight:900!important;
    line-height:1!important;
    cursor:pointer!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow--prev,
  html body .egepon-calendar__arrow--prev{
    left:calc(50% - 98px)!important;
    right:auto!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow--next,
  html body .egepon-calendar__arrow--next{
    right:calc(50% - 98px)!important;
    left:auto!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow:hover,
  html body .egepon-calendar__arrow:hover{
    background:#F4FAFF!important;
    color:#1673BD!important;
  }

  /* Точки календаря — всегда круглые, без сжатия */
  html body .egepon-calendar-day__events,
  html body .egepon-calendar-day__dots,
  html body .egepon-calendar-dots{
    position:absolute!important;
    left:50%!important;
    bottom:5px!important;
    transform:translateX(-50%)!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    width:auto!important;
    height:8px!important;
    min-height:8px!important;
    max-height:8px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    line-height:0!important;
  }

  html body .egepon-calendar-dot,
  html body .egepon-calendar-day__events .egepon-calendar-dot{
    display:block!important;
    width:7px!important;
    min-width:7px!important;
    max-width:7px!important;
    height:7px!important;
    min-height:7px!important;
    max-height:7px!important;
    flex:0 0 7px!important;
    aspect-ratio:1 / 1!important;
    padding:0!important;
    margin:0!important;
    border-radius:50%!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    background:var(--dot-color, #4DA8F0)!important;
  }

  html body .egepon-calendar-dot--deadline,
  html body .egepon-calendar-dot--task_deadline,
  html body .egepon-calendar-dot.is-deadline{
    background:#E95B67!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
  }
}

@media (max-width:380px){
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-top:138px!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
    margin-top:46px!important;
  }

  html body .egepon-calendar__header .egepon-calendar__month-title,
  html body .egepon-calendar__month-title,
  html body .egepon-calendar__header h3{
    max-width:150px!important;
    font-size:17px!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow--prev,
  html body .egepon-calendar__arrow--prev{
    left:calc(50% - 88px)!important;
  }

  html body .egepon-calendar__header .egepon-calendar__arrow--next,
  html body .egepon-calendar__arrow--next{
    right:calc(50% - 88px)!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.34 — уведомления выше, все мобильные заголовки ниже
   ───────────────────────────────────────────────────────────── */

@media (max-width:760px){
  /* Фиксированная верхняя линия */
  html body .egepon-mobile-menu-btn{
    position:fixed!important;
    top:14px!important;
    left:14px!important;
    z-index:2147483600!important;
    margin:0!important;
    transform:none!important;
  }

  /* Уведомления и ID физически переносятся JS в body, поэтому теперь точно фиксируются к viewport */
  html body .egepon-topbar__right,
  html body .egepon-mobile-fixed-actions{
    position:fixed!important;
    top:14px!important;
    right:10px!important;
    left:auto!important;
    bottom:auto!important;
    z-index:2147483500!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
    width:auto!important;
    max-width:calc(100vw - 88px)!important;
    min-width:0!important;
    height:52px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    background:transparent!important;
    pointer-events:auto!important;
  }

  html body .egepon-topbar__right .egepon-notify-btn,
  html body .egepon-mobile-fixed-actions .egepon-notify-btn{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    flex:0 0 52px!important;
    margin:0!important;
    border-radius:18px!important;
  }

  html body .egepon-topbar__right .egepon-topbar__id,
  html body .egepon-mobile-fixed-actions .egepon-topbar__id{
    display:inline-flex!important;
    align-items:center!important;
    max-width:calc(100vw - 150px)!important;
    height:52px!important;
    margin:0!important;
    padding:0!important;
    color:#6F83A0!important;
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Главный контент ниже верхней фиксированной линии */
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-top:156px!important;
  }

  /* Все заголовки разделов ниже меню. Это правило специально широкое,
     потому что названия разделов в разных вкладках имеют разные классы. */
  html body .egepon-section__title,
  html body .egepon-page-title,
  html body .egepon-teacher-main-title,
  html body .egepon-student-section > h1:first-child,
  html body .egepon-student-section > h2:first-child,
  html body .egepon-student-section > h3:first-child,
  html body .egepon-teacher-section > h1:first-child,
  html body .egepon-teacher-section > h2:first-child,
  html body .egepon-teacher-section > h3:first-child,
  html body [data-student-view] > h1:first-child,
  html body [data-student-view] > h2:first-child,
  html body [data-student-view] > h3:first-child,
  html body [data-teacher-section] > h1:first-child,
  html body [data-teacher-section] > h2:first-child,
  html body [data-teacher-section] > h3:first-child{
    margin-top:70px!important;
    padding-top:0!important;
    position:relative!important;
    z-index:1!important;
  }

  /* Внутренние заголовки карточек не трогаем, чтобы не ломать карточки */
  html body .egepon-card .egepon-section__title,
  html body .egepon-panel .egepon-section__title,
  html body .egepon-subject-card .egepon-section__title,
  html body .egepon-modal .egepon-section__title{
    margin-top:0!important;
  }

  /* Обзор: приветствие ещё ниже, но уведомления остаются наверху */
  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
    margin-top:58px!important;
    padding-top:0!important;
    margin-bottom:26px!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-hero__eyebrow,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-hero__eyebrow{
    margin-top:0!important;
    margin-left:0!important;
    margin-bottom:10px!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar__title,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar__title{
    margin-top:0!important;
    margin-bottom:28px!important;
    padding-top:0!important;
    max-width:100%!important;
    position:relative!important;
    z-index:1!important;
  }

  /* При переносе .egepon-topbar__right в body, внутри старой topbar не остаётся пустой высоты */
  html body .egepon-topbar__inner{
    display:block!important;
  }

  /* Панель уведомлений тоже под верхней строкой, а не в середине страницы */
  html body .egepon-notify-panel{
    position:fixed!important;
    top:76px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    max-height:62dvh!important;
    margin:0!important;
    z-index:2147483490!important;
  }
}

@media (max-width:380px){
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-top:162px!important;
  }

  html body .egepon-section__title,
  html body .egepon-page-title,
  html body .egepon-teacher-main-title,
  html body .egepon-student-section > h1:first-child,
  html body .egepon-student-section > h2:first-child,
  html body .egepon-student-section > h3:first-child,
  html body .egepon-teacher-section > h1:first-child,
  html body .egepon-teacher-section > h2:first-child,
  html body .egepon-teacher-section > h3:first-child,
  html body [data-student-view] > h1:first-child,
  html body [data-student-view] > h2:first-child,
  html body [data-student-view] > h3:first-child,
  html body [data-teacher-section] > h1:first-child,
  html body [data-teacher-section] > h2:first-child,
  html body [data-teacher-section] > h3:first-child{
    margin-top:76px!important;
  }

  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
    margin-top:66px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.5.35 — фиксим уведомления, заголовки и вкладки ДЗ на телефоне
   ───────────────────────────────────────────────────────────── */

@media (max-width:760px){
  /* Верхняя мобильная строка */
  html body .egepon-mobile-menu-btn{
    position:fixed!important;
    top:14px!important;
    left:14px!important;
    z-index:2147483600!important;
  }

  html body .egepon-mobile-fixed-actions,
  html body > .egepon-topbar__right.egepon-mobile-fixed-actions{
    position:fixed!important;
    top:14px!important;
    right:12px!important;
    left:auto!important;
    bottom:auto!important;
    z-index:2147483500!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:10px!important;
    width:auto!important;
    max-width:calc(100vw - 92px)!important;
    height:54px!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
    background:transparent!important;
    overflow:visible!important;
  }

  /* Кнопка уведомлений: без чёрной обводки, бейдж строго на кнопке */
  html body .egepon-mobile-fixed-actions .egepon-notify-btn,
  html body > .egepon-topbar__right.egepon-mobile-fixed-actions .egepon-notify-btn,
  html body .egepon-notify-btn{
    position:relative!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:54px!important;
    height:54px!important;
    min-width:54px!important;
    flex:0 0 54px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #CFE7FA!important;
    outline:0!important;
    border-radius:18px!important;
    background:#FFFFFF!important;
    box-shadow:0 10px 26px rgba(31,36,66,.13)!important;
    -webkit-tap-highlight-color:transparent!important;
  }

  html body .egepon-mobile-fixed-actions .egepon-notify-btn:focus,
  html body .egepon-mobile-fixed-actions .egepon-notify-btn:focus-visible,
  html body .egepon-mobile-fixed-actions .egepon-notify-btn:active,
  html body .egepon-notify-btn:focus,
  html body .egepon-notify-btn:focus-visible,
  html body .egepon-notify-btn:active{
    outline:0!important;
    border-color:#CFE7FA!important;
    box-shadow:0 10px 26px rgba(31,36,66,.13)!important;
  }

  html body .egepon-notify-btn__bell{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    height:auto!important;
    font-size:23px!important;
    line-height:1!important;
    transform:none!important;
  }

  html body .egepon-mobile-fixed-actions .egepon-notify-btn__count,
  html body .egepon-notify-btn .egepon-notify-btn__count,
  html body #egepon-notify-count{
    position:absolute!important;
    top:-9px!important;
    right:-9px!important;
    left:auto!important;
    bottom:auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:26px!important;
    width:26px!important;
    height:26px!important;
    padding:0!important;
    margin:0!important;
    border-radius:999px!important;
    background:#4DA8F0!important;
    color:#FFFFFF!important;
    font-family:Onest, Nunito, system-ui, sans-serif!important;
    font-size:16px!important;
    font-weight:900!important;
    line-height:1!important;
    border:0!important;
    outline:0!important;
    box-shadow:none!important;
    transform:none!important;
    z-index:3!important;
  }

  html body #egepon-notify-count[hidden]{
    display:none!important;
  }

  html body .egepon-mobile-fixed-actions .egepon-topbar__id,
  html body > .egepon-topbar__right.egepon-mobile-fixed-actions .egepon-topbar__id{
    display:inline-flex!important;
    align-items:center!important;
    max-width:calc(100vw - 164px)!important;
    height:54px!important;
    margin:0!important;
    padding:0!important;
    color:#6F83A0!important;
    font-size:15px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  /* Панель уведомлений всегда из body, сразу под верхней строкой */
  html body .egepon-mobile-fixed-panel,
  html body > .egepon-notify-panel,
  html body #egepon-notify-panel{
    position:fixed!important;
    top:82px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-width:none!important;
    max-height:62dvh!important;
    margin:0!important;
    padding:16px!important;
    z-index:2147483400!important;
    border-radius:22px!important;
    background:#FFFFFF!important;
    border:1px solid #CFE7FA!important;
    box-shadow:0 20px 60px rgba(31,36,66,.16)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }

  /* Основной контент ниже верхней строки. Большой запас нужен, потому что заголовки крупные. */
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-top:182px!important;
  }

  /* На всех внутренних страницах активную секцию опускаем целиком, не только сам текст заголовка */
  html body .egepon-student-section.is-active:not([data-student-view="overview"]),
  html body .egepon-teacher-section.is-active,
  html body [data-student-view].is-active:not([data-student-view="overview"]),
  html body [data-teacher-section].is-active{
    padding-top:72px!important;
  }

  /* Все заголовки ниже меню/уведомлений */
  html body .egepon-section__title,
  html body .egepon-page-title,
  html body .egepon-teacher-main-title,
  html body .egepon-student-section > h1:first-child,
  html body .egepon-student-section > h2:first-child,
  html body .egepon-student-section > h3:first-child,
  html body .egepon-teacher-section > h1:first-child,
  html body .egepon-teacher-section > h2:first-child,
  html body .egepon-teacher-section > h3:first-child,
  html body [data-student-view] > h1:first-child,
  html body [data-student-view] > h2:first-child,
  html body [data-student-view] > h3:first-child,
  html body [data-teacher-section] > h1:first-child,
  html body [data-teacher-section] > h2:first-child,
  html body [data-teacher-section] > h3:first-child{
    margin-top:0!important;
    padding-top:0!important;
    position:relative!important;
    z-index:1!important;
  }

  /* Обзор: верхняя плашка не должна попадать под уведомления */
  html body .egepon-page.egepon-dashboard[data-role="student"][data-student-view-current="overview"] .egepon-topbar,
  html body .egepon-page.egepon-dashboard:has(.egepon-student-section.is-active[data-student-view="overview"]) .egepon-topbar{
    margin-top:64px!important;
    margin-bottom:28px!important;
    padding-top:0!important;
  }

  /* Вкладки ДЗ: текст и кружок-счётчик в одну строку */
  html body .egepon-student-section[data-student-view="homework"] .egepon-tabs,
  html body [data-student-view="homework"] .egepon-tabs,
  html body .egepon-tabs{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:10px!important;
    border-radius:24px!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  html body .egepon-student-section[data-student-view="homework"] .egepon-tabs::-webkit-scrollbar,
  html body [data-student-view="homework"] .egepon-tabs::-webkit-scrollbar,
  html body .egepon-tabs::-webkit-scrollbar{
    display:none!important;
  }

  html body .egepon-student-section[data-student-view="homework"] .egepon-tab,
  html body [data-student-view="homework"] .egepon-tab,
  html body .egepon-tab{
    flex:0 0 auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:136px!important;
    width:auto!important;
    height:56px!important;
    min-height:56px!important;
    padding:0 18px!important;
    border-radius:22px!important;
    font-size:20px!important;
    line-height:1!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    text-align:center!important;
  }

  html body .egepon-student-section[data-student-view="homework"] .egepon-tab b,
  html body [data-student-view="homework"] .egepon-tab b,
  html body .egepon-tab b,
  html body .egepon-tab .egepon-tab-count,
  html body .egepon-tab .count{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    margin:0!important;
    padding:0!important;
    border-radius:999px!important;
    font-size:15px!important;
    line-height:1!important;
    font-weight:900!important;
    vertical-align:middle!important;
    white-space:nowrap!important;
    transform:none!important;
  }

  html body .egepon-tab.is-active b,
  html body .egepon-tab.is-active .egepon-tab-count,
  html body .egepon-tab.is-active .count{
    color:#2B7FC8!important;
    background:rgba(255,255,255,.32)!important;
  }
}

@media (max-width:380px){
  html body .egepon-page.egepon-dashboard .egepon-main{
    padding-top:188px!important;
  }

  html body .egepon-student-section.is-active:not([data-student-view="overview"]),
  html body .egepon-teacher-section.is-active,
  html body [data-student-view].is-active:not([data-student-view="overview"]),
  html body [data-teacher-section].is-active{
    padding-top:82px!important;
  }

  html body .egepon-student-section[data-student-view="homework"] .egepon-tab,
  html body [data-student-view="homework"] .egepon-tab,
  html body .egepon-tab{
    min-width:128px!important;
    height:52px!important;
    min-height:52px!important;
    padding:0 15px!important;
    font-size:18px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.6.0 — компактный календарь на обзоре учителя + фикс модалки дня
   ───────────────────────────────────────────────────────────── */

/* Обзор преподавателя: календарь не растягивается на всю ширину,
   а выглядит как календарь в разделе «Расписание». */
@media (min-width:761px){
  html body .egepon-section[data-section="overview"] .egepon-overview-calendar,
  html body .egepon-overview-calendar{
    width:min(920px, 100%)!important;
    max-width:920px!important;
    margin:42px auto 0!important;
    padding:30px 34px 34px!important;
  }

  html body .egepon-section[data-section="overview"] #egepon-teacher-overview-schedule,
  html body #egepon-teacher-overview-schedule{
    width:100%!important;
    max-width:820px!important;
    margin:0 auto!important;
  }

  html body .egepon-section[data-section="overview"] #egepon-teacher-overview-schedule .egepon-calendar,
  html body #egepon-teacher-overview-schedule .egepon-calendar{
    width:100%!important;
    max-width:820px!important;
    margin:0 auto!important;
    padding:0!important;
  }

  html body .egepon-section[data-section="overview"] #egepon-teacher-overview-schedule .egepon-calendar__grid,
  html body #egepon-teacher-overview-schedule .egepon-calendar__grid,
  html body .egepon-section[data-section="overview"] #egepon-teacher-overview-schedule .egepon-calendar-days,
  html body #egepon-teacher-overview-schedule .egepon-calendar-days{
    gap:12px!important;
  }

  html body .egepon-section[data-section="overview"] #egepon-teacher-overview-schedule .egepon-calendar-day,
  html body #egepon-teacher-overview-schedule .egepon-calendar-day{
    min-height:74px!important;
    height:74px!important;
    border-radius:18px!important;
  }
}

/* Модалка «Дела на день»: список всегда остаётся внутри белого окна.
   Это чинит случай, когда нижние карточки дедлайнов визуально вылезали
   под серую подложку за границы модалки. */
html body #egepon-calendar-event-modal.egepon-modal{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  z-index:999999!important;
  overflow:hidden!important;
}

html body #egepon-calendar-event-modal.egepon-modal[hidden]{
  display:none!important;
}

html body #egepon-calendar-event-modal .egepon-modal__backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:rgba(31,36,66,.34)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}

html body #egepon-calendar-event-modal .egepon-modal__dialog--event{
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  flex-direction:column!important;
  width:min(760px, calc(100vw - 48px))!important;
  max-width:760px!important;
  max-height:calc(100dvh - 56px)!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:34px 34px 30px!important;
  border-radius:34px!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:0 30px 90px rgba(31,36,66,.22)!important;
  color:#1E2240!important;
}

html body #egepon-calendar-event-body{
  display:flex!important;
  flex-direction:column!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
  width:100%!important;
  box-sizing:border-box!important;
}

html body #egepon-calendar-event-body .egepon-modal__title{
  flex:0 0 auto!important;
  margin:0 54px 24px 0!important;
  padding:0!important;
  color:#1E2240!important;
}

html body #egepon-calendar-event-body .egepon-calendar-day-modal-list{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 190px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  padding:0 2px 2px!important;
  margin:0!important;
  box-sizing:border-box!important;
  scrollbar-width:none!important;
}

html body #egepon-calendar-event-body .egepon-calendar-day-modal-list::-webkit-scrollbar{
  display:none!important;
}

html body #egepon-calendar-event-body .egepon-schedule-card,
html body #egepon-calendar-event-body .egepon-card.egepon-schedule-card{
  flex:0 0 auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  border-radius:24px!important;
  box-shadow:none!important;
  color:#1E2240!important;
  overflow:hidden!important;
}

html body #egepon-calendar-event-body .egepon-schedule-card *{
  max-width:100%!important;
  box-sizing:border-box!important;
}

html body #egepon-calendar-event-body .egepon-card-actions,
html body #egepon-calendar-event-body .egepon-card-actions .egepon-btn{
  width:100%!important;
  max-width:100%!important;
}

html body #egepon-calendar-event-body .egepon-card-actions .egepon-btn{
  justify-content:center!important;
}

@media (max-width:760px){
  html body #egepon-calendar-event-modal.egepon-modal{
    padding:12px!important;
    align-items:center!important;
  }

  html body #egepon-calendar-event-modal .egepon-modal__dialog--event{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    padding:28px 18px 22px!important;
    border-radius:26px!important;
  }

  html body #egepon-calendar-event-body .egepon-modal__title{
    margin:0 44px 18px 0!important;
    font-size:30px!important;
    line-height:1.05!important;
  }

  html body #egepon-calendar-event-body .egepon-calendar-day-modal-list{
    max-height:calc(100dvh - 150px)!important;
    gap:14px!important;
  }

  html body #egepon-calendar-event-body .egepon-schedule-card,
  html body #egepon-calendar-event-body .egepon-card.egepon-schedule-card{
    padding:18px 16px!important;
    border-radius:20px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.6.1 — перенос дедлайна, модалка ДЗ, кнопки билдера
   ───────────────────────────────────────────────────────────── */

/* Красивая модалка переноса дедлайна вместо системного prompt */
html body #egepon-move-deadline-modal.egepon-modal{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:24px!important;
  z-index:1000000!important;
  overflow:hidden!important;
}
html body #egepon-move-deadline-modal.egepon-modal[hidden]{display:none!important;}
html body #egepon-move-deadline-modal .egepon-modal__backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(31,36,66,.34)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
html body .egepon-move-deadline-dialog{
  position:relative!important;
  z-index:1!important;
  width:min(560px, calc(100vw - 40px))!important;
  max-width:560px!important;
  max-height:calc(100dvh - 40px)!important;
  overflow:auto!important;
  padding:30px!important;
  border-radius:30px!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:0 30px 90px rgba(31,36,66,.22)!important;
  color:#1E2240!important;
}
html body .egepon-move-deadline-head{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  margin:0 44px 22px 0!important;
}
html body .egepon-move-deadline-icon{
  width:54px!important;
  height:54px!important;
  flex:0 0 54px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:18px!important;
  background:#F4FAFF!important;
  border:1px solid #CFE7FA!important;
  font-size:28px!important;
}
html body .egepon-move-deadline-dialog .egepon-modal__title{
  margin:0 0 6px!important;
  font-size:32px!important;
  line-height:1.05!important;
}
html body .egepon-move-deadline-field{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
  margin:0 0 14px!important;
}
html body .egepon-move-deadline-field span{
  color:#6F83A0!important;
  font-weight:800!important;
}
html body .egepon-move-deadline-field input{
  width:100%!important;
  height:56px!important;
  background:#F4FAFF!important;
  border:1px solid #CFE7FA!important;
  border-radius:18px!important;
  color:#1E2240!important;
  padding:0 16px!important;
  font-size:18px!important;
}
html body .egepon-move-deadline-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:12px!important;
  margin-top:18px!important;
}
html body .egepon-move-deadline-actions .egepon-btn{
  min-width:130px!important;
  height:48px!important;
}

/* Модалка ДЗ/пробника растёт под контент, но не ломает экран */
html body #egepon-task-modal{
  align-items:flex-start!important;
  padding:22px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
html body #egepon-task-modal .egepon-modal__dialog,
html body #egepon-task-modal .egepon-modal__dialog--xwide{
  width:min(1180px, calc(100vw - 44px))!important;
  max-width:1180px!important;
  min-height:auto!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  padding:30px!important;
  margin:18px auto!important;
  box-sizing:border-box!important;
}
html body #egepon-task-modal-body{
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
html body #egepon-task-modal .egepon-task-modal__question,
html body #egepon-task-modal .egepon-q-card,
html body #egepon-task-modal .egepon-question-card,
html body #egepon-task-modal .egepon-grade-q,
html body #egepon-task-modal .egepon-check-question,
html body #egepon-task-modal [class*="question"]{
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
html body #egepon-task-modal .egepon-q-image-wrap,
html body #egepon-task-modal .egepon-q-image-wrap a{
  display:flex!important;
  justify-content:center!important;
  max-width:100%!important;
  width:100%!important;
  background:transparent!important;
  overflow:visible!important;
  border-radius:18px!important;
}
html body #egepon-task-modal img,
html body #egepon-task-modal .egepon-q-image,
html body #egepon-task-modal .egepon-q-image--inline{
  max-width:100%!important;
  width:auto!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain!important;
  border-radius:18px!important;
}

/* Билдер: «Назад» рядом с заголовком, а не отдельной огромной плашкой */
html body .egepon-builder-topbar{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  margin:0 0 36px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
html body .egepon-builder-topbar .egepon-builder-back{
  grid-column:1!important;
  grid-row:1!important;
  width:auto!important;
  min-width:0!important;
  height:46px!important;
  padding:0 18px!important;
  margin:0!important;
  justify-self:start!important;
  border-radius:18px!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  color:#2B7FC8!important;
  box-shadow:none!important;
  font-weight:900!important;
}
html body .egepon-builder-topbar .egepon-hero{
  grid-column:2!important;
  grid-row:1!important;
  margin:0!important;
  min-width:0!important;
}
html body .egepon-builder-topbar .egepon-builder-actions{
  grid-column:3!important;
  grid-row:1!important;
  margin:0!important;
  justify-self:end!important;
}

/* «Выдать ученикам»: голубая/синяя всегда, без красного hover */
html body .egepon-page .egepon-pill-btn--primary,
html body .egepon-page .egepon-pill-btn--primary:hover,
html body .egepon-page .egepon-pill-btn--primary:focus,
html body .egepon-page .egepon-pill-btn--primary:active,
html body .egepon-page #egepon-builder-submit-top,
html body .egepon-page #egepon-builder-submit-top:hover,
html body .egepon-page #egepon-builder-submit-top:focus,
html body .egepon-page #egepon-builder-submit-top:active,
html body .egepon-page .egepon-builder-actions__btn--primary,
html body .egepon-page .egepon-builder-actions__btn--primary:hover,
html body .egepon-page button[data-assign-template],
html body .egepon-page button[data-assign-template]:hover,
html body .egepon-page button[data-assign-task],
html body .egepon-page button[data-assign-task]:hover{
  background:#3F9EE8!important;
  background-image:none!important;
  color:#FFFFFF!important;
  border-color:#3F9EE8!important;
  box-shadow:0 12px 28px rgba(63,158,232,.22)!important;
}
html body .egepon-page .egepon-pill-btn--primary *,
html body .egepon-page #egepon-builder-submit-top *,
html body .egepon-page .egepon-builder-actions__btn--primary *,
html body .egepon-page button[data-assign-template] *,
html body .egepon-page button[data-assign-task] *{
  color:#FFFFFF!important;
  stroke:#FFFFFF!important;
}

@media (max-width:900px){
  html body .egepon-builder-topbar{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  html body .egepon-builder-topbar .egepon-builder-back,
  html body .egepon-builder-topbar .egepon-hero,
  html body .egepon-builder-topbar .egepon-builder-actions{
    grid-column:1!important;
    justify-self:start!important;
  }
  html body .egepon-builder-topbar .egepon-builder-actions{
    width:100%!important;
    display:flex!important;
    flex-wrap:wrap!important;
  }
}

@media (max-width:760px){
  html body #egepon-task-modal{
    padding:10px!important;
  }
  html body #egepon-task-modal .egepon-modal__dialog,
  html body #egepon-task-modal .egepon-modal__dialog--xwide{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    padding:24px 14px!important;
    margin:10px auto!important;
    border-radius:24px!important;
  }
  html body .egepon-move-deadline-dialog{
    padding:26px 18px!important;
    border-radius:24px!important;
  }
  html body .egepon-move-deadline-head{
    gap:12px!important;
    margin-right:38px!important;
  }
  html body .egepon-move-deadline-actions{
    flex-direction:column-reverse!important;
  }
  html body .egepon-move-deadline-actions .egepon-btn{
    width:100%!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.6.2 — просроченные ДЗ, слоты зачётов, кнопка назад в приглашениях
   ───────────────────────────────────────────────────────────── */
html body .egepon-page .egepon-task-card--overdue{
  background:#FFFFFF!important;
  border-color:#FFB8C0!important;
  box-shadow:0 10px 28px rgba(233,91,103,.08)!important;
}
html body .egepon-page .egepon-task-card__status--overdue{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#FFF1F3!important;
  color:#E95B67!important;
  border:1px solid #FFB8C0!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:900!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
}
html body .egepon-page .egepon-task-card--overdue .egepon-task-card__kind{
  background:#FFF1F3!important;
  color:#E95B67!important;
  border-color:#FFB8C0!important;
}

html body .egepon-page .egepon-slot-card__delete{
  margin-top:8px!important;
}
html body .egepon-page .egepon-slot-card .egepon-chip--busy{
  background:#EEF7FF!important;
  color:#2B7FC8!important;
  border-color:#CFE7FA!important;
}

html body .egepon-page .egepon-invites-topbar{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  margin:0 0 22px!important;
}
html body .egepon-page .egepon-invites-topbar .egepon-section__title{
  margin:0!important;
}
html body .egepon-page .egepon-invites-back{
  width:auto!important;
  min-width:0!important;
  height:46px!important;
  padding:0 18px!important;
  margin:0!important;
  border-radius:18px!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  color:#2B7FC8!important;
  box-shadow:none!important;
  font-weight:900!important;
}
html body .egepon-page .egepon-invites-back:hover{
  background:#EEF7FF!important;
  color:#2B7FC8!important;
  border-color:#B8DEFA!important;
}
@media (max-width:760px){
  html body .egepon-page .egepon-invites-topbar{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:12px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.6.3 — teacher issued tasks / picker / profile controls
   ───────────────────────────────────────────────────────────── */
html body .egepon-page section[data-section="tasks"] .egepon-section-card,
html body .egepon-page section[data-section="tasks"] .egepon-filters,
html body .egepon-page section[data-section="tasks"] #egepon-tasks-list,
html body .egepon-page section[data-section="check"] .egepon-section-card,
html body .egepon-page section[data-section="check"] #egepon-check-list{
  background:rgba(255,255,255,.96)!important;
  border-color:#D7EAFA!important;
  color:#18213F!important;
}
html body .egepon-page section[data-section="tasks"] .egepon-filters{
  padding:8px!important;
  border:1px solid #CFE7FA!important;
  border-radius:28px!important;
  box-shadow:none!important;
}
html body .egepon-page section[data-section="tasks"] .egepon-tab,
html body .egepon-page section[data-section="check"] .egepon-tab{
  background:#F7FCFF!important;
  border-color:#CFE7FA!important;
  color:#18213F!important;
}
html body .egepon-page section[data-section="tasks"] .egepon-tab.is-active,
html body .egepon-page section[data-section="check"] .egepon-tab.is-active{
  background:#4DA8F0!important;
  color:#fff!important;
  border-color:#4DA8F0!important;
}
html body .egepon-page section[data-section="tasks"] .egepon-task-card,
html body .egepon-page section[data-section="check"] .egepon-task-card{
  background:#FFFFFF!important;
  border-color:#CFE7FA!important;
  color:#18213F!important;
}
html body .egepon-page .egepon-task-card__kind--homework,
html body .egepon-page section[data-section="tasks"] .egepon-task-card__kind,
html body .egepon-page section[data-section="check"] .egepon-task-card__kind{
  background:#EEF7FF!important;
  color:#2B7FC8!important;
  border-color:#CFE7FA!important;
}
html body .egepon-page .egepon-task-card__recall{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:38px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  border:1px solid #FFB8C0!important;
  background:#FFF7F8!important;
  color:#E95B67!important;
  font-family:Onest,Nunito,sans-serif!important;
  font-size:13px!important;
  font-weight:900!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  transition:.18s ease!important;
}
html body .egepon-page .egepon-task-card__recall:hover{
  background:#E95B67!important;
  color:#fff!important;
  transform:translateY(-1px)!important;
}

html body .egepon-page .egepon-chip--student{
  position:relative!important;
  border:1px solid #CFE7FA!important;
  transition:.16s ease!important;
}
html body .egepon-page .egepon-chip--student.is-checked{
  background:#4DA8F0!important;
  border-color:#4DA8F0!important;
  color:#fff!important;
  box-shadow:0 10px 22px rgba(77,168,240,.22)!important;
  transform:translateY(-1px)!important;
}
html body .egepon-page .egepon-chip--student.is-checked .egepon-chip__av{
  background:rgba(255,255,255,.22)!important;
  color:#fff!important;
}
html body .egepon-page .egepon-chip__check{
  display:none!important;
  width:22px!important;
  height:22px!important;
  border-radius:999px!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff!important;
  color:#2B7FC8!important;
  font-weight:1000!important;
  margin-left:4px!important;
  flex:0 0 auto!important;
}
html body .egepon-page .egepon-chip--student.is-checked .egepon-chip__check{display:inline-flex!important;}

html body .egepon-page .egepon-builder-topbar{
  align-items:center!important;
}
html body .egepon-page .egepon-hero__title{
  font-family:Unbounded,Onest,sans-serif!important;
  font-size:56px!important;
  line-height:1.04!important;
  letter-spacing:-.04em!important;
  margin:0!important;
  color:#18213F!important;
}
html body .egepon-page .egepon-hero__title-script{
  font-family:Caveat,cursive!important;
  font-size:.78em!important;
  letter-spacing:0!important;
  color:#4DA8F0!important;
}
@media (max-width:900px){
  html body .egepon-page .egepon-hero__title{font-size:42px!important;}
}
@media (max-width:520px){
  html body .egepon-page .egepon-hero__title{font-size:34px!important;}
}

html body .egepon-page .egepon-profile-icon-picker,
html body .egepon-page .egepon-profile-color-picker{
  position:relative!important;
  display:flex!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
}
html body .egepon-page .egepon-profile-icon-picker input{
  flex:1 1 auto!important;
  min-width:0!important;
}
html body .egepon-page .egepon-profile-icon-trigger{
  width:58px!important;
  height:58px!important;
  border-radius:20px!important;
  border:1px solid #CFE7FA!important;
  background:#EEF7FF!important;
  color:#18213F!important;
  font-size:24px!important;
  cursor:pointer!important;
  box-shadow:0 8px 20px rgba(77,168,240,.12)!important;
}
html body .egepon-page .egepon-profile-emoji-panel{
  position:absolute!important;
  z-index:50!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  width:min(360px, 90vw)!important;
  max-height:250px!important;
  overflow:auto!important;
  padding:14px!important;
  border-radius:24px!important;
  background:#fff!important;
  border:1px solid #CFE7FA!important;
  box-shadow:0 18px 50px rgba(24,33,63,.14)!important;
  display:grid!important;
  grid-template-columns:repeat(8,1fr)!important;
  gap:8px!important;
}
html body .egepon-page .egepon-profile-emoji-panel[hidden]{display:none!important;}
html body .egepon-page .egepon-profile-emoji{
  width:34px!important;
  height:34px!important;
  border-radius:12px!important;
  border:1px solid transparent!important;
  background:#F7FCFF!important;
  cursor:pointer!important;
  font-size:19px!important;
}
html body .egepon-page .egepon-profile-emoji:hover{
  background:#EEF7FF!important;
  border-color:#CFE7FA!important;
}
html body .egepon-page .egepon-profile-color-picker input[type="color"]{
  width:84px!important;
  height:58px!important;
  padding:6px!important;
  border-radius:20px!important;
  background:#F7FCFF!important;
  border:1px solid #CFE7FA!important;
  cursor:pointer!important;
}
html body .egepon-page .egepon-profile-color-swatches{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
}
html body .egepon-page .egepon-color-swatch{
  width:34px!important;
  height:34px!important;
  border-radius:999px!important;
  border:3px solid #fff!important;
  outline:1px solid #CFE7FA!important;
  background:var(--swatch)!important;
  cursor:pointer!important;
  box-shadow:0 6px 14px rgba(24,33,63,.10)!important;
}
html body .egepon-page .egepon-color-swatch.is-active{
  outline:3px solid #4DA8F0!important;
  transform:scale(1.08)!important;
}
html body .egepon-page .egepon-profile-quill{
  min-height:170px!important;
  background:#F7FCFF!important;
  border-color:#CFE7FA!important;
  border-radius:20px!important;
}
html body .egepon-page .egepon-teacher-about-field .ql-toolbar{
  border-color:#CFE7FA!important;
  border-radius:20px 20px 0 0!important;
  background:#fff!important;
}
html body .egepon-page .egepon-teacher-about-field .ql-container{
  border-color:#CFE7FA!important;
  border-radius:0 0 20px 20px!important;
  min-height:140px!important;
  font-family:Onest,Nunito,sans-serif!important;
  font-size:16px!important;
}

html body .egepon-photo-crop-dialog{
  max-width:520px!important;
}
html body .egepon-photo-crop-preview{
  width:190px!important;
  height:190px!important;
  margin:18px auto!important;
  border-radius:34px!important;
  overflow:hidden!important;
  background:#EEF7FF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:0 18px 40px rgba(77,168,240,.18)!important;
}
html body .egepon-photo-crop-preview img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
html body .egepon-photo-crop-grid{
  display:grid!important;
  grid-template-columns:repeat(3,54px)!important;
  justify-content:center!important;
  gap:8px!important;
  margin:12px 0 18px!important;
}
html body .egepon-photo-pos-btn{
  height:46px!important;
  border-radius:16px!important;
  border:1px solid #CFE7FA!important;
  background:#F7FCFF!important;
  color:#2B7FC8!important;
  font-size:20px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
html body .egepon-photo-pos-btn.is-active{
  background:#4DA8F0!important;
  border-color:#4DA8F0!important;
  color:#fff!important;
}
html body .egepon-photo-crop-actions{
  display:flex!important;
  gap:10px!important;
  justify-content:flex-end!important;
}

/* v4.6.3-extra — убираем остатки бежевого в карточках выданных заданий */
html body .egepon-page section[data-section="tasks"] .egepon-task-card__icon--avatar,
html body .egepon-page section[data-section="check"] .egepon-task-card__icon--avatar{
  background:#EEF7FF!important;
  border:1px solid #CFE7FA!important;
  color:#18213F!important;
  box-shadow:0 5px 14px rgba(77,168,240,.12)!important;
}
html body .egepon-page section[data-section="tasks"] .egepon-task-card__head,
html body .egepon-page section[data-section="check"] .egepon-task-card__head{
  background:transparent!important;
}


/* ─────────────────────────────────────────────────────────────
   v4.6.4 — профиль учителя без лишнего, overdue, модалки ДЗ
   ───────────────────────────────────────────────────────────── */
/* В профиле: подложка у блоков выбора иконки/цвета белая, не голубая */
html body .egepon-page .egepon-profile-icon-field,
html body .egepon-page .egepon-profile-color-field,
html body .egepon-page .egepon-profile-icon-picker,
html body .egepon-page .egepon-profile-color-picker,
html body .egepon-page #egepon-teacher-icon-picker,
html body .egepon-page #egepon-teacher-color-picker,
html body .egepon-page #egepon-teacher-color-swatches{
  background:#FFFFFF!important;
  background-image:none!important;
}
html body .egepon-page .egepon-profile-icon-picker input,
html body .egepon-page .egepon-profile-color-picker input[type="color"]{
  background:#F4FAFF!important;
}

/* Кадрирование полностью скрыто и не всплывает */
html body #egepon-photo-crop-modal,
html body .egepon-photo-crop-modal,
html body .egepon-photo-crop-dialog{display:none!important;}

/* Просроченность должна быть очевидной и без старого бежевого */
html body .egepon-page .egepon-task-card--overdue{
  background:#FFFFFF!important;
  border-color:#FFB8C0!important;
  box-shadow:0 10px 28px rgba(233,91,103,.08)!important;
}
html body .egepon-page .egepon-task-card__status--overdue{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:34px!important;
  padding:0 13px!important;
  border-radius:999px!important;
  background:#FFF1F3!important;
  color:#E95B67!important;
  border:1px solid #FFB8C0!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
html body .egepon-page .egepon-task-card__head{
  gap:12px!important;
}

/* Жёстко чистим бежевый в выданных/проверке и фильтрах */
html body .egepon-page section[data-section="tasks"] .egepon-section-card,
html body .egepon-page section[data-section="tasks"] .egepon-filters,
html body .egepon-page section[data-section="tasks"] #egepon-tasks-list,
html body .egepon-page section[data-section="check"] .egepon-section-card,
html body .egepon-page section[data-section="check"] #egepon-check-list,
html body .egepon-page section[data-section="tasks"] .egepon-task-card,
html body .egepon-page section[data-section="check"] .egepon-task-card,
html body .egepon-page section[data-section="tasks"] .egepon-task-card__head,
html body .egepon-page section[data-section="check"] .egepon-task-card__head,
html body .egepon-page section[data-section="tasks"] .egepon-tab,
html body .egepon-page section[data-section="check"] .egepon-tab{
  background:#FFFFFF!important;
  background-image:none!important;
  border-color:#CFE7FA!important;
  color:#18213F!important;
}
html body .egepon-page section[data-section="tasks"] .egepon-tab.is-active,
html body .egepon-page section[data-section="check"] .egepon-tab.is-active{
  background:#3F9EE8!important;
  color:#FFFFFF!important;
  border-color:#3F9EE8!important;
}
html body .egepon-page section[data-section="tasks"] .egepon-task-card__kind,
html body .egepon-page section[data-section="check"] .egepon-task-card__kind,
html body .egepon-page .egepon-task-card__kind--mock,
html body .egepon-page .egepon-task-card__kind--homework{
  background:#EEF7FF!important;
  color:#2B7FC8!important;
  border:1px solid #CFE7FA!important;
}

/* Модалки просмотра/проверки ДЗ: содержимое остаётся внутри белой рамки, длинные картинки не ломают окно */
html body #egepon-grade-modal.egepon-modal,
html body #egepon-task-modal.egepon-modal{
  position:fixed!important;
  inset:0!important;
  align-items:flex-start!important;
  justify-content:center!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:24px!important;
  z-index:1000000!important;
}
html body #egepon-grade-modal .egepon-modal__backdrop,
html body #egepon-task-modal .egepon-modal__backdrop{
  position:fixed!important;
  inset:0!important;
  background:rgba(31,36,66,.34)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
html body #egepon-grade-modal .egepon-modal__dialog,
html body #egepon-grade-modal .egepon-modal__dialog--xwide,
html body #egepon-task-modal .egepon-modal__dialog,
html body #egepon-task-modal .egepon-modal__dialog--xwide{
  position:relative!important;
  z-index:1!important;
  width:min(1180px, calc(100vw - 48px))!important;
  max-width:1180px!important;
  max-height:none!important;
  height:auto!important;
  min-height:auto!important;
  overflow:visible!important;
  margin:20px auto!important;
  padding:34px!important;
  border-radius:32px!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  box-shadow:0 30px 90px rgba(31,36,66,.22)!important;
  box-sizing:border-box!important;
}
html body #egepon-grade-modal-body,
html body #egepon-task-modal-body,
html body #egepon-grade-questions,
html body #egepon-task-modal .egepon-task-modal__question,
html body #egepon-grade-modal .egepon-answer-item,
html body #egepon-task-modal .egepon-answer-item,
html body #egepon-grade-modal .egepon-text-block,
html body #egepon-task-modal .egepon-text-block{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
html body #egepon-grade-modal .egepon-q-attachments,
html body #egepon-task-modal .egepon-q-attachments,
html body #egepon-grade-modal .egepon-q-image-wrap,
html body #egepon-task-modal .egepon-q-image-wrap,
html body #egepon-grade-modal .egepon-q-image-wrap a,
html body #egepon-task-modal .egepon-q-image-wrap a{
  display:flex!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-sizing:border-box!important;
}
html body #egepon-grade-modal img,
html body #egepon-task-modal img,
html body #egepon-grade-modal .egepon-q-image,
html body #egepon-task-modal .egepon-q-image,
html body #egepon-grade-modal .egepon-q-image--inline,
html body #egepon-task-modal .egepon-q-image--inline{
  display:block!important;
  max-width:min(100%, 560px)!important;
  max-height:none!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:20px!important;
  margin:12px auto!important;
}
html body #egepon-grade-modal .egepon-answer-item__head,
html body #egepon-task-modal .egepon-answer-item__head{
  align-items:flex-start!important;
  gap:14px!important;
  min-width:0!important;
}
html body #egepon-grade-modal .egepon-answer-item__text,
html body #egepon-task-modal .egepon-answer-item__text{
  min-width:0!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
@media (max-width:760px){
  html body #egepon-grade-modal.egepon-modal,
  html body #egepon-task-modal.egepon-modal{padding:10px!important;}
  html body #egepon-grade-modal .egepon-modal__dialog,
  html body #egepon-grade-modal .egepon-modal__dialog--xwide,
  html body #egepon-task-modal .egepon-modal__dialog,
  html body #egepon-task-modal .egepon-modal__dialog--xwide{
    width:calc(100vw - 20px)!important;
    max-width:calc(100vw - 20px)!important;
    margin:10px auto!important;
    padding:24px 14px!important;
    border-radius:24px!important;
  }
  html body #egepon-grade-modal img,
  html body #egepon-task-modal img,
  html body #egepon-grade-modal .egepon-q-image,
  html body #egepon-task-modal .egepon-q-image{
    max-width:100%!important;
    border-radius:16px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.6.5 — группы, тренажёры, фон модалок, стабильность второго учителя
   ───────────────────────────────────────────────────────────── */
html body .egepon-page .egepon-groups-topbar{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  margin:0 0 14px!important;
}
html body .egepon-page .egepon-groups-topbar .egepon-section__title{margin:0!important;}
html body .egepon-page .egepon-groups-back{
  width:auto!important;
  min-width:0!important;
  height:46px!important;
  padding:0 18px!important;
  margin:0!important;
  border-radius:18px!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  color:#2B7FC8!important;
  box-shadow:none!important;
  font-weight:900!important;
}
html body .egepon-page .egepon-groups-back:hover{
  background:#EEF7FF!important;
  color:#2B7FC8!important;
  border-color:#B8DEFA!important;
}
html body .egepon-page #egepon-trainer-new{display:none!important;}
html body .egepon-page .egepon-panel-head--solo{
  justify-content:flex-start!important;
}

/* Однотонная подложка модалок проверки/просмотра без полос от страницы за окном */
html body #egepon-grade-modal.egepon-modal,
html body #egepon-task-modal.egepon-modal{
  background:rgba(31,36,66,.42)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  isolation:isolate!important;
}
html body #egepon-grade-modal .egepon-modal__backdrop,
html body #egepon-task-modal .egepon-modal__backdrop{
  background:rgba(31,36,66,.42)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Картинки и длинные ДЗ в проверке/просмотре: сохраняем белое окно и не даём фону вылезать полосами */
html body #egepon-grade-modal .egepon-modal__dialog,
html body #egepon-task-modal .egepon-modal__dialog{
  background:#FFFFFF!important;
  overflow:visible!important;
}
html body #egepon-grade-modal .egepon-answer-item,
html body #egepon-task-modal .egepon-answer-item,
html body #egepon-grade-modal .egepon-task-modal__question,
html body #egepon-task-modal .egepon-task-modal__question{
  background:#FFFFFF!important;
}

@media (max-width:760px){
  html body .egepon-page .egepon-groups-topbar{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:12px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.6.6 — регистрация по инвайту и адаптивный заголовок
   ───────────────────────────────────────────────────────────── */
body.egepon-body .egepon-home .egepon-invite-register-card,
body .egepon-home .egepon-invite-register-card{
  width:min(520px, calc(100vw - 28px))!important;
  max-width:520px!important;
  padding:34px 42px 38px!important;
}
body.egepon-body .egepon-home .egepon-invite-register-title,
body .egepon-home .egepon-invite-register-title{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:4px!important;
  font-size:clamp(30px, 4vw, 48px)!important;
  line-height:.92!important;
  letter-spacing:-.055em!important;
  max-width:100%!important;
  text-wrap:balance!important;
}
body.egepon-body .egepon-home .egepon-invite-register-title span,
body .egepon-home .egepon-invite-register-title span{
  display:block!important;
  white-space:nowrap!important;
  max-width:100%!important;
}
body.egepon-body .egepon-home .egepon-invite-register-card .egepon-home__login-sub,
body .egepon-home .egepon-invite-register-card .egepon-home__login-sub{
  font-size:20px!important;
  line-height:1.35!important;
}
body.egepon-body .egepon-home .egepon-invite-register-card .egepon-input,
body.egepon-body .egepon-home .egepon-invite-register-card .egepon-btn,
body .egepon-home .egepon-invite-register-card .egepon-input,
body .egepon-home .egepon-invite-register-card .egepon-btn{
  min-height:54px!important;
  font-size:18px!important;
}
@media (max-width:560px){
  body.egepon-body .egepon-home .egepon-invite-register-card,
  body .egepon-home .egepon-invite-register-card{
    width:min(100%, calc(100vw - 22px))!important;
    padding:28px 18px 32px!important;
  }
  body.egepon-body .egepon-home .egepon-invite-register-title,
  body .egepon-home .egepon-invite-register-title{
    font-size:clamp(24px, 6.3vw, 30px)!important;
    line-height:.98!important;
  }
  body.egepon-body .egepon-home .egepon-invite-register-card .egepon-home__login-sub,
  body .egepon-home .egepon-invite-register-card .egepon-home__login-sub{
    font-size:17px!important;
  }
  body.egepon-body .egepon-home .egepon-invite-register-card .egepon-input,
  body.egepon-body .egepon-home .egepon-invite-register-card .egepon-btn,
  body .egepon-home .egepon-invite-register-card .egepon-input,
  body .egepon-home .egepon-invite-register-card .egepon-btn{
    min-height:50px!important;
    font-size:16px!important;
  }
}


/* ─────────────────────────────────────────────────────────────
   v4.6.7 — слоты зачётов: выбор учеников и аккуратные карточки
   ───────────────────────────────────────────────────────────── */
html body .egepon-page .egepon-students-toolbar{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
html body .egepon-page .egepon-students-search,
html body .egepon-page .egepon-students-search__input{
  background:#EEF7FF!important;
}
html body .egepon-page .egepon-slot-students-field{
  margin:18px 0 16px!important;
  padding:18px!important;
  border:1px solid #CFE7FA!important;
  border-radius:24px!important;
  background:#FFFFFF!important;
}
html body .egepon-page .egepon-slot-students-field__head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 12px!important;
  color:#6D83A0!important;
  font-weight:800!important;
  font-size:16px!important;
}
html body .egepon-page .egepon-slot-students-actions{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}
html body .egepon-page .egepon-chip--tiny{
  min-height:34px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  font-size:14px!important;
  color:#2B7FC8!important;
  background:#EEF7FF!important;
  border:1px solid #CFE7FA!important;
  font-weight:900!important;
}
html body .egepon-page .egepon-student-picker--slots{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  align-items:center!important;
}
html body .egepon-page .egepon-chip--slot-student{
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  color:#6D83A0!important;
  min-height:46px!important;
  padding:6px 12px 6px 8px!important;
}
html body .egepon-page .egepon-chip--slot-student.is-checked{
  background:#EEF7FF!important;
  border-color:#9DD7FF!important;
  color:#2B7FC8!important;
  box-shadow:0 8px 20px rgba(43,127,200,.08)!important;
}
html body .egepon-page #egepon-teacher-slots.egepon-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))!important;
  gap:18px!important;
  align-items:start!important;
  margin-top:18px!important;
}
html body .egepon-page .egepon-slot-card--compact{
  padding:22px!important;
  min-height:0!important;
  height:auto!important;
  border-radius:28px!important;
  background:#FFFFFF!important;
  box-shadow:0 16px 38px rgba(43,127,200,.08)!important;
}
html body .egepon-page .egepon-slot-card__top{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 12px!important;
}
html body .egepon-page .egepon-slot-card__date{
  color:#6D83A0!important;
  font-weight:800!important;
  font-size:14px!important;
  line-height:1.25!important;
  text-align:right!important;
}
html body .egepon-page .egepon-slot-card--compact h3{
  margin:0 0 8px!important;
  font-size:20px!important;
  line-height:1.15!important;
}
html body .egepon-page .egepon-slot-card__audience,
html body .egepon-page .egepon-slot-card__link{
  margin:0 0 10px!important;
  color:#6D83A0!important;
  font-size:15px!important;
  line-height:1.35!important;
}
html body .egepon-page .egepon-slot-card--compact .egepon-slot-card__delete{
  width:100%!important;
  margin-top:12px!important;
  min-height:44px!important;
  border-radius:18px!important;
}
@media (max-width:760px){
  html body .egepon-page .egepon-slot-students-field{padding:14px!important;border-radius:20px!important;}
  html body .egepon-page .egepon-slot-students-field__head{align-items:flex-start!important;flex-direction:column!important;}
  html body .egepon-page #egepon-teacher-slots.egepon-grid{grid-template-columns:1fr!important;}
  html body .egepon-page .egepon-slot-card__top{align-items:flex-start!important;flex-direction:column!important;}
  html body .egepon-page .egepon-slot-card__date{text-align:left!important;}
}


/* v4.6.10 — автоматический пирог цветов преподавателей в профиле ученика */
.egepon-page .egepon-sidebar__avatar,
.egepon-page .egepon-profile-avatar-large{
  position:relative!important;
  overflow:visible!important;
}
.egepon-page .egepon-sidebar__subject-pie{
  position:absolute!important;
  right:-5px!important;
  bottom:-5px!important;
  width:24px!important;
  height:24px!important;
  border-radius:999px!important;
  border:3px solid rgba(255,255,255,.96)!important;
  box-shadow:0 8px 18px rgba(18,87,143,.14)!important;
  pointer-events:none!important;
  z-index:3!important;
}
.egepon-page .egepon-profile-avatar-large .egepon-sidebar__subject-pie{
  width:32px!important;
  height:32px!important;
  right:-2px!important;
  bottom:-2px!important;
  border-width:4px!important;
}
.egepon-page .egepon-profile-subject-pie-caption{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:8px 0 0!important;
  color:var(--eg-muted,#6F83A0)!important;
  font-weight:800!important;
  font-size:14px!important;
}
.egepon-page .egepon-profile-subject-pie-mini{
  display:inline-block!important;
  width:18px!important;
  height:18px!important;
  border-radius:999px!important;
  border:2px solid #fff!important;
  box-shadow:0 5px 12px rgba(18,87,143,.12)!important;
  flex:0 0 18px!important;
}
@media (max-width:760px){
  .egepon-page .egepon-sidebar__subject-pie{width:22px!important;height:22px!important;right:-4px!important;bottom:-4px!important;}
  .egepon-page .egepon-profile-avatar-large .egepon-sidebar__subject-pie{width:30px!important;height:30px!important;}
}


/* v4.6.11 — пирог цветов не накладывается на аватарку ученика */
.egepon-page .egepon-sidebar__avatar > .egepon-sidebar__subject-pie,
.egepon-page .egepon-profile-avatar-large > .egepon-sidebar__subject-pie{
  display:none!important;
}

/* v4.6.14 — confirmation modal must always stay above task/day modals */
html body #egepon-confirm-modal.egepon-modal:not([hidden]){
  z-index:2147483000!important;
}
html body #egepon-confirm-modal .egepon-modal__backdrop{
  z-index:0!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__dialog{
  position:relative!important;
  z-index:2!important;
  width:min(560px, calc(100vw - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:auto!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  border-radius:28px!important;
  box-shadow:0 28px 90px rgba(31,36,66,.22)!important;
  padding:30px!important;
  color:#1E2240!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__title{
  margin:0 34px 10px 0!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:26px!important;
  line-height:1.12!important;
  font-weight:900!important;
  color:#1E2240!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__text{
  margin:0 0 22px!important;
  color:#6D83A0!important;
  font-size:17px!important;
  line-height:1.45!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:12px!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__close{
  position:absolute!important;
  right:18px!important;
  top:16px!important;
  width:34px!important;
  height:34px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#2B7FC8!important;
  font-size:28px!important;
  line-height:1!important;
  cursor:pointer!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__actions button:empty,
html body #egepon-confirm-modal [data-confirm-cancel]:empty{
  display:none!important;
}

/* v4.6.14 — no duplicated “Дедлайн:” prefix in day-modal titles */
html body .egepon-schedule-card--deadline h3{
  color:#1E2240!important;
}

/* v4.6.14 — confirmation modal must always stay above task/day modals */
html body #egepon-confirm-modal.egepon-modal:not([hidden]){
  z-index:2147483000!important;
}
html body #egepon-confirm-modal .egepon-modal__backdrop{
  z-index:0!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__dialog{
  position:relative!important;
  z-index:2!important;
  width:min(560px, calc(100vw - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:auto!important;
  background:#FFFFFF!important;
  border:1px solid #CFE7FA!important;
  border-radius:28px!important;
  box-shadow:0 28px 90px rgba(31,36,66,.22)!important;
  padding:30px!important;
  color:#1E2240!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__title{
  margin:0 34px 10px 0!important;
  font-family:Onest, Nunito, system-ui, sans-serif!important;
  font-size:26px!important;
  line-height:1.12!important;
  font-weight:900!important;
  color:#1E2240!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__text{
  margin:0 0 22px!important;
  color:#6D83A0!important;
  font-size:17px!important;
  line-height:1.45!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:12px!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__close{
  position:absolute!important;
  right:18px!important;
  top:16px!important;
  width:34px!important;
  height:34px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#2B7FC8!important;
  font-size:28px!important;
  line-height:1!important;
  cursor:pointer!important;
}
html body #egepon-confirm-modal .egepon-confirm-modal__actions button:empty,
html body #egepon-confirm-modal [data-confirm-cancel]:empty{
  display:none!important;
}

/* v4.6.14 — no duplicated “Дедлайн:” prefix in day-modal titles */
html body .egepon-schedule-card--deadline h3{
  color:#1E2240!important;
}
