.doctor, .shares { max-width: 1400px; margin: 0 auto; padding: 24px 16px 48px; }
.doctor h1, .shares h1 { font-size: clamp(1.5rem, 4vw, 2.2rem); margin: 12px 0; }
.doctor h2, .shares h2 { font-size: 1.25rem; margin-bottom: 12px; }
.doctor h3 { font-size: 1.05rem; margin: 0 0 8px; }
.doctor p, .shares p { margin: 8px 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.doctor__eyebrow { color: var(--color-muted); font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; }
.doctor__muted { color: var(--color-muted); font-size: .875rem; }
.doctor__section { margin-top: 28px; }
.doctor__metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.doctor__metrics > div, .doctor__card, .shares__card { padding: 16px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); margin: 12px 0; }
.doctor__metrics strong { display: block; font-size: 1.8rem; }
.doctor__metrics span { display: block; color: var(--color-muted); font-size: .875rem; }
.doctor__table-wrap { overflow-x: auto; border: 1px solid var(--color-border); border-radius: 8px; }
.doctor table { border-collapse: collapse; font-size: .875rem; width: 100%; }
.doctor th, .doctor td { text-align: left; vertical-align: top; padding: 12px; border-bottom: 1px solid var(--color-border); min-width: 140px; }
.doctor th { background: var(--color-surface); }
.doctor td:first-child, .doctor th:first-child { min-width: 100px; }
.doctor__event { margin-bottom: 12px; }
.doctor__event:last-child { margin-bottom: 0; }
.doctor__event p { margin: 4px 0; }
.doctor a, .shares a { color: var(--color-accent); display: inline-block; margin: 6px 12px 6px 0; overflow-wrap: anywhere; }
.shares { max-width: 720px; }
.shares form { display: grid; gap: 16px; margin: 24px 0; }
.shares__dates { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.shares label { display: grid; gap: 6px; }
.shares input:not([type=checkbox]), .shares select { width: 100%; box-sizing: border-box; min-width: 0; padding: 10px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-surface); color: var(--color-text); font: inherit; }
.shares fieldset { display: grid; gap: 12px; border: 1px solid var(--color-border); border-radius: 8px; padding: 16px; }
.shares .shares__check { display: flex; align-items: center; gap: 10px; }
.shares__check input { width: 20px; height: 20px; }
.shares__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.shares__url { overflow-wrap: anywhere; }
.shares__status { min-height: 1.5em; }
@media(max-width: 600px) { .doctor__metrics { grid-template-columns: repeat(2, 1fr); } }
@media print {
  .doctor { max-width: none; padding: 0; color: #000; background: #fff; font-size: 10pt; }
  .doctor__print { display: none; }
  .doctor__table-wrap { overflow: visible; border: none; }
  .doctor table { font-size: 8pt; table-layout: fixed; }
  .doctor th, .doctor td { min-width: 0; padding: 5px; overflow-wrap: anywhere; }
  .doctor thead { display: table-header-group; }
  .doctor__card, .doctor__metrics { break-inside: avoid; }
}

/* Одна внешняя строка — один день; три подстроки только внутри еды и стула. */
.doctor { max-width: 2100px; }
.diary-months-scroll { overflow-x: auto; overscroll-behavior-x: contain; margin-top: 16px; }
.diary-months { display: grid; grid-template-columns: repeat(var(--month-count, 1), minmax(350px, 1fr)); gap: 16px; align-items: start; }
.diary-month { min-width: 0; }
.diary-month__title { font-size: 1.15rem; margin: 0 0 12px; }
.diary-table { border: 1px solid var(--color-border); border-radius: 8px; overflow: hidden; background: var(--color-surface); }
.diary-table__head, .diary-day { display: grid; grid-template-columns: 6% 12% 12% 10% 12% 48%; }
.diary-table__head { background: var(--color-bg); color: var(--color-muted); font-size: 10px; text-align: center; font-weight: 600; }
.diary-table__head > div { padding: 8px 2px; overflow-wrap: anywhere; }
.diary-day { border-top: 1px solid var(--color-border); min-height: 78px; }
.diary-day > div { min-width: 0; border-right: 1px solid var(--color-border); }
.diary-day > div:last-child { border-right: 0; }
.diary-day__date, .diary-day__total, .diary-day__mean { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 3px 1px; }
.diary-day__date { font-size: 11px; }
.diary-day__date small { font-size: 9px; color: var(--color-muted); margin-top: 4px; }
.diary-day__date button { border: 0; background: transparent; color: var(--color-accent); font: inherit; font-weight: 700; min-height: 32px; width: 100%; cursor: pointer; padding: 0; }
.diary-day__total { font-size: 15px; font-weight: 700; }
.diary-day__mean { font-size: 17px; font-weight: 600; }
.diary-day__parts { display: grid; grid-template-rows: repeat(3, minmax(26px, 1fr)); text-align: center; font-size: 12px; }
.diary-day__part { display: flex; align-items: center; justify-content: center; padding: 3px 2px; overflow-wrap: anywhere; }
.diary-day__part + .diary-day__part { border-top: 1px solid var(--color-border); }
.diary-day__other { font-size: 11px; line-height: 1.45; padding: 7px 5px; display: flex; align-items: center; justify-content: center; }
.diary-day__other p { margin: 0 0 5px; white-space: pre-wrap; }
.diary-day__other p:last-child { margin-bottom: 0; }
.diary-day__vomit { color: var(--color-danger); }
.diary-day__note { border-top: 1px dotted var(--color-border); padding-top: 5px; }
.diary-day__exam { font-weight: 600; }
.diary-day__empty { color: var(--color-muted); }
.diary-day--empty { background: var(--color-bg); }
.diary-table__file { font-size: inherit; }
.diary-table__legend { max-width: 1000px; }
.doctor__summary > summary { cursor: pointer; font-weight: 600; padding: 12px 0; }
.table-screen { max-width: 1100px; margin: auto; padding: 12px 16px 32px; }
.table-screen__controls { position: sticky; top: 0; z-index: 5; background: var(--color-bg); padding: 4px 0 12px; }
.table-screen__pager { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.table-screen__pager h1 { font-size: 1.3rem; margin: 8px 0; text-align: center; }
.table-screen .diary-month__title { display: none; }
.table-screen .diary-day__other { font-size: 13px; }
.table-screen .diary-day__total { font-size: clamp(15px, 3vw, 25px); }
.table-screen .diary-day__mean { font-size: clamp(17px, 3vw, 25px); }
.table-screen .diary-day__parts { font-size: 14px; }
.table-screen__status { min-height: 1.5em; color: var(--color-muted); }
@media print {
  .doctor__summary { display: none; }
  .diary-months-scroll { overflow: visible; }
  .diary-months { grid-template-columns: repeat(var(--month-count, 1), minmax(0, 1fr)); gap: 8px; }
  .diary-day { break-inside: avoid; }
  .diary-day__other { font-size: 7pt; }
  .diary-day__total, .diary-day__mean { font-size: 9pt; }
  .diary-day__parts { font-size: 8pt; }
  @page { size: landscape; margin: 8mm; }
}
.diary-table__head > div:first-child { padding-left: 0; padding-right: 0; font-size: 9px; }
.table-screen .diary-months { grid-template-columns: minmax(0, 1fr); }
.diary-day__part { overflow-wrap: normal; word-break: normal; font-variant-numeric: tabular-nums; }
.diary-table__head > div:first-child { white-space: nowrap; }
.doctor__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.doctor__head h1 { font-size: clamp(1.3rem, 3vw, 1.8rem); margin: 4px 0 8px; }
.doctor__head .btn { flex: 0 0 auto; }
.doctor__actions { display: flex; align-items: center; gap: 16px; }
.doctor__theme { margin: 0; }
.doctor__theme .theme-switch__btn { padding: 8px 12px; font-size: .85rem; }
@media(max-width: 700px) { .doctor__head { flex-wrap: wrap; } .doctor__actions { width: 100%; justify-content: space-between; gap: 8px; } }
@media print { .doctor__theme { display: none; } }
.doctor > .doctor__section:first-of-type { margin-top: 16px; }
.doctor details > summary { cursor: pointer; }
.doctor-charts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; align-items: start; }
.doctor-charts .chart-figure { min-width: 0; break-inside: avoid; }
.doctor-charts__readout { min-height: 1.5em; }
.doctor-charts__legend { display: flex; flex-wrap: wrap; gap: 16px; font-size: .85rem; color: var(--color-muted); }
.doctor-charts__key::before { content: ''; display: inline-block; width: 20px; height: 7px; border-radius: 4px; margin-right: 6px; background: var(--color-accent); }
.doctor-charts__key[data-kind=food]::before { background: var(--timeline-food, #6c9d68); }
.doctor-charts__key[data-kind=addition]::before { background: var(--timeline-pate, #b68b62); }
.doctor-period { display: grid; gap: 12px; margin-top: 20px; padding: 16px; border: 1px solid var(--color-border); border-radius: 12px; background: var(--color-surface); }
.doctor-period__presets, .doctor-period__dates { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.doctor-period__dates label { display: grid; gap: 6px; font-size: .85rem; color: var(--color-muted); }
.doctor-period input { box-sizing: border-box; min-width: 0; padding: 10px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-bg); color: var(--color-text); font: inherit; }
.doctor-period__preset--active { background: var(--color-accent); color: var(--color-bg); }
.doctor-period__error:empty { display: none; }
.doctor-period__error { color: var(--c-bad); font-size: .85rem; }
.doctor .doctor-period__hint { color: var(--color-muted); font-size: .8rem; margin: 0; }
@media(max-width: 600px) { .doctor-period__dates { display: grid; grid-template-columns: 1fr 1fr; } .doctor-period__dates label { min-width: 0; } .doctor-period input { width: 100%; } .doctor-period__presets { gap: 6px; } .doctor-period__presets .btn { padding: 9px 12px; font-size: .85rem; } }
@media print { .doctor-period { display: none; } }
.diary-day__icons { display: grid; grid-template-columns: repeat(5, minmax(0, 36px)); gap: 3px; width: 100%; justify-content: center; }
.diary-day__icon { display: flex; align-items: center; justify-content: center; min-width: 0; height: 36px; padding: 3px; border: 1px solid transparent; border-radius: 7px; background: transparent; color: var(--color-muted); font: inherit; }
.diary-day__icon:disabled { opacity: .25; cursor: default; }
.diary-day__icon--active { cursor: pointer; color: var(--color-accent); background: color-mix(in oklab, var(--color-accent) 12%, transparent); }
.diary-day__icon--active[data-kind=vomit] { color: var(--c-bad); background: color-mix(in oklab, var(--c-bad) 14%, transparent); }
.diary-day__icon--active:hover, .diary-day__icon:focus-visible { border-color: currentColor; outline: 2px solid var(--color-accent); outline-offset: 1px; }
.diary-day__symbol { width: 20px; height: 20px; flex: 0 0 auto; }
.diary-details-mask { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 16px; background: #0008; }
.diary-details { width: min(100%, 640px); max-height: 85dvh; display: flex; flex-direction: column; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface); color: var(--color-text); box-shadow: 0 16px 60px #0005; }
.diary-details__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 16px; border-bottom: 1px solid var(--color-border); }
.diary-details__head h2 { font-size: 1.1rem; margin: 0; }
.diary-details__close { border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; font-size: 28px; width: 44px; height: 44px; flex: 0 0 auto; }
.diary-details__body { overflow-y: auto; overscroll-behavior: contain; padding: 0 16px 16px; }
.diary-details__item { padding-top: 16px; }
.diary-details__item + .diary-details__item { border-top: 1px solid var(--color-border); margin-top: 16px; }
.diary-details__item h3 { font-size: .95rem; margin: 0 0 8px; }
.diary-details__item p { margin: 8px 0; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.5; }
.diary-details__file { display: block; color: var(--color-accent); overflow-wrap: anywhere; }
.diary-details__file img { display: block; max-width: 100%; max-height: 260px; object-fit: contain; margin-bottom: 8px; }
@media print { .diary-details-mask { display: none; } }
@media(max-width: 600px) {
  .doctor__head { align-items: flex-start; }
  .doctor__head .btn { font-size: 12px; padding: 10px; }
  .table-screen .diary-day__parts { font-size: 12px; }
}
