/* DayHub — общий стиль дня и недели.
   Токены те же, что у /nutrition/: раздел Health должен выглядеть одним
   разделом, а не тремя страницами от разных авторов.

   Шрифты системные намеренно. На /nutrition/ подключался Google Fonts, и это
   единственная внешняя зависимость приватной страницы: телефон при каждом
   открытии сообщал бы Google факт захода. Здесь их нет вовсе. */

:root{
  --ground:#edf1f2; --surface:#ffffff; --surface-2:#f6fafa;
  --ink:#12181b; --muted:#57686e; --faint:#87979d;
  --line:#d3dde0; --line-soft:#e4ebec;
  --accent:#0a6f80; --accent-soft:#d7ecef;
  --heat:#b0521a; --heat-soft:#fae7d6;
  --cold:#2a6690; --cold-soft:#dcebf5;
  --train:#6c4aa8; --train-soft:#e8e0f6;
  --grow:#5c7a2b; --grow-soft:#e6eed6;
  --ok:#2f7d4f; --warn:#a8791a; --bad:#b0431a;
  --shadow:0 1px 2px rgba(18,24,27,.05), 0 8px 24px -18px rgba(18,24,27,.35);
  --sans:"Familjen Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0c1012; --surface:#151c1f; --surface-2:#1a2226;
    --ink:#e6edef; --muted:#93a4aa; --faint:#6d7f86;
    --line:#263035; --line-soft:#1e262a;
    --accent:#46c3d6; --accent-soft:#0e2f36;
    --heat:#e08b52; --heat-soft:#31200f;
    --cold:#7cb2da; --cold-soft:#12242f;
    --train:#b49bea; --train-soft:#231a37;
    --grow:#a6c463; --grow-soft:#1d2612;
    --ok:#63c98c; --warn:#d9ac54; --bad:#e08b52;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -20px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  --ground:#0c1012; --surface:#151c1f; --surface-2:#1a2226;
  --ink:#e6edef; --muted:#93a4aa; --faint:#6d7f86;
  --line:#263035; --line-soft:#1e262a;
  --accent:#46c3d6; --accent-soft:#0e2f36;
  --heat:#e08b52; --heat-soft:#31200f;
  --cold:#7cb2da; --cold-soft:#12242f;
  --train:#b49bea; --train-soft:#231a37;
  --grow:#a6c463; --grow-soft:#1d2612;
  --ok:#63c98c; --warn:#d9ac54; --bad:#e08b52;
  --shadow:0 1px 2px rgba(0,0,0,.4), 0 10px 28px -20px rgba(0,0,0,.9);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font:400 16px/1.55 var(--serif);
  padding-bottom:env(safe-area-inset-bottom);
}
h1,h2,h3{font-family:var(--sans); margin:0; text-wrap:balance}
p{margin:0}
b,strong{font-weight:600}
button{font:inherit; color:inherit}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:6px}
@media (prefers-reduced-motion: reduce){*{animation:none !important; transition:none !important}}

/* ── шапка ───────────────────────────────────────────────────────────── */
.top{
  background:var(--surface); border-bottom:1px solid var(--line);
  padding:calc(14px + env(safe-area-inset-top)) 16px 0;
  position:sticky; top:0; z-index:10;
}
.top__row{display:flex; justify-content:space-between; align-items:flex-start; gap:12px}
.top__right{display:flex; flex-direction:column; align-items:flex-end; gap:6px}
.crumbs{
  font-family:var(--sans); font-size:10px; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin-bottom:4px;
}
/* Возврат на хаб. Отдельным правилом, потому что ссылка на телефоне обязана
   быть пальцем нажимаемой: строка крошек высотой 12px — мимо. */
.crumbs--back{
  display:inline-flex; align-items:center; min-height:32px;
  margin:-6px 0 -2px -6px; padding:0 8px; border-radius:8px;
  color:var(--accent); text-decoration:none;
}
.crumbs--back:active{background:var(--accent-soft)}
.top h1{font-size:22px; font-weight:700; letter-spacing:-.01em; line-height:1.15}
.lnk{
  font-family:var(--sans); font-size:13px; font-weight:600;
  color:var(--accent); text-decoration:none; white-space:nowrap;
}
.lnk:hover{text-decoration:underline}

/* индикатор сохранения: единственное место, где страница врёт опаснее всего —
   если запись не ушла, а вид как будто ушла */
