.bm-today { margin-bottom:20px; overflow:hidden; color:var(--bm-ink,#203b2b); }
.bm-today__header { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:18px 20px; border-bottom:1px solid var(--bm-line,#dce5db); background:#f3f8ef; }
.bm-today__kicker { margin:0 0 4px; color:var(--bm-muted,#66756a); font-size:12px; }
.bm-today__header h2 { margin:0; color:var(--bm-green-dark,#174b2b); font-size:23px; line-height:1.2; font-weight:650; }
.bm-today__actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; font-size:13px; }
.bm-today a { color:var(--bm-green-dark,#174b2b); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.bm-today a:focus-visible,.bm-today__scroll:focus-visible { outline:2px solid #287846; outline-offset:-2px; }
.bm-today__count { padding:5px 10px; border-radius:20px; background:#e1eddc; font-size:12px; white-space:nowrap; }
.bm-today__scroll { overflow-x:auto; overscroll-behavior-x:contain; }
.bm-today__table { min-width:620px; padding:0 20px; --today-name-width:170px; }
.bm-today__axis-row,.bm-today__row { display:grid; grid-template-columns:var(--today-name-width) minmax(0,1fr); column-gap:18px; }
.bm-today__axis-row { padding-top:14px; height:44px; color:var(--bm-muted,#66756a); font-size:11px; }
.bm-today__axis { position:relative; margin:0 1px; font-variant-numeric:tabular-nums; }
.bm-today__axis > span { position:absolute; transform:translateX(-50%); white-space:nowrap; }
.bm-today__axis > .is-first { transform:none; }
.bm-today__axis > .is-last { transform:translateX(-100%); }
.bm-today__rows { list-style:none; padding:0; margin:0; }
.bm-today__row { padding:9px 0; border-top:1px solid #e6ece3; }
.bm-today__person { position:sticky; left:0; z-index:2; display:flex; flex-direction:column; justify-content:center; gap:2px; background:white; padding-right:6px; }
.bm-today__person strong { font-size:14px; line-height:1.3; overflow-wrap:anywhere; color:var(--bm-green-dark,#174b2b); }
.bm-today__person small { font-size:11px; color:var(--bm-muted,#66756a); }
.bm-today__work { min-width:0; }
.bm-today__track { position:relative; border-radius:5px; background:#f0f4ee; overflow:hidden; }
.bm-today__gridline { position:absolute; top:0; bottom:0; border-left:1px solid #dbe5d9; }
.bm-today__bar { position:absolute; height:30px; border:1px solid #76a884; border-radius:5px; background:#cfe6cb; color:#194e2c; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:0 3px; white-space:nowrap; font-weight:650; font-size:13px; font-variant-numeric:tabular-nums; }
.bm-today__details { display:flex; flex-wrap:wrap; gap:2px 16px; padding-top:4px; color:#5b6b5e; font-size:11px; line-height:1.45; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.bm-today__details strong { font-weight:600; color:#365f40; }
.bm-today__note { white-space:pre-line; }
.bm-today__footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:5px 15px; padding:10px 20px; border-top:1px solid var(--bm-line,#dce5db); color:var(--bm-muted,#66756a); background:#fafcf8; font-size:11px; line-height:1.5; }
.bm-today__empty { padding:25px 20px; }
.bm-today__empty strong { font-size:16px; color:#285337; }
.bm-today__empty p { margin:5px 0 0; font-size:13px; color:var(--bm-muted,#66756a); }
@media(max-width:640px) {
  .bm-today__header { padding:15px; }
  .bm-today__header h2 { font-size:21px; }
  .bm-today__actions { gap:8px 12px; }
  .bm-today__table { --today-name-width:125px; padding:0 15px; }
  .bm-today__axis-row,.bm-today__row { column-gap:12px; }
  .bm-today__footer { padding:10px 15px; }
  .bm-today--personal .bm-today__table { min-width:0; }
  .bm-today--personal .bm-today__axis-row,.bm-today--personal .bm-today__row { grid-template-columns:minmax(0,1fr); }
  .bm-today--personal .bm-today__axis-name { display:none; }
  .bm-today--personal .bm-today__person { position:static; margin-bottom:7px; }
}
