/* Вид даёт Tabler (Bootstrap 5); здесь — шрифт, мелочи, карточка и Tabulator в цветах Tabler (как telemetriks). */
@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; }
#nav .nav-link { cursor: pointer; }
#nav .nav-link.active { color: var(--tblr-primary); 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: .6rem 1rem; align-items: center; }
.btn-group .btn.active { background: var(--tblr-primary); border-color: var(--tblr-primary); color: #fff; }
.search-box { flex: 1 1 22rem; max-width: 36rem; }
.search-box .form-control { font-size: .95rem; }
.filters .form-select { max-width: 18rem; }

/* строки таблицы */
.c-title { font-weight: 600; white-space: normal; line-height: 1.35; }
.c-org { color: var(--tblr-secondary); font-size: .8rem; margin-top: .15rem; white-space: normal; }
.c-tags { margin-top: .3rem; display: flex; flex-wrap: wrap; gap: .25rem; }
.c-wrap { white-space: normal; line-height: 1.35; }
.c-left { font-size: .8rem; color: var(--tblr-secondary); }
.c-left.hot { color: var(--tblr-danger); font-weight: 600; }
.score { display: inline-flex; width: 1.75rem; height: 1.75rem; border-radius: 50%; align-items: center; justify-content: center; font-weight: 700; }
.score-3 { background: var(--tblr-green); color: #fff; }
.score-2 { background: var(--tblr-lime-lt, var(--tblr-green-lt)); color: var(--tblr-green); }
.score-1 { background: var(--tblr-yellow-lt); color: var(--tblr-yellow); }
.score-0, .score-x { background: var(--tblr-bg-surface-tertiary); color: var(--tblr-secondary); }
.row-closed { opacity: .6; }

/* карточка конкурса — панель справа, на телефоне — на весь экран */
.sheet { position: fixed; inset: 0; z-index: 1050; }
.sheet-backdrop { position: absolute; inset: 0; background: rgba(24, 36, 51, .45); }
.sheet-panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(46rem, 100%); margin: 0; border-radius: 0;
  display: flex; flex-direction: column; box-shadow: var(--tblr-box-shadow-dropdown); }
.sheet-body { overflow-y: auto; flex: 1; }
.sheet-tags { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.sheet h2 { font-size: 1.25rem; line-height: 1.35; margin-bottom: 1rem; }
.facts { display: grid; grid-template-columns: max-content 1fr; gap: .45rem 1rem; margin-bottom: 1.25rem;
  padding: .9rem 1rem; border-radius: 8px; background: var(--tblr-bg-surface-tertiary); }
.facts dt { color: var(--tblr-secondary); font-weight: 400; }
.facts dd { margin: 0; font-weight: 500; }
.sheet h4 { margin: 1.1rem 0 .4rem; font-size: .95rem; }
.sheet .text { white-space: pre-line; line-height: 1.5; }
.seen { list-style: none; padding: 0; margin: 0; }
.seen li { padding: .4rem 0; border-bottom: 1px solid var(--tblr-border-color); }
.seen li:last-child { border-bottom: 0; }
.why { font-size: .85rem; color: var(--tblr-secondary); }

.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: 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)); cursor: pointer; }
.tabulator-row .tabulator-cell { border-right: 0; padding: .65rem .75rem; vertical-align: top; }
.tabulator-row:hover { background: var(--tblr-bg-surface-secondary) !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-page { border-radius: 6px; background: var(--tblr-bg-surface); color: var(--tblr-body-color); border-color: var(--tblr-border-color); }
.tabulator .tabulator-footer .tabulator-page.active { background: var(--tblr-primary); border-color: var(--tblr-primary); color: #fff; }
.tabulator .tabulator-placeholder span { color: var(--tblr-secondary) !important; font-weight: 400 !important; font-size: .875rem !important; }

@media (max-width: 767px) {
  .filters .btn-group { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .filters .btn-group .btn { white-space: nowrap; }
  .search-box { flex-basis: 100%; max-width: none; }
  .filters .form-select { flex: 1 1 100%; max-width: 100%; }
  .page-title { font-size: 1.15rem; }
  .facts { grid-template-columns: 1fr; gap: .1rem; }
  .facts dd { margin-bottom: .45rem; }
}