.save{
  font-family:var(--mono); font-size:11px; padding:3px 9px; border-radius:999px;
  border:1px solid var(--line); color:var(--faint); background:var(--surface-2);
  white-space:nowrap;
}
.save[data-s="saving"]{color:var(--accent); border-color:var(--accent)}
.save[data-s="saved"]{color:var(--ok); border-color:var(--ok)}
.save[data-s="error"]{color:var(--bad); border-color:var(--bad); background:transparent}

/* ── карточки ────────────────────────────────────────────────────────── */
.wrap{max-width:640px; margin:0 auto; padding:14px 16px 60px; display:block}
.wrap > section{display:flex; flex-direction:column; gap:12px}
.card{
  background:var(--surface); border:1px solid var(--line);
  border-radius:14px; padding:14px; box-shadow:var(--shadow);
}
.card__h{display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:10px}
.card__t{
  font-family:var(--sans); font-size:11px; font-weight:700;
  letter-spacing:.13em; text-transform:uppercase; color:var(--faint);
}
.card__c{font-family:var(--mono); font-size:11px; color:var(--faint); text-align:right}
.card--sum{background:var(--surface-2)}

/* ── галочка ─────────────────────────────────────────────────────────── */
.tick{
  display:flex; align-items:center; gap:11px; width:100%; text-align:left;
  background:none; border:0; padding:10px 4px; cursor:pointer; border-radius:8px;
  min-height:44px;
}
.tick:active{background:var(--surface-2)}
.tick__box{
  flex:0 0 auto; width:22px; height:22px; border:1.5px solid var(--line);
  border-radius:6px; background:var(--surface); display:grid; place-items:center;
  transition:background .14s, border-color .14s; color:var(--surface);
}
.tick__box svg{width:12px; height:12px; opacity:0; transform:scale(.6); transition:opacity .14s, transform .14s}
.tick__t{flex:1; font-size:15px; line-height:1.3}
.tick__t small{display:block; font-size:12px; color:var(--faint); font-family:var(--sans); margin-top:2px}
.tick__m{flex:0 0 auto; font-family:var(--mono); font-size:11px; color:var(--faint)}
.tick[aria-pressed="true"] .tick__box{background:var(--accent); border-color:var(--accent)}
.tick[aria-pressed="true"] .tick__box svg{opacity:1; transform:scale(1)}
.tick[aria-pressed="true"] .tick__t{color:var(--faint); text-decoration:line-through; text-decoration-color:var(--line)}
.tickrow + .tickrow{border-top:1px solid var(--line-soft)}

/* блок плана: цвет направления слева, режим подписью */
.blk{border-left:3px solid var(--line); border-radius:0 8px 8px 0; padding-left:9px; margin-bottom:6px}
.blk:last-child{margin-bottom:0}
.blk .tick{padding:8px 4px}
.blk--cadx{border-left-color:var(--accent)}
.blk--mind{border-left-color:var(--train)}
.blk--body{border-left-color:var(--grow)}
.blk--read{border-left-color:var(--heat)}
.blk--rest{border-left-color:var(--cold)}
/* Подпись режима — целая фраза, поэтому обычным регистром. Капсом набирается
   ярлык в два слова; предложение капсом читается как крик и не читается вовсе. */
.blk__mode{
  display:block; font-family:var(--sans); font-size:12px; line-height:1.4;
  color:var(--muted); margin:0 0 8px 4px; max-width:52ch;
}
.blk__mode::before{content:"→ "; color:var(--warn)}

/* ── поля ────────────────────────────────────────────────────────────── */
.flabel{display:block; font-family:var(--sans); font-size:12px; font-weight:600; margin-bottom:6px}
.field{
  width:100%; border:1px solid var(--line); border-radius:10px; background:var(--surface-2);
  padding:11px 13px; font:400 16px/1.5 var(--serif); color:var(--ink);
  resize:vertical; min-height:96px;
}
.field--short{min-height:62px}
.field--mono{font-family:var(--mono); font-size:13px; min-height:110px}
.field::placeholder{color:var(--faint)}
.field:focus{background:var(--surface); border-color:var(--accent); outline:none}
.fhint{display:block; font-family:var(--sans); font-size:12px; color:var(--faint); margin-top:8px}

.scale{display:flex; gap:6px}
.scale button{
  flex:1; min-height:44px; border:1px solid var(--line); background:var(--surface);
  border-radius:10px; cursor:pointer; font-family:var(--mono); font-size:15px; color:var(--muted);
  transition:background .13s, border-color .13s, color .13s;
}
.scale button[aria-pressed="true"]{
  background:var(--accent); border-color:var(--accent); color:var(--surface); font-weight:600;
}

