/* Верхнее меню КИТ поверх Unfold. Цвета — переменные Unfold (синяя палитра в
   settings.UNFOLD.COLORS), тёмная тема — класс .dark на <html>. */

.kit-topbar {
    background: var(--color-white);
    border-bottom: 1px solid var(--color-base-200);
    position: sticky;
    top: 0;
    z-index: 50;
}
.dark .kit-topbar {
    background: var(--color-base-900);
    border-color: var(--color-base-800);
}
.kit-topbar__inner {
    align-items: center;
    display: flex;
    gap: 1.5rem;
    height: 3.5rem;
    margin: 0 auto;
    padding: 0 1rem;
}
.kit-brand {
    align-items: center;
    color: var(--color-primary-700);
    display: flex;
    font-size: 1rem;
    font-weight: 700;
    gap: .5rem;
    white-space: nowrap;
}
.dark .kit-brand { color: var(--color-primary-400); }
/* Знак КИТ (static/kit/logo.svg) маской: красится цветом темы — фирменный тёмно-синий
   сайта колледжа в светлой, светлее в тёмной. */
.kit-logo {
    background: #17305a;
    display: inline-block;
    flex-shrink: 0;
    height: 2rem;
    mask: url("logo.svg") center / contain no-repeat;
    width: 1.75rem;
}
.dark .kit-logo { background: var(--color-primary-300); }
.kit-logo--large {
    height: 4rem;
    margin-bottom: 1rem;
    width: 3.5rem;
}
.kit-brand__sub {
    color: var(--color-base-500);
    font-weight: 400;
    margin-left: .25rem;
}
.kit-menu {
    align-items: center;
    display: flex;
    flex: 1;
    gap: .25rem;
}
.kit-menu__section,
.kit-user { position: relative; }
.kit-menu__link {
    align-items: center;
    border-radius: .375rem;
    color: var(--color-base-700);
    cursor: pointer;
    display: flex;
    font-size: .875rem;
    font-weight: 500;
    gap: .25rem;
    padding: .5rem .75rem;
    white-space: nowrap;
}
.kit-menu__link .material-symbols-outlined { font-size: 1.125rem; }
.kit-menu__link:hover { background: var(--color-base-100); }
.kit-menu__section.is-active > .kit-menu__link {
    background: var(--color-primary-50);
    color: var(--color-primary-700);
}
.dark .kit-menu__link { color: var(--color-base-300); }
.dark .kit-menu__link:hover { background: var(--color-base-800); }
.dark .kit-menu__section.is-active > .kit-menu__link {
    background: color-mix(in oklab, var(--color-primary-500) 18%, transparent);
    color: var(--color-primary-300);
}
.kit-dropdown {
    background: var(--color-white);
    border: 1px solid var(--color-base-200);
    border-radius: .5rem;
    box-shadow: 0 10px 25px -5px rgb(0 0 0 / .12);
    display: flex;
    flex-direction: column;
    left: 0;
    min-width: 15rem;
    padding: .25rem;
    position: absolute;
    top: 100%;
    z-index: 60;
}
.kit-dropdown--right { left: auto; right: 0; }
.kit-dropdown > a {
    border-radius: .375rem;
    color: var(--color-base-700);
    padding: .5rem .75rem;
}
.kit-dropdown > a:hover {
    background: var(--color-primary-50);
    color: var(--color-primary-700);
}
.dark .kit-dropdown {
    background: var(--color-base-800);
    border-color: var(--color-base-700);
}
.dark .kit-dropdown > a { color: var(--color-base-200); }
.dark .kit-dropdown > a:hover {
    background: color-mix(in oklab, var(--color-primary-500) 18%, transparent);
    color: var(--color-primary-300);
}
.kit-user { margin-left: auto; }

