Files
TDI-Dashboard/static/css/filters.css
T
2026-05-14 15:57:18 +02:00

51 lines
1.6 KiB
CSS

/* ── filters.css — shared filter toggle (all pages) ── */
/* ── Sticky page header (filter bar) — shared across all pages ── */
.page-header {
position: sticky;
top: 0;
z-index: 50;
background: var(--surf, #fff);
border-bottom: 1px solid var(--brd, #e2e8f0);
box-shadow: 0 2px 8px rgba(0,0,0,.06);
padding-bottom: .6rem;
margin-bottom: 0;
}
.page-header + section { padding-top: 1rem; }
/* Wrapper that keeps the header row and collapsible in the same container */
.page-filter-wrap { display: flex; flex-direction: column; }
.page-filter-header { display: flex; align-items: center; margin-bottom: .5rem; }
.btn-toggle-filters {
display: flex; flex-direction: column; align-items: center; gap: .15rem;
background: #2563eb; border: 1px solid #1d4ed8; border-radius: 6px;
padding: .4rem .35rem; cursor: pointer; color: #fff;
flex-shrink: 0; margin-left: auto;
transition: background .12s, border-color .12s;
}
.btn-toggle-filters:hover { background: #1d4ed8; border-color: #1e40af; }
.filters-btn-text {
writing-mode: vertical-rl; transform: rotate(180deg);
font-size: .72rem; font-weight: 600; letter-spacing: .04em; user-select: none;
}
.filters-arrow {
width: .9em; height: .9em; flex-shrink: 0;
transition: transform .22s ease; transform: rotate(180deg);
}
.filters-arrow.collapsed { transform: rotate(0deg); }
.filters-collapsible {
display: grid; grid-template-rows: 1fr;
clip-path: inset(0 0 0 0);
transition: grid-template-rows .32s ease, clip-path .28s ease;
}
.filters-collapsible.hidden {
grid-template-rows: 0fr;
clip-path: inset(0 0 0 100%);
}
.filters-collapsible-inner { overflow: hidden; }