.row{display:flex; align-items:center; gap:12px; margin-top:10px; flex-wrap:wrap}
.btn, .btn--file{
  display:inline-flex; align-items:center; justify-content:center; min-height:40px;
  padding:0 16px; border-radius:10px; border:1px solid var(--accent); color:var(--accent);
  background:transparent; font-family:var(--sans); font-size:14px; font-weight:600; cursor:pointer;
}
.btn:active, .btn--file:active{background:var(--accent-soft)}
.row .fhint{margin-top:0}

.files{list-style:none; margin:10px 0 0; padding:0; display:flex; flex-direction:column; gap:4px}
.files li{
  font-family:var(--mono); font-size:12px; color:var(--muted);
  display:flex; justify-content:space-between; gap:10px;
  border-top:1px solid var(--line-soft); padding-top:5px;
}

.plate{display:flex; gap:8px; flex-wrap:wrap}
.plate > div{
  flex:1 1 90px; background:var(--surface-2); border:1px solid var(--line-soft);
  border-radius:10px; padding:9px 11px;
}
.card--sum .plate > div{background:var(--surface)}
.plate b{display:block; font-family:var(--mono); font-size:17px; font-variant-numeric:tabular-nums}
.plate span{font-family:var(--sans); font-size:11px; color:var(--faint)}

.zone{border-top:1px solid var(--line-soft); padding-top:8px; margin-top:8px}
.zone:first-child{border-top:0; padding-top:0; margin-top:0}
.zone__n{font-family:var(--sans); font-size:13px; font-weight:600; margin-bottom:2px}

.empty{color:var(--faint); font-size:15px; padding:6px 4px}
.foot{
  margin-top:22px; font-family:var(--sans); font-size:12px;
  color:var(--faint); text-align:center; line-height:1.5;
}

/* ── неделя ──────────────────────────────────────────────────────────── */
.dirs{display:grid; grid-template-columns:1fr 1fr; gap:9px}
.dir{border:1px solid var(--line); border-radius:12px; padding:12px; background:var(--surface)}
.dir__n{font-family:var(--sans); font-size:13px; font-weight:600; margin-bottom:8px}
.dir__num{font-family:var(--mono); font-size:19px; font-weight:600; font-variant-numeric:tabular-nums}
.dir__num i{font-style:normal; font-size:12px; color:var(--faint); font-weight:400}
.bar{height:6px; border-radius:3px; background:var(--line-soft); margin-top:8px; overflow:hidden}
.bar > i{display:block; height:100%; border-radius:3px; background:var(--accent)}
.dir--cadx .dir__num{color:var(--accent)} .dir--cadx .bar > i{background:var(--accent)}
.dir--mind .dir__num{color:var(--train)} .dir--mind .bar > i{background:var(--train)}
.dir--body .dir__num{color:var(--grow)}  .dir--body .bar > i{background:var(--grow)}
.dir--read .dir__num{color:var(--heat)}  .dir--read .bar > i{background:var(--heat)}

.week{display:flex; gap:4px}
.week > div{flex:1; text-align:center}
.week b{display:block; font-family:var(--mono); font-size:10px; color:var(--faint); margin-bottom:4px}
.week i{display:block; height:38px; border-radius:5px; background:var(--line-soft); position:relative; overflow:hidden}
.week i > em{position:absolute; left:0; right:0; bottom:0; background:var(--accent); display:block}
.week u{
  display:block; text-decoration:none; font-family:var(--mono); font-size:10px;
  color:var(--faint); margin-top:4px; font-variant-numeric:tabular-nums;
}
.week > div.is-today b, .week > div.is-today u{color:var(--accent)}
.week > div.is-today i{box-shadow:0 0 0 1.5px var(--accent)}

.log{display:flex; flex-direction:column; gap:0}
.log__d{
  display:grid; grid-template-columns:58px 1fr; gap:12px;
  padding:11px 0; border-top:1px solid var(--line-soft);
}
.log__d:first-child{border-top:0}
.log__k{font-family:var(--mono); font-size:12px; color:var(--faint); padding-top:2px}
.log__t{font-size:15px; line-height:1.45}
.log__t em{font-style:normal; color:var(--faint)}
.log__m{font-family:var(--sans); font-size:12px; color:var(--faint); margin-top:3px}

