.lisa-bb-root { --lisa-bb-accent:#16202a; --lisa-bb-text:#16202a; --lisa-bb-muted:#6b7a8c; --lisa-bb-border:#e4e9f0; --lisa-bb-surface:#fff; --lisa-bb-soft:#f3f4f6; --lisa-bb-free:#eaf4ef; --lisa-bb-free-text:#29664b; --lisa-bb-occupied:#e5e9ef; --lisa-bb-occupied-text:#536175; --lisa-bb-closed:#f3f4f6; --lisa-bb-unknown:#faf6e9; --lisa-bb-unknown-text:#816a2a; --lisa-bb-shadow:0 2px 5px color-mix(in srgb,var(--lisa-bb-text) 10%,transparent); font:inherit; font-size:14px; line-height:1.4; color:var(--lisa-bb-text); background:transparent; padding:0; margin:0; max-width:100%; }
.lisa-bb-root * { box-sizing:border-box; }
.lisa-bb-toolbar,.lisa-bb-filterrow { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:12px; min-width:0; }
.lisa-bb-segment { display:inline-flex; min-width:0; gap:2px; padding:3px; border-radius:999px; background:var(--lisa-bb-soft); }
.lisa-bb-button { border:0; background:transparent; color:var(--lisa-bb-muted); font:inherit; font-size:13px; font-weight:500; height:30px; padding:0 15px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; gap:6px; cursor:pointer; white-space:nowrap; }
.lisa-bb-button:hover { background:var(--lisa-bb-surface); color:var(--lisa-bb-text); }
.lisa-bb-button[aria-pressed="true"] { background:var(--lisa-bb-surface); color:var(--lisa-bb-text); box-shadow:var(--lisa-bb-shadow); }
.lisa-bb-root :focus-visible { outline:2px solid var(--lisa-bb-muted); outline-offset:3px; }
.lisa-bb-date-nav { margin-left:auto; }
.lisa-bb-date { position:relative; display:flex; align-items:center; padding:0 12px; height:30px; border-radius:999px; background:var(--lisa-bb-surface); font-size:13px; font-weight:500; min-width:0; }
.lisa-bb-date-label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.lisa-bb-date-input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.lisa-bb-search { display:flex; align-items:center; height:36px; gap:8px; border:1px solid var(--lisa-bb-border); border-radius:999px; background:var(--lisa-bb-surface); padding:0 12px; min-width:0; flex:1; }
.lisa-bb-search-icon { color:var(--lisa-bb-muted); font-size:22px; }
.lisa-bb-search-input { width:100%; min-width:0; border:0; outline:0; background:transparent; color:var(--lisa-bb-text); font:inherit; font-size:14px; }
.lisa-bb-search:focus-within { outline:2px solid color-mix(in srgb,var(--lisa-bb-accent) 25%,transparent); }
.lisa-bb-categories { margin-bottom:12px; }
.lisa-bb-categories .lisa-bb-button[aria-pressed="true"] { background:color-mix(in srgb,var(--lisa-bb-accent) 6%,var(--lisa-bb-surface)); }
.lisa-bb-count { font-size:11px; background:var(--lisa-bb-soft); border-radius:999px; min-width:20px; padding:2px 5px; }
.lisa-bb-range { display:flex; justify-content:flex-end; gap:4px; margin:4px 0 10px; }
.lisa-bb-range .lisa-bb-button { font-size:12px; height:28px; padding:0 10px; border:1px solid var(--lisa-bb-border); }
.lisa-bb-scroll { overflow:auto; max-width:100%; border:1px solid var(--lisa-bb-border); border-radius:8px; background:var(--lisa-bb-surface); }
.lisa-bb-grid { border-collapse:separate; border-spacing:0; width:100%; min-width:760px; table-layout:fixed; font-size:12px; }
.lisa-bb-hour { font-size:12px; font-weight:500; color:var(--lisa-bb-muted); padding:14px 0; text-align:left; }
.lisa-bb-court-head,.lisa-bb-court-name { width:120px; position:sticky; left:0; background:var(--lisa-bb-surface); z-index:1; padding:15px 14px; text-align:left; font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lisa-bb-court-head { color:var(--lisa-bb-muted); font-weight:500; }
.lisa-bb-court-name,.lisa-bb-cell { border-top:1px solid var(--lisa-bb-border); }
.lisa-bb-cell { padding:8px 2px; height:54px; }
.lisa-bb-slot { display:flex; align-items:center; justify-content:center; height:34px; border-radius:4px; font-weight:600; font-size:13px; }
.lisa-bb-free { background:var(--lisa-bb-free); color:var(--lisa-bb-free-text); }
.lisa-bb-occupied { background:var(--lisa-bb-occupied); color:var(--lisa-bb-occupied-text); }
.lisa-bb-closed { background:var(--lisa-bb-closed); color:var(--lisa-bb-muted); }
.lisa-bb-unknown { background:var(--lisa-bb-unknown); color:var(--lisa-bb-unknown-text); }
.lisa-bb-dim { opacity:.3; }
.lisa-bb-list { display:grid; gap:8px; }
.lisa-bb-court-card { border:1px solid var(--lisa-bb-border); border-radius:8px; background:var(--lisa-bb-surface); }
.lisa-bb-court-summary { display:grid; grid-template-columns:100px 1fr 20px; align-items:center; gap:12px; padding:16px; cursor:pointer; list-style:none; }
.lisa-bb-court-summary::-webkit-details-marker { display:none; }
.lisa-bb-court-summary:hover { box-shadow:var(--lisa-bb-shadow); }
.lisa-bb-court-title { font-size:14px; }
.lisa-bb-free-times { color:var(--lisa-bb-free-text); font-size:13px; }
.lisa-bb-chevron { justify-self:end; color:var(--lisa-bb-muted); }
.lisa-bb-court-card[open] .lisa-bb-chevron { transform:rotate(180deg); }
.lisa-bb-periods { border-top:1px solid var(--lisa-bb-border); padding:8px 16px; }
.lisa-bb-period { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:6px 0; font-size:13px; }
.lisa-bb-status { border-radius:4px; padding:3px 8px; min-width:92px; }
.lisa-bb-footer { margin-top:12px; }
.lisa-bb-footer .lisa-ui-legend { justify-content:flex-start; }
.lisa-bb-notice { font-size:12px; color:var(--lisa-bb-muted); border-top:1px solid var(--lisa-bb-border); padding-top:12px; margin:12px 0 0; }
.lisa-bb-empty,.lisa-bb-loading { font-size:14px; color:var(--lisa-bb-muted); padding:24px 0; }
.lisa-bb-root .lisa-ui-legend-court-free { color:var(--lisa-bb-free-text); }
.lisa-bb-root .lisa-ui-legend-court-occupied { color:var(--lisa-bb-occupied-text); }
.lisa-bb-root .lisa-ui-legend-court-closed { color:var(--lisa-bb-muted); }
.lisa-bb-root .lisa-ui-legend-court-unknown { color:var(--lisa-bb-unknown-text); }
@media(max-width:720px) { .lisa-bb-view-label { display:none; } .lisa-bb-view-segment .lisa-bb-button { padding:0 10px; } }
@media(max-width:560px) { .lisa-bb-toolbar { gap:4px; } .lisa-bb-date-nav { flex:1; } .lisa-bb-date { flex:1; padding:0 6px; font-size:12px; } .lisa-bb-date-nav>.lisa-bb-button { padding:0 8px; } .lisa-bb-filterrow { flex-wrap:wrap; } .lisa-bb-search { flex-basis:calc(100% - 130px); } .lisa-bb-filterrow>.lisa-bb-button { width:30px; padding:0; } .lisa-bb-court-summary { grid-template-columns:1fr 20px; gap:6px; padding:14px; } .lisa-bb-free-times { grid-column:1; grid-row:2; } .lisa-bb-chevron { grid-column:2; grid-row:1 / 3; } .lisa-bb-range { justify-content:flex-start; } }
@media(prefers-reduced-motion:reduce) { .lisa-bb-root * { transition:none; } }

/* >>> lisa-ui shared (automatisch, niet handmatig wijzigen) */
/* Categorie-tabs: één navigatielaag, mobiel scrollbaar met vervaagde rand */
.lisa-ui-tabs { position: relative; min-width: 0; max-width: 100%; }
.lisa-ui-tabs > .lisa-ui-tabs-track { display: flex !important; flex-wrap: nowrap !important; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.lisa-ui-tabs > .lisa-ui-tabs-track::-webkit-scrollbar { display: none; }
.lisa-ui-tabs > .lisa-ui-tabs-track > * { flex: 0 0 auto !important; white-space: nowrap; }
.lisa-ui-tabs::before, .lisa-ui-tabs::after { content: ""; position: absolute; top: 0; bottom: 0; width: 2rem; pointer-events: none; opacity: 0; transition: opacity 0.15s; z-index: 1; }
.lisa-ui-tabs::after { right: 0; background: linear-gradient(90deg, rgba(243,244,246,0), #f3f4f6 85%); border-radius: 0 999px 999px 0; }
.lisa-ui-tabs::before { left: 0; background: linear-gradient(270deg, rgba(243,244,246,0), #f3f4f6 85%); border-radius: 999px 0 0 999px; }
.lisa-ui-tabs.lisa-ui-tabs-more::after, .lisa-ui-tabs.lisa-ui-tabs-less::before { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .lisa-ui-tabs::before, .lisa-ui-tabs::after { transition: none; } }

/* Shared controls, legends and disclosure panels: neutral widget tokens. */
[class^="lisa-"] { --lisa-ui-text: #16202a; --lisa-ui-muted: #6b7a8c; --lisa-ui-border: #e4e9f0; --lisa-ui-surface: #fff; --lisa-ui-soft: #f3f4f6; --lisa-ui-win: #16845b; --lisa-ui-draw: #c58420; --lisa-ui-loss: #cf4242; --lisa-ui-shadow: 0 8px 24px -12px rgba(16,32,48,.3); }
.lisa-ui-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .4rem 1rem; margin-top: .75rem; font-size: .75rem; color: var(--lisa-ui-muted); }
.lisa-ui-legend-item { display: inline-flex; gap: .35rem; align-items: center; }
.lisa-ui-legend-symbol { font-weight: 700; }
.lisa-ui-legend-win, .lisa-ui-legend-draw, .lisa-ui-legend-loss { width: .5rem; height: .5rem; border-radius: 50%; }
.lisa-ui-legend-win { background: var(--lisa-ui-win); }
.lisa-ui-legend-draw { background: var(--lisa-ui-draw); }
.lisa-ui-legend-loss { background: var(--lisa-ui-loss); }
.lisa-ui-filter { position: relative; min-width: 0; flex: 0 1 auto; }
.lisa-ui-filter > summary { display: none; }
.lisa-ui-filter > .lisa-ui-filter-panel { display: block; }
.lisa-ui-filter-heading { display: none; }
.lisa-ui-filter .lisa-ui-control, .lisa-ui-control { width: auto !important; flex-basis: auto !important; min-width: 0; padding-inline: .65rem !important; gap: .35rem; font-size: .8125rem !important; }
.lisa-ui-control-label { display: inline !important; font-size: .8125rem; font-weight: 500; }
.lisa-ui-sort { display: inline-flex; flex: 0 1 auto; min-width: 0; }
.lisa-ui-sort select { max-width: 100%; min-width: 0; height: 36px; padding: 0 .7rem; border: 1px solid var(--lisa-ui-border); border-radius: 999px; background: var(--lisa-ui-surface); color: var(--lisa-ui-text); font: inherit; font-size: .8125rem; cursor: pointer; }
.lisa-ui-sort select:focus-visible, .lisa-ui-filter-trigger:focus-visible { outline: 2px solid var(--lisa-ui-muted); outline-offset: 2px; }
.lisa-ui-filter-trigger { list-style: none; cursor: pointer; font: inherit; font-size: .8125rem; border: 1px solid var(--lisa-ui-border); background: var(--lisa-ui-surface); color: var(--lisa-ui-text); border-radius: 999px; padding: .45rem .85rem; }
.lisa-ui-filter-trigger::-webkit-details-marker { display: none; }
.lisa-ui-filter-trigger::before { content: "☷"; margin-right: .35rem; }
.lisa-ui-expand { cursor: pointer; }
.lisa-ui-season { color: var(--lisa-ui-muted); font-size: .8125rem; font-weight: 500; margin: 0 0 .75rem; }
.lisa-ui-week-tabs { display: flex; width: 100%; gap: .25rem; padding: .2rem; background: var(--lisa-ui-soft); border-radius: 999px; margin: 0 0 .75rem; box-sizing: border-box; }
.lisa-ui-week-tabs button { flex: 1 1 0; min-width: 0; height: 34px; border: 0; border-radius: 999px; background: transparent; color: var(--lisa-ui-muted); font: inherit; font-size: .8125rem; cursor: pointer; }
.lisa-ui-week-tabs button[aria-pressed="true"] { background: var(--lisa-ui-surface); color: var(--lisa-ui-text); box-shadow: var(--lisa-ui-shadow); }
.lisa-ui-week-tabs button:focus-visible { outline: 2px solid var(--lisa-ui-muted); }
@media (min-width: 561px) { .lisa-ui-filter:not([open]) > .lisa-ui-filter-panel { display: block; } }
@media (max-width: 560px) {
  .lisa-ui-control-label { display: inline !important; }
  .lisa-ui-filter > summary { display: inline-flex; align-items: center; height: 36px; box-sizing: border-box; }
  .lisa-ui-filter:not(.lisa-ui-filter-mobile-open) > .lisa-ui-filter-panel { display: none; }
  .lisa-ui-filter-mobile-open > .lisa-ui-filter-panel { position: absolute; right: 0; top: calc(100% + .4rem); width: min(280px, calc(100vw - 48px)); padding: .9rem; border: 1px solid var(--lisa-ui-border); border-radius: 8px; background: var(--lisa-ui-surface); box-shadow: var(--lisa-ui-shadow); z-index: 40; box-sizing: border-box; }
  .lisa-ui-filter-left > .lisa-ui-filter-panel { right: auto; left: 0; }
  .lisa-ui-filter-heading { display: block; margin-bottom: .6rem; font-size: .8125rem; }
  .lisa-ui-filter-panel > [role="group"] { display: flex !important; flex-wrap: wrap !important; width: 100% !important; }
  .lisa-ui-filter-panel .lisa-ui-control { flex: 1 1 auto !important; height: 32px; }
  .lisa-ui-sort { max-width: 100%; }
  .lisa-ui-week-tabs button { font-size: .75rem; }
  .lisa-sd-rows .lisa-sd-row .lisa-sd-loc-field { display: inline !important; font-size: .6875rem; }
  .lisa-dn-row-item .lisa-dn-fill { display: flex !important; }
  .lisa-ah-go .lisa-ah-go-text { display: inline !important; font-size: .75rem; }
  .lisa-ah-box { flex-wrap: wrap; }
  .lisa-ah-go { margin-left: auto; }
}
.lisa-sd-toolbar, .lisa-af-toolbar, .lisa-sr-toolbar { flex-wrap: wrap !important; min-width: 0; max-width: 100%; flex-shrink: 1; }
.lisa-sd-filterrow, .lisa-af-filterrow, .lisa-sr-filterrow { flex-wrap: wrap; }
.lisa-sd-filterrow > .lisa-sd-search, .lisa-af-filterrow > .lisa-af-search, .lisa-sr-filterrow > .lisa-sr-search { flex: 1 1 15rem; min-width: 0; }
.lisa-ts-list .lisa-ts-remark-toggle { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; border: 0; background: transparent; color: var(--lisa-ui-muted); cursor: pointer; }
.lisa-ts-list .lisa-ts-row > .lisa-ts-remark-toggle { grid-column: -1; grid-row: 1; justify-self: end; }
.lisa-ts-list .lisa-ts-row > .lisa-ts-remark { grid-column: 1 / -1; }
.lisa-ts-list .lisa-ts-row > .lisa-ts-remark[hidden] { display: none !important; }
.lisa-dn-row-item .lisa-dn-chev { display: flex !important; }
.lisa-ag-cal-stat { font-size: .5625rem; padding-inline: .2rem; }
@media (max-width: 560px) {
  .lisa-ui-sort { flex: 0 1 55%; }
  .lisa-ui-sort select { width: 100%; }
  .lisa-dn-row-item .lisa-dn-fill .lisa-dn-fill-text { display: block; font-size: .625rem; white-space: normal; }
  .lisa-ts-toolbar-top .lisa-ts-period { flex-shrink: 1; }
  .lisa-ts-toolbar-top .lisa-ts-period button { width: auto; padding-inline: .4rem; font-size: .75rem; }
  .lisa-ts-toolbar-top { flex-wrap: wrap; }
  .lisa-ts-toolbar-top .lisa-ts-toolbar-date { flex: 1 1 100%; }
  .lisa-sd-rows .lisa-sd-row .lisa-sd-col-field { flex-direction: column; min-width: 2.5rem; }
  .lisa-nw-toolbar { flex-wrap: wrap; }
  .lisa-nw-toolbar-right { flex-wrap: wrap; min-width: 0; max-width: 100%; }
  .lisa-nw-filter-wrap { margin-left: auto; }
  .lisa-sd-filterrow > .lisa-sd-search, .lisa-af-filterrow > .lisa-af-search, .lisa-sr-filterrow > .lisa-sr-search { flex: 0 0 auto; width: 100%; height: 36px; box-sizing: border-box; }
}
/* <<< lisa-ui shared */