/* Главная: поиск и плитки действий */
.kit-home { display: grid; gap: 1.5rem; max-width: 64rem; }
.kit-search { display: flex; gap: .5rem; }
.kit-search input {
    background: var(--color-white);
    border: 1px solid var(--color-base-300);
    border-radius: .5rem;
    flex: 1;
    font-size: 1rem;
    padding: .75rem 1rem;
}
.dark .kit-search input {
    background: var(--color-base-900);
    border-color: var(--color-base-700);
    color: var(--color-base-100);
}
.kit-search button, .kit-button {
    background: var(--color-primary-600);
    border-radius: .5rem;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
    padding: .75rem 1.25rem;
}
.kit-search button:hover, .kit-button:hover { background: var(--color-primary-700); }
.kit-stats { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); }
.kit-card {
    background: var(--color-white);
    border: 1px solid var(--color-base-200);
    border-radius: .75rem;
    padding: 1rem 1.25rem;
}
.dark .kit-card { background: var(--color-base-900); border-color: var(--color-base-800); }
.kit-card__value { color: var(--color-base-900); font-size: 1.75rem; font-weight: 700; }
.dark .kit-card__value { color: var(--color-base-100); }
.kit-card__label { color: var(--color-base-500); }
.kit-actions { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.kit-action {
    align-items: center;
    background: var(--color-white);
    border: 1px solid var(--color-base-200);
    border-radius: .75rem;
    color: var(--color-base-800);
    display: flex;
    font-weight: 600;
    gap: .75rem;
    padding: 1rem 1.25rem;
}
.kit-action:hover { border-color: var(--color-primary-400); color: var(--color-primary-700); }
.kit-action .material-symbols-outlined { color: var(--color-primary-600); font-size: 1.75rem; }
.dark .kit-action { background: var(--color-base-900); border-color: var(--color-base-800); color: var(--color-base-200); }
.dark .kit-action:hover { border-color: var(--color-primary-500); color: var(--color-primary-300); }
.kit-h2 { color: var(--color-base-600); font-size: .8rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }

/* Снимок значений справки */
.kit-snapshot { border-collapse: collapse; font-size: .8125rem; }
.kit-snapshot th { color: var(--color-base-500); font-weight: 500; padding: .125rem 1rem .125rem 0; text-align: left; vertical-align: top; white-space: nowrap; }
.kit-snapshot td { padding: .125rem 0; }

/* Формы отчётов: в собранном CSS Unfold нет gap-x-* */
.kit-form-grid { column-gap: 1.5rem; }

/* Ведомость пропусков */
.kit-button--ghost {
    background: transparent;
    border: 1px solid var(--color-base-300);
    color: var(--color-base-700);
}
.kit-button--ghost:hover { background: var(--color-base-100); }
.dark .kit-button--ghost { border-color: var(--color-base-700); color: var(--color-base-200); }
.dark .kit-button--ghost:hover { background: var(--color-base-800); }
.kit-report { margin-top: 2rem; }
.kit-report__title { color: var(--color-base-900); font-size: 1.125rem; font-weight: 700; margin-bottom: 1rem; }
.dark .kit-report__title { color: var(--color-base-100); }
.kit-report__caption { color: var(--color-base-600); font-weight: 600; margin: 1.5rem 0 .5rem; }
.dark .kit-report__caption { color: var(--color-base-300); }
.kit-report__empty { color: var(--color-base-500); }
.kit-report__warning {
    background: #fef3c7;
    border-radius: .5rem;
    color: #92400e;
    margin-bottom: 1rem;
    max-width: 56rem;
    padding: .625rem .875rem;
}
.dark .kit-report__warning { background: #451a03; color: #fde68a; }
.kit-report table { border-collapse: collapse; font-size: .875rem; max-width: 56rem; width: 100%; }
.kit-report th, .kit-report td { border: 1px solid var(--color-base-200); padding: .375rem .625rem; }
.dark .kit-report th, .dark .kit-report td { border-color: var(--color-base-800); }
.kit-report th { background: var(--color-base-50); color: var(--color-base-600); font-weight: 600; text-align: center; }
.dark .kit-report th { background: var(--color-base-900); color: var(--color-base-300); }
.kit-report td.num { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.kit-report td.zero { color: var(--color-base-400); }
.kit-report tr.detail td { color: var(--color-base-500); font-size: .8125rem; }
.kit-report tr.detail td.label { padding-left: 1.75rem; }
.kit-report tr.total td { font-weight: 700; }
.kit-report tr.grand td { background: var(--color-primary-50); font-weight: 700; }
.dark .kit-report tr.grand td { background: var(--color-base-800); }

@media print {
    .kit-topbar, .kit-no-print, #header, #footer { display: none !important; }
    .kit-report { margin-top: 0; }
    .kit-report__block { break-inside: avoid-page; }
    .kit-report th, .kit-report td { border-color: #000; color: #000; }
}

/* Ввод пропусков по журналу */
.kit-grid { margin-top: 1.5rem; }
.kit-grid__head { align-items: baseline; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.kit-grid__link { color: var(--color-primary-600); font-size: .875rem; }
.dark .kit-grid__link { color: var(--color-primary-400); }
.kit-grid__legend { color: var(--color-base-500); display: flex; flex-wrap: wrap; font-size: .8125rem; gap: .5rem 1.5rem; margin-bottom: .75rem; }
.kit-grid__legend span { align-items: center; display: inline-flex; gap: .375rem; }
.kit-grid__swatch { border: 1px solid var(--color-base-300); border-radius: .25rem; display: inline-block; height: .875rem; width: .875rem; }
.kit-grid__errors { background: #fee2e2; border-radius: .5rem; color: #991b1b; margin-bottom: .75rem; padding: .5rem .875rem; }
.dark .kit-grid__errors { background: #450a0a; color: #fecaca; }
.kit-grid__scroll { border: 1px solid var(--color-base-200); border-radius: .5rem; max-height: calc(100vh - 12rem); max-width: 100%; overflow: auto; }
.dark .kit-grid__scroll { border-color: var(--color-base-800); }
.kit-grid__table { border-collapse: separate; border-spacing: 0; font-size: .8125rem; }
.kit-grid__table th, .kit-grid__table td {
    border-bottom: 1px solid var(--color-base-200);
    border-right: 1px solid var(--color-base-200);
    height: 2rem;
    padding: 0;
    text-align: center;
}
.dark .kit-grid__table th, .dark .kit-grid__table td { border-color: var(--color-base-800); }
.kit-grid__table thead th { background: var(--color-base-50); color: var(--color-base-600); font-weight: 600; position: sticky; top: 0; z-index: 2; }
.dark .kit-grid__table thead th { background: var(--color-base-900); color: var(--color-base-300); }
.kit-grid__day { line-height: 1.1; min-width: 2rem; }
.kit-grid__day small { display: block; font-size: .6875rem; font-weight: 400; }
.kit-grid__num { color: var(--color-base-500); min-width: 2rem; }
.kit-grid__name {
    background: var(--color-white);
    left: 0;
    max-width: 16rem;
    min-width: 13rem;
    overflow: hidden;
    padding: 0 .625rem !important;
    position: sticky;
    text-align: left !important;
    text-overflow: ellipsis;
    white-space: nowrap;
    z-index: 1;
}
.dark .kit-grid__name { background: var(--color-base-950, #030712); }
.kit-grid__table thead .kit-grid__name { z-index: 3; }
.kit-grid__sum { font-variant-numeric: tabular-nums; font-weight: 600; min-width: 3.5rem; padding: 0 .5rem !important; }
.kit-grid__table tfoot td { color: var(--color-base-600); font-weight: 600; }
.kit-grid__table input {
    background: transparent;
    border: 0;
    color: inherit;
    font: inherit;
    height: 2rem;
    outline: none;
    text-align: center;
    width: 2rem;
}
.kit-grid__table input:focus { box-shadow: inset 0 0 0 2px var(--color-primary-500); }
.kit-grid__table td.is-excused, .kit-grid__swatch.is-excused { background: #dcfce7; }
.dark .kit-grid__table td.is-excused, .dark .kit-grid__swatch.is-excused { background: #14532d; }
.kit-grid__table td.is-closed, .kit-grid__table th.is-closed, .kit-grid__swatch.is-closed {
    background: repeating-linear-gradient(135deg, var(--color-base-100) 0 4px, transparent 4px 8px);
    color: var(--color-base-500);
}
.dark .kit-grid__table td.is-closed, .dark .kit-grid__table th.is-closed, .dark .kit-grid__swatch.is-closed {
    background: repeating-linear-gradient(135deg, var(--color-base-800) 0 4px, transparent 4px 8px);
}
.kit-grid__table td.is-changed { background: #fef3c7; }
.dark .kit-grid__table td.is-changed { background: #451a03; }
.kit-grid__table td.is-error { background: #fee2e2; box-shadow: inset 0 0 0 2px #dc2626; }
.dark .kit-grid__table td.is-error { background: #450a0a; }
.kit-grid__actions { align-items: center; display: flex; gap: 1rem; margin-top: 1rem; }
.kit-grid__hint { color: var(--color-base-500); font-size: .8125rem; }

/* Мониторинг пропусков */
.kit-monitor { border: 1px solid var(--color-base-200); border-radius: .5rem; max-width: 100%; overflow-x: auto; }
.dark .kit-monitor { border-color: var(--color-base-800); }
.kit-report .kit-monitor table { font-size: .8125rem; max-width: none; width: auto; }
.kit-report .kit-monitor th, .kit-report .kit-monitor td { padding: .25rem .375rem; }
.kit-monitor__sub th { font-size: .6875rem; font-weight: 500; }
.kit-report .kit-monitor .kit-monitor__name {
    background: var(--color-white);
    left: 0;
    min-width: 8rem;
    position: sticky;
    text-align: left;
    white-space: nowrap;
    z-index: 1;
}
.dark .kit-report .kit-monitor .kit-monitor__name { background: var(--color-base-950, #030712); }
.kit-report .kit-monitor th.kit-monitor__name { background: var(--color-base-50); }
.dark .kit-report .kit-monitor th.kit-monitor__name { background: var(--color-base-900); }
.kit-monitor__name a, .kit-report td.label a { color: var(--color-primary-600); }
.dark .kit-monitor__name a, .dark .kit-report td.label a { color: var(--color-primary-400); }
.kit-report td.pct { color: #c2410c; }
.dark .kit-report td.pct { color: #fdba74; }
.kit-report td.exc { color: #15803d; }
.dark .kit-report td.exc { color: #86efac; }
.kit-report td.zero { color: var(--color-base-400); }
.kit-report .is-current { background: var(--color-primary-50); }
.dark .kit-report .is-current { background: var(--color-base-800); }
.kit-report tr.course td { font-weight: 700; }
@media print {
    .kit-monitor { border: 0; overflow: visible; }
    .kit-report .kit-monitor table { font-size: .625rem; }
    .kit-report .kit-monitor th, .kit-report .kit-monitor td { padding: .125rem .1875rem; }
}