@media (min-width:560px){
  .top h1{font-size:26px}
  .wrap{padding-top:18px}
}

/* ══ добавлено 09/01: сворачиваемые карточки, быт по комнатам, свои пункты ══ */

/* ── навигация по дням ───────────────────────────────────────────────── */
.datenav{display:flex; align-items:center; gap:2px; margin-left:-8px}
.datenav__b{
  flex:0 0 auto; width:34px; height:34px; border:0; background:none;
  border-radius:9px; cursor:pointer; color:var(--accent);
  font-family:var(--sans); font-size:22px; line-height:1; padding:0;
}
.datenav__b:active{background:var(--accent-soft)}
.datenav__b:disabled{color:var(--line); cursor:default; background:none}
.pastnote{
  font-family:var(--sans); font-size:12px; line-height:1.45; color:var(--warn);
  background:var(--surface-2); border:1px solid var(--line);
  border-radius:9px; padding:8px 10px; margin:10px 0 0;
}

/* ── сворачиваемая карточка ──────────────────────────────────────────── */
/* Шапка карточки — кнопка. В свёрнутом виде вся карточка ровно одна строка:
   «БЛОКИ ПЛАНА · 0», ради чего сворачивание и делалось. */
.card--fold{padding:0}
.card__h--btn{
  display:flex; align-items:center; gap:10px; width:100%;
  background:none; border:0; cursor:pointer; text-align:left;
  padding:14px; margin:0; min-height:48px;
}
.card__h--btn .card__c{margin-left:auto}
.card__chev{
  flex:0 0 auto; width:9px; height:9px; margin-left:2px;
  border-right:2px solid var(--faint); border-bottom:2px solid var(--faint);
  transform:rotate(45deg) translate(-2px,-2px); transition:transform .16s;
}
[aria-expanded="false"] .card__chev{transform:rotate(-45deg) translate(-1px,1px)}
.card__b{padding:0 14px 14px}
.card--fold .card__b > .fhint:first-child{margin-top:0}

/* ── галочка со снятием ──────────────────────────────────────────────── */
.tickrow{display:flex; align-items:center; gap:2px}
.tickrow .tick{flex:1; min-width:0}
.tick__x{
  flex:0 0 auto; width:36px; height:36px; border:0; background:none; cursor:pointer;
  color:var(--faint); font-size:21px; line-height:1; border-radius:9px; padding:0;
}
.tick__x:active{background:var(--surface-2); color:var(--bad)}
.blk .tickrow{align-items:center}

/* ── быт: комната разворачивается в список дел ───────────────────────── */
.room{border-top:1px solid var(--line-soft)}
.room:first-child{border-top:0}
.room__h{
  display:flex; align-items:center; gap:10px; width:100%; min-height:44px;
  background:none; border:0; cursor:pointer; text-align:left; padding:9px 2px;
}
.room__n{font-family:var(--sans); font-size:15px; font-weight:600}
.room__c{
  margin-left:auto; font-family:var(--mono); font-size:11px; color:var(--faint);
  font-variant-numeric:tabular-nums;
}
.room__b{padding:0 0 8px 10px; border-left:2px solid var(--line-soft); margin-left:4px}
.walknote{
  font-family:var(--sans); font-size:13px; color:var(--warn);
  background:var(--surface-2); border-radius:8px; padding:8px 10px; margin-bottom:10px;
}

/* ── форма добавления своего пункта ──────────────────────────────────── */
.btn--ghost{border-color:var(--line); color:var(--muted)}
.btn--ghost:active{background:var(--surface-2)}
.btn--add{margin-top:2px}
.addf{
  margin-top:10px; padding:12px; border:1px dashed var(--line);
  border-radius:11px; background:var(--surface-2);
}
.addf .flabel{margin-top:10px}
.addf .flabel:first-child{margin-top:0}
.addf .flabel i{font-style:normal; font-weight:400; color:var(--faint)}
.field--one{min-height:44px; height:44px; resize:none; padding:0 12px}
select.field--one{appearance:none; -webkit-appearance:none}
.two{display:flex; gap:10px}
.two > div{flex:1; min-width:0}
.chips{display:flex; gap:5px; flex-wrap:wrap}
.chip{
  flex:1 1 38px; min-height:40px; border:1px solid var(--line); background:var(--surface);
  border-radius:9px; cursor:pointer; font-family:var(--sans); font-size:13px;
  color:var(--muted); padding:0 4px;
}
.chip[aria-pressed="true"]{background:var(--accent); border-color:var(--accent); color:var(--surface); font-weight:600}

