/* Вид даёт Tabler (Bootstrap 5); здесь — шрифт, мелочи и Tabulator в цветах Tabler. */
@font-face {
  font-family: "Inter Var"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("/static/vendor/inter-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter Var"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("/static/vendor/inter-cyrillic.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

[hidden] { display: none !important; }
body { font-feature-settings: "cv03", "cv04", "cv11", "tnum"; }

.brand-logo { width: 2rem; height: 2rem; vertical-align: middle; }
.navbar-brand { font-weight: 600; }

.qr { background: #fff; display: inline-block; padding: 10px; border-radius: 8px; border: 1px solid var(--tblr-border-color); }
.qr svg { display: block; width: 200px; height: 200px; }
.secret { display: block; word-break: break-all; font-size: .95rem; margin-top: .5rem; }
.codes { font-size: 1.05rem; columns: 2; padding: 1rem; border-radius: 8px; }

/* фильтры над страницей */
.filters { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.filters .btn-group .btn.active { background: var(--tblr-primary); border-color: var(--tblr-primary); color: #fff; }
.filters .dates { width: auto; }
.filters .dates .form-control { width: 9.5rem; }
.school-dot { display: inline-block; width: .5rem; height: .5rem; border-radius: 50%; margin-right: .4rem; }
.crumbs { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.crumbs a { color: var(--tblr-primary); text-decoration: none; cursor: pointer; }
.crumbs .sep { opacity: .5; }

.btn-group .btn.active { background: var(--tblr-primary); border-color: var(--tblr-primary); color: #fff; }

/* цифры */
.school-card { cursor: pointer; }
.school-card .h1 { font-size: 2rem; }
.school-card .progress { background: var(--tblr-bg-surface-tertiary); }
.kpi .h1 { font-size: 1.6rem; white-space: nowrap; }
.kpi .sub { font-size: .8rem; }
.chart { min-height: 280px; }

/* вкладки и панель над таблицей */
.tabs-header { overflow-x: auto; scrollbar-width: none; }
.tabs-header .nav-tabs { flex-wrap: nowrap; }
.tabs-header .nav-link { white-space: nowrap; cursor: pointer; }
.toolbar { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; align-items: center; }
.toolbar .search { width: 16rem; max-width: 100%; }

.toast-box {
  position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); z-index: 2000; max-width: calc(100% - 2rem);
  background: var(--tblr-dark); color: #fff; padding: .6rem 1rem; border-radius: 8px; box-shadow: var(--tblr-box-shadow-dropdown);
}

/* Tabulator в цветах Tabler: шапка как у .table Tabler, без вертикальных линий */
.tabulator {
  border: 0; border-radius: 0 0 var(--tblr-card-border-radius, 8px) var(--tblr-card-border-radius, 8px);
  background: transparent; font-size: .875rem; color: var(--tblr-body-color); margin: 0;
}
.tabulator .tabulator-header {
  background: var(--tblr-bg-surface-tertiary); border-bottom: 1px solid var(--tblr-border-color); color: var(--tblr-secondary);
}
.tabulator .tabulator-header .tabulator-col {
  background: transparent; border-right: 0; font-size: .625rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
}
.tabulator .tabulator-header .tabulator-col .tabulator-col-content { padding: .6rem .75rem; }
.tabulator .tabulator-header .tabulator-col.tabulator-sortable:hover { background: var(--tblr-bg-surface-secondary); }
.tabulator .tabulator-header .tabulator-col[aria-sort="none"] .tabulator-col-sorter { display: none; }
.tabulator .tabulator-header .tabulator-col.tabulator-sortable[aria-sort="none"] .tabulator-col-title { padding-right: 0; }
.tabulator .tabulator-tableholder .tabulator-table { background: transparent; color: var(--tblr-body-color); }
.tabulator-row, .tabulator-row.tabulator-row-even { background: var(--tblr-bg-surface); border-bottom: 1px solid var(--tblr-border-color-translucent, var(--tblr-border-color)); }
.tabulator-row .tabulator-cell { border-right: 0; padding: .6rem .75rem; }
.tabulator-row.tabulator-selectable:hover, .tabulator-row:hover { background: var(--tblr-bg-surface-secondary); }
.tabulator-row.clickable { cursor: pointer; }
.tabulator-row.unresolved, .tabulator-row.unresolved:hover { background: var(--tblr-yellow-lt) !important; }
.tabulator .tabulator-footer { background: var(--tblr-bg-surface); border-top: 1px solid var(--tblr-border-color); color: var(--tblr-body-color); }
.tabulator .tabulator-footer .tabulator-calcs-holder { background: var(--tblr-bg-surface-tertiary); border: 0; }
.tabulator .tabulator-footer .tabulator-calcs-holder .tabulator-row { background: transparent; font-weight: 600; }
.tabulator-row.tabulator-group { background: var(--tblr-bg-surface-tertiary); border-color: var(--tblr-border-color); color: var(--tblr-body-color); font-weight: 600; padding: .5rem .75rem; }
.tabulator-row.tabulator-group span { color: var(--tblr-secondary); font-weight: 400; margin-left: .5rem; }
.tabulator .tabulator-placeholder span { color: var(--tblr-secondary) !important; font-weight: 400 !important; font-size: .875rem !important; }
.tabulator .tabulator-cell a { text-decoration: none; }

@media (max-width: 767px) {
  .filters .btn-group { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .filters .btn-group .btn { white-space: nowrap; }
  .filters .dates .form-control { width: 8.5rem; }
  .toolbar .search { width: 100%; }
}
.btn.active .school-dot { box-shadow: 0 0 0 2px #fff; }