/* ── сводка дней ─────────────────────────────────────────────────────── */
.drow{
  display:flex; align-items:flex-start; gap:12px; text-decoration:none; color:inherit;
  padding:12px 2px; border-top:1px solid var(--line-soft);
}
.drow:first-child{border-top:0}
.drow:active{background:var(--surface-2)}
.drow__k{flex:0 0 46px; text-align:center}
.drow__k b{display:block; font-family:var(--mono); font-size:14px; font-variant-numeric:tabular-nums}
.drow__k i{display:block; font-style:normal; font-family:var(--sans); font-size:11px; color:var(--faint)}
.drow__m{flex:1; min-width:0}
.drow__t{font-size:14px; line-height:1.4; margin-top:6px}
.drow__s{font-family:var(--sans); font-size:11px; color:var(--faint); margin-top:4px}
.drow__go{flex:0 0 auto; color:var(--accent); font-family:var(--sans); font-weight:600; padding-top:2px}
.pills{display:flex; gap:5px; flex-wrap:wrap}
.pill{
  font-family:var(--mono); font-size:10.5px; padding:2px 7px; border-radius:999px;
  border:1px solid var(--line); color:var(--faint); white-space:nowrap;
}
.pill--part{color:var(--warn); border-color:var(--warn)}
.pill--full{color:var(--ok); border-color:var(--ok)}
.pill--h{color:var(--accent); border-color:var(--accent); font-weight:600}

/* ── заметки с кнопки действия ───────────────────────────────────────── */
.notes{margin-bottom:12px}
.notes__l{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px}
.notes__l li{display:flex; gap:10px; align-items:baseline; border-top:1px solid var(--line-soft); padding-top:8px}
.notes__l li:first-child{border-top:0; padding-top:0}
.notes__t{flex:0 0 auto; font-family:var(--mono); font-size:11px; color:var(--faint); font-variant-numeric:tabular-nums}
.notes__b{flex:1; min-width:0}
/* Две строки, дальше «ещё». Обрезаемый блок не растягивается флексом: иначе
   line-clamp пускает лишнюю строку без многоточия. */
.notes__x{
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; line-clamp:2;
  overflow:hidden; white-space:pre-wrap; overflow-wrap:anywhere;
}
.notes__x--open{display:block; -webkit-line-clamp:unset; line-clamp:none; overflow:visible}
.notes__more{
  border:0; background:none; cursor:pointer; padding:4px 0; min-height:32px;
  color:var(--accent); font-family:var(--sans); font-size:13px;
}
.notes__all{
  display:block; width:100%; margin-top:10px; min-height:40px; cursor:pointer;
  border:1px solid var(--line); border-radius:9px; background:transparent;
  color:var(--muted); font-family:var(--sans); font-size:13px;
}
.notes__all:active{background:var(--surface-2)}
.notes__l .tick__x{margin:-8px -6px -8px 0; align-self:flex-start}
/* Поле новой заметки: одна строка, растёт по тексту, стрелка появляется,
   только когда есть что отправить. Пустой список — поле сразу под заголовком. */
.notes__new{position:relative; margin-top:12px}
.notes__l:empty + .notes__all[hidden] + .notes__new{margin-top:0}
.notes__in{
  display:block; min-height:44px; max-height:168px; resize:none; overflow-y:auto;
  padding:9px 48px 9px 13px; font-size:15px; line-height:1.5;
}
.notes__send{
  position:absolute; right:6px; bottom:6px; width:32px; height:32px; padding:0;
  border:0; border-radius:9px; background:var(--accent); color:var(--surface);
  display:grid; place-items:center; cursor:pointer;
}
.notes__send[hidden]{display:none}
.notes__send svg{width:16px; height:16px}
.notes__send:active{opacity:.8}
.notes__send:disabled{opacity:.5; cursor:default}

/* ── все заметки ─────────────────────────────────────────────────────── */
.nday{
  display:block; margin:18px 0 8px; font-family:var(--sans); font-size:12px; font-weight:600;
  color:var(--accent); text-decoration:none; padding:6px 0;
}
.nday:first-child{margin-top:0}

/* ── что сделано: сводки сессий из /wrap ─────────────────────────────── */
.work__ps{display:flex; gap:4px; flex-wrap:wrap; margin-bottom:3px}
.work__p{
  font-family:var(--sans); font-size:11px; font-weight:600; color:var(--accent);
  background:var(--accent-soft); border-radius:6px; padding:1px 6px;
}
.work__f{margin-bottom:14px}
/* Колонка времени одной ширины: у перенесённых из PROGRESS вместо «19:09 CDT» — «—». */
.work__l .notes__t{min-width:9ch}

/* ── деньги и привычки ───────────────────────────────────────────────── */
.mn{margin-bottom:12px}
.mn-chips{margin-bottom:12px}
.mn-chips .mn-clean{flex:2 1 110px}
.mn-chips .chip[data-mh]:not(.mn-clean)[aria-pressed="true"]{background:var(--bad); border-color:var(--bad)}
.mn-chips .mn-l{flex:0 0 52px; font-family:var(--mono); font-size:15px; font-weight:600}
.mv{list-style:none; margin:0; padding:0}
.mv li{display:flex; align-items:center; gap:10px; border-top:1px solid var(--line-soft); padding:4px 0 4px 4px}
.mv li:first-child{border-top:0}
.mv-a{flex:0 0 auto; font-family:var(--mono); font-size:14px; font-variant-numeric:tabular-nums}
.mv-a--out{color:var(--ink)}
.mv-a--in{color:var(--ok)}
.mv-w{flex:1; min-width:0; font-size:15px; overflow-wrap:anywhere}
.mv-dir{margin-bottom:10px}
.mv-amt{flex:0 0 38%}
.mv-week{display:flex; flex-wrap:wrap; gap:4px 14px; margin-top:12px; font-family:var(--mono); font-size:11px; color:var(--faint)}
[data-st="over"], [data-st="under"]{color:var(--bad)}
[data-st="ok"]{color:var(--ok)}
.mn-head{margin:2px 0; font-family:var(--sans); font-size:14px}

.mw-month{
  font-family:var(--sans); font-size:11px; font-weight:700; letter-spacing:.13em;
  text-transform:uppercase; color:var(--faint); margin:12px 0 4px;
}
.mw-month:first-child{margin-top:0}
.mw{display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; padding:9px 4px; border-top:1px solid var(--line-soft)}
.mw--now{background:var(--surface-2); border-radius:10px}
.mw-k{flex:1 1 auto; min-width:0; white-space:nowrap}
.mw-k b{font-family:var(--mono); font-size:14px; margin-right:6px}
.mw-k i{font-style:normal; font-family:var(--mono); font-size:11px; color:var(--faint)}
.mw-days{display:flex; gap:3px}
.mw-d{
  width:27px; height:27px; border:1px solid var(--line); border-radius:6px; display:grid; place-items:center;
  font-family:var(--mono); font-size:11px; font-weight:600; color:var(--muted); text-decoration:none;
  background:var(--surface);
}
.mw-d--ok{background:var(--accent); border-color:var(--accent); color:var(--surface)}
.mw-d--bad{border-color:var(--bad); color:var(--bad)}
.mw-d--f{border-style:dashed; background:transparent}
.mw-d--today{box-shadow:0 0 0 2px var(--accent-soft)}
.mw-pills{flex:1 1 100%}
.mw-legend{font-family:var(--mono); font-size:11px; color:var(--faint); margin:-4px 0 6px}
.mw-p--ok{color:var(--ok); border-color:var(--ok)}
.mw-p--over, .mw-p--under{color:var(--bad); border-color:var(--bad)}
.mw-p--open{color:var(--warn); border-color:var(--warn)}
.mw-p--future{opacity:.5}

.mn-per{border-top:1px solid var(--line-soft); padding-top:10px; margin-top:10px}
.card__h + .mn-per{border-top:0; padding-top:0; margin-top:0}
.mn-per__h{display:flex; justify-content:space-between; gap:10px; align-items:baseline; margin-bottom:2px}
.mn-per__h b{font-family:var(--sans); font-size:14px}
.mn-per__h i{font-style:normal; font-family:var(--sans); font-size:12px; color:var(--faint)}
.mn-key .tick__t{font-weight:600}
.mn-num{margin:8px 0 4px}
.mn-num .flabel i{font-style:normal; font-weight:400; color:var(--faint)}
.mn-nums{display:grid; grid-template-columns:repeat(auto-fit, minmax(140px, 1fr)); gap:0 10px}
.mn-cc{font-family:var(--sans); font-size:14px; margin:8px 0 2px}
.mn-cc i{font-style:normal; color:var(--faint)}
