:root {
  --ground: #f5f5f7; --surface: #ffffff; --hover: #fbfbfd;
  --text: #1d1d1f; --text-2: #6e6e73; --text-3: #86868b; --faint: #d2d2d7;
  --hairline: rgba(0,0,0,.07); --accent: #0071e3; --accent-text: #0066cc;
  --live: #30d158; --heat: #ff6b00; --danger: #ff3b30; --indigo: #5e5ce6;
  --track: #e8e8ed;
  --r-card: 18px; --r-panel: 22px; --r-thumb: 12px; --r-pill: 999px;
  --sh-card: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.05);
  --sh-panel: 0 1px 3px rgba(0,0,0,.05), 0 14px 40px rgba(0,0,0,.05);
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", sans-serif;
  --ease: cubic-bezier(.22,1,.36,1);
}
@media (prefers-color-scheme: dark) {
  :root {
    --ground: #000; --surface: #1c1c1e; --hover: #232325; --text: #f5f5f7;
    --text-2: #a1a1a6; --text-3: #8e8e93; --faint: #48484a; --track: #3a3a3c;
    --hairline: rgba(255,255,255,.12); --accent: #0a84ff; --accent-text: #409cff;
    --sh-card: 0 1px 2px rgba(0,0,0,.5), 0 8px 24px rgba(0,0,0,.35);
    --sh-panel: 0 1px 3px rgba(0,0,0,.5), 0 14px 40px rgba(0,0,0,.4);
  }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--ground); color: var(--text); font: 15px/1.45 var(--font); -webkit-font-smoothing: antialiased; padding: 26px 28px 60px; }
h1 { margin: 0; font-size: 30px; letter-spacing: -.03em; }
h2 { margin: 26px 0 10px; font-size: 12.5px; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; color: var(--text-2); }
h2:first-child { margin-top: 0; }
.muted { color: var(--text-3); font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 12.5px; }
.top { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 8px; }
.date { margin: 4px 0 0; color: var(--text-2); font-size: 13px; font-variant-numeric: tabular-nums; }
.meters { display: flex; align-items: center; gap: 14px; }
.meter { min-width: 170px; background: var(--surface); border-radius: var(--r-card); padding: 10px 14px; box-shadow: var(--sh-card); }
.meter-row { display: flex; justify-content: space-between; font-size: 12.5px; font-weight: 600; margin-bottom: 6px; }
.bar { height: 6px; background: var(--track); border-radius: 999px; overflow: hidden; }
.bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--accent), var(--indigo)); border-radius: 999px; transition: width .4s var(--ease); }
.streak { font-weight: 650; font-size: 14px; white-space: nowrap; color: var(--heat); }
.grid { display: grid; grid-template-columns: 280px minmax(0, 1fr) 300px; gap: 26px; align-items: start; max-width: 1240px; }
.stack { display: flex; flex-direction: column; gap: 8px; }
.card { background: var(--surface); border-radius: var(--r-panel); box-shadow: var(--sh-panel); padding: 10px 14px; }
.task { display: flex; align-items: center; gap: 10px; background: var(--surface); border-radius: var(--r-card); box-shadow: var(--sh-card); padding: 12px 14px; }
.task.done .t-title { text-decoration: line-through; color: var(--text-3); }
.check { width: 26px; height: 26px; flex: 0 0 auto; border-radius: 50%; border: 1.5px solid var(--faint); background: transparent; display: grid; place-items: center; color: transparent; font-size: 13px; font-weight: 700; cursor: pointer; transition: all .18s var(--ease); }
.check:hover { border-color: var(--live); color: var(--live); }
.task.done .check { background: var(--live); border-color: var(--live); color: #fff; }
.t-main { flex: 1; min-width: 0; }
.t-title { font-size: 14.5px; font-weight: 600; letter-spacing: -.01em; word-break: break-word; }
.t-meta { margin-top: 2px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12px; color: var(--text-2); font-variant-numeric: tabular-nums; }
.pill { border-radius: 6px; padding: 1px 7px; font-size: 11px; font-weight: 600; background: color-mix(in srgb, var(--accent) 10%, transparent); color: var(--accent-text); }
.pill.andrey { background: color-mix(in srgb, var(--live) 13%, transparent); color: #1c8a3a; }
.pill.brand { background: color-mix(in srgb, var(--indigo) 12%, transparent); color: var(--indigo); }
.pill.incoming { background: color-mix(in srgb, var(--heat) 12%, transparent); color: var(--heat); }
.late { color: var(--amber); font-weight: 600; }
.t-actions { display: flex; gap: 6px; flex: 0 0 auto; }
.ibtn { border: 1px solid var(--hairline); background: transparent; color: var(--text-3); border-radius: 12px; height: 30px; padding: 0 9px; font-size: 12px; font-weight: 600; cursor: pointer; transition: background .18s; }
.ibtn:hover { background: var(--hover); color: var(--text); }
.btn { border: 0; border-radius: var(--r-pill); height: 40px; padding: 0 18px; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; transition: transform .18s var(--ease), background .18s; }
.btn:active { transform: scale(.975); }
.btn.ghost { background: transparent; color: var(--accent-text); }
.btn.ghost:hover { background: color-mix(in srgb, var(--accent) 7%, transparent); }
.btn.wide { width: 100%; margin-top: 10px; }
.hab { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--hairline); }
.hab:first-child { border-top: 0; }
.hab .icon { width: 30px; height: 30px; border-radius: 12px; display: grid; place-items: center; background: color-mix(in srgb, var(--text) 5%, transparent); font-size: 15px; }
.hab .body { flex: 1; min-width: 0; }
.hab .name { font-size: 13.5px; font-weight: 600; }
.hab .sub { font-size: 11.5px; color: var(--text-3); margin-top: 1px; }
.week { display: flex; gap: 3px; margin-top: 5px; }
.week i { width: 10px; height: 6px; border-radius: 6px; background: var(--track); }
.week i.on { background: var(--live); }
.cat { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--hairline); font-size: 13.5px; }
.cat:first-child { border-top: 0; }
.cat .grow { flex: 1; }
.cat b { font-variant-numeric: tabular-nums; }
.cat .od { color: var(--amber); font-size: 11.5px; font-weight: 600; }
.cat .od.crit { color: var(--danger); }
.totals-row { display: flex; justify-content: space-between; padding: 7px 0; border-top: 1px solid var(--hairline); font-size: 13px; }
.totals-row:first-child { border-top: 0; }
.totals-row b { font-variant-numeric: tabular-nums; }
.backlog { margin-top: 10px; max-height: 340px; overflow: auto; }
.backlog .task { box-shadow: none; border-radius: 12px; padding: 8px 6px; background: transparent; }
.toast { position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%); background: color-mix(in srgb, var(--text) 88%, transparent); color: var(--ground); padding: 10px 16px; border-radius: var(--r-pill); font-size: 13.5px; box-shadow: var(--sh-panel); z-index: 10; }
[hidden] { display: none !important; }
@media (max-width: 1050px) { .grid { grid-template-columns: 1fr; } body { padding: 18px; } }

/* страница «Все задачи» */
body.wide { max-width: 1240px; margin: 0 auto; padding: 22px 28px 60px; }
.back { display: inline-block; font-size: 13px; font-weight: 600; color: var(--accent-text); text-decoration: none; margin-bottom: 6px; }
.back:hover { text-decoration: underline; }
.toolbar { position: sticky; top: 0; z-index: 5; background: var(--ground); padding: 12px 0 14px; display: flex; flex-direction: column; gap: 10px; border-bottom: 1px solid var(--hairline); margin-bottom: 14px; }
.search { height: 42px; border-radius: 12px; border: 1px solid var(--hairline); background: var(--surface); color: var(--text); padding: 0 14px; font: inherit; box-shadow: var(--sh-card); outline: none; }
.search:focus { border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 14%, transparent); }
.chipsrow { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.chipsrow::-webkit-scrollbar { display: none; }
.fchip { border: 1px solid var(--hairline); background: var(--surface); color: var(--text-2); border-radius: 999px; height: 32px; padding: 0 12px; font-size: 12.5px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: background .18s, color .18s; }
.fchip.on { background: var(--accent); color: #fff; border-color: transparent; }
.select { align-self: flex-start; height: 38px; border-radius: 12px; border: 1px solid var(--hairline); background: var(--surface); color: var(--text); font: inherit; font-size: 13px; padding: 0 10px; }
h2.section { margin: 20px 0 10px; }
h2.section:first-child { margin-top: 0; }
h2.section.red { color: var(--amber); }

/* канбан */
.board-toolbar { padding-bottom: 8px; }
.board { display: flex; gap: 14px; align-items: flex-start; overflow-x: auto; padding: 6px 2px 16px; scrollbar-width: thin; }
.column { flex: 0 0 auto; width: 300px; display: flex; flex-direction: column; gap: 8px; max-height: calc(100vh - 290px); }
.colhead { background: var(--surface); border-radius: var(--r-card); box-shadow: var(--sh-card); padding: 10px 12px 9px; }
.coltitle { font-size: 14px; font-weight: 700; letter-spacing: -.01em; }
.coltitle .muted { font-weight: 600; margin-left: 4px; }
.colsub { margin-top: 2px; font-size: 12px; color: var(--text-2); }
.colsub.bad { color: var(--amber); font-weight: 600; }
.colbody { overflow-y: auto; display: flex; flex-direction: column; gap: 8px; padding: 2px; border-radius: 16px; min-height: 70px; }
.column.over .colbody { outline: 2px dashed var(--accent); outline-offset: 2px; background: color-mix(in srgb, var(--accent) 5%, transparent); }
.colempty { color: var(--text-3); font-size: 12.5px; padding: 18px 10px; text-align: center; border: 1px dashed var(--hairline); border-radius: 12px; }
.bcard { background: var(--surface); border-radius: 16px; box-shadow: var(--sh-card); padding: 10px 11px; cursor: grab; transition: box-shadow .18s var(--ease), transform .18s var(--ease); }
.bcard:active { cursor: grabbing; }
.bcard:hover { box-shadow: var(--sh-panel); transform: translateY(-1px); }
.bcard-title { font-size: 13.5px; font-weight: 600; line-height: 1.35; letter-spacing: -.01em; word-break: break-word; }
.bcard-meta { margin-top: 5px; display: flex; flex-wrap: wrap; gap: 5px; align-items: center; font-size: 11.5px; color: var(--text-2); font-variant-numeric: tabular-nums; }
.bcard-actions { display: flex; gap: 4px; justify-content: flex-end; margin-top: 6px; }
.bcard-actions .ibtn { height: 26px; padding: 0 8px; font-size: 12px; }
.hotwrap { position: relative; padding-top: 16px; }
.hotwrap .bcard { box-shadow: 0 0 0 2px color-mix(in srgb, var(--heat) 45%, transparent), var(--sh-card); }
.badge-hot { position: absolute; top: 0; left: 6px; font-size: 10px; font-weight: 700; letter-spacing: .03em; color: var(--heat); background: color-mix(in srgb, var(--heat) 13%, var(--surface)); padding: 2px 7px; border-radius: 6px 6px 0 0; }
.pill.overdue { background: var(--amber-soft); color: var(--amber); }
.pill.hotpill { background: color-mix(in srgb, var(--heat) 13%, transparent); color: var(--heat); }
.todaybar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: color-mix(in srgb, var(--accent) 7%, var(--surface)); border: 1px solid color-mix(in srgb, var(--accent) 18%, transparent); border-radius: 16px; padding: 10px 14px; margin-bottom: 14px; }
.todaybar.over { outline: 2px dashed var(--accent); }
.todaylabel { font-size: 13px; white-space: nowrap; }
.todaychips { display: flex; gap: 6px; flex-wrap: wrap; flex: 1; }
.chip-today { display: inline-flex; align-items: center; gap: 6px; background: var(--surface); border: 1px solid var(--hairline); border-radius: 999px; padding: 5px 6px 5px 11px; font-size: 12.5px; font-weight: 500; cursor: grab; }
.chip-today button { border: 0; background: transparent; color: var(--text-3); font-size: 14px; line-height: 1; cursor: pointer; padding: 0 2px; }
.todayhint { font-size: 11.5px; color: var(--text-3); }
@media (max-width: 900px) { .column { width: 78vw; } .board { max-height: none; } .column { max-height: none; } }

/* спокойная палитра: янтарный вместо красного на просрочках */
:root { --amber: #b26b00; --amber-soft: rgba(255, 159, 10, .14); }
@media (prefers-color-scheme: dark) { :root { --amber: #ffb340; --amber-soft: rgba(255, 159, 10, .18); } }
.late { color: var(--amber); font-weight: 600; }
.late.crit { color: var(--danger); }
.pill.overdue { background: var(--amber-soft); color: var(--amber); }
.pill.crit { background: color-mix(in srgb, var(--danger) 12%, transparent); color: var(--danger); }
.colsub.bad { color: var(--amber); font-weight: 600; }
.colsub.crit { color: var(--danger); font-weight: 600; }
h2.section.warn { color: var(--amber); }
.bcard { border-left: 3px solid transparent; }
.bcard.lvl-warn { border-left-color: color-mix(in srgb, var(--amber) 55%, transparent); }
.bcard.lvl-crit { border-left-color: color-mix(in srgb, var(--danger) 60%, transparent); }
.bcard-actions .ibtn { opacity: .5; }
.bcard:hover .bcard-actions .ibtn { opacity: 1; }
.hotwrap .bcard { box-shadow: 0 0 0 1px color-mix(in srgb, var(--amber) 35%, transparent), var(--sh-card); }
.badge-hot { color: var(--amber); background: var(--amber-soft); }

/* «Поручено»: по исполнителям */
.delegated { display: flex; flex-direction: column; gap: 18px; }
.deleg-head { display: flex; align-items: baseline; gap: 12px; padding: 0 4px 8px; }
.deleg-name { font-size: 18px; font-weight: 700; letter-spacing: -.02em; }
.deleg-meta { font-size: 12.5px; color: var(--text-2); }
.deleg-meta.bad { color: var(--amber); font-weight: 600; }
.deleg-meta.crit { color: var(--danger); font-weight: 600; }
.deleg-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px; }
.deleg-list .bcard { border-left-width: 3px; border-left-style: solid; border-left-color: transparent; }
.deleg-list .bcard.lvl-warn { border-left-color: color-mix(in srgb, var(--amber) 55%, transparent); }
.deleg-list .bcard.lvl-crit { border-left-color: color-mix(in srgb, var(--danger) 60%, transparent); }


/* блокнот идей */
.notebook { padding: 10px; display: flex; flex-direction: column; gap: 8px; }
.nb-row { display: flex; gap: 6px; }
.nb-input { flex: 1; min-width: 0; height: 34px; border-radius: 12px; border: 1px solid var(--hairline); background: var(--ground); color: var(--text); padding: 0 10px; font: inherit; font-size: 12.5px; }
.nb-input:focus { outline: 2px solid color-mix(in srgb, var(--accent) 35%, transparent); outline-offset: 1px; }
.nb-add { height: 34px; width: 38px; padding: 0; border-radius: 12px; font-size: 18px; font-weight: 600; }
.nb-topics { display: flex; flex-wrap: wrap; gap: 5px; }
.nb-chip { border: 1px solid var(--hairline); background: transparent; color: var(--text-2); border-radius: 999px; padding: 3px 9px; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.nb-chip.on { background: var(--accent); color: #fff; border-color: transparent; }
.ideas { display: flex; flex-direction: column; gap: 6px; max-height: 280px; overflow-y: auto; padding-right: 2px; }
.nb-group { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--text-3); margin-top: 2px; }
.idea { border-left: 3px solid var(--hairline); background: var(--ground); border-radius: 6px; padding: 6px 8px; }
.idea.doing { border-left-color: var(--amber); }
.idea.task { opacity: .6; }
.idea-text { font-size: 12.2px; line-height: 1.3; word-break: break-word; }
.idea-meta { display: flex; align-items: center; gap: 5px; margin-top: 3px; flex-wrap: wrap; }
.idea-status { font-size: 10.5px; color: var(--text-3); }
.idea-actions { margin-left: auto; display: flex; gap: 3px; }
.idea-actions .ibtn { height: 22px; padding: 0 6px; font-size: 11px; border-radius: 6px; }
.nb-empty { font-size: 12px; color: var(--text-3); padding: 8px 2px; }
.nb-more { align-self: flex-start; }

/* блокнот в стиле iOS Notes: бумага в линейку и красная поля */
.notebook { position: relative; background: #fffdf6; border: 1px solid #e6dfc9; border-radius: 16px; padding: 10px 10px 12px 40px; box-shadow: 0 1px 0 rgba(255,255,255,.9) inset, var(--sh-card); background-image: repeating-linear-gradient(to bottom, transparent 0 25px, rgba(106,146,196,.22) 25px 26px); background-position: 0 5px; }
.notebook::before { content: ''; position: absolute; left: 30px; top: 6px; bottom: 6px; width: 1px; background: rgba(226,110,110,.45); }
.notebook::after { content: ''; position: absolute; left: 14px; top: 14px; width: 7px; height: 7px; border-radius: 50%; background: rgba(0,0,0,.07); box-shadow: 0 18px 0 rgba(0,0,0,.07), 0 36px 0 rgba(0,0,0,.07), 0 54px 0 rgba(0,0,0,.07), 0 72px 0 rgba(0,0,0,.07), 0 90px 0 rgba(0,0,0,.07), 0 108px 0 rgba(0,0,0,.07), 0 126px 0 rgba(0,0,0,.07), 0 144px 0 rgba(0,0,0,.07), 0 162px 0 rgba(0,0,0,.07), 0 180px 0 rgba(0,0,0,.07), 0 198px 0 rgba(0,0,0,.07), 0 216px 0 rgba(0,0,0,.07), 0 234px 0 rgba(0,0,0,.07); }
.notebook .nb-input { background: transparent; border: 0; border-bottom: 1px dashed rgba(106,146,196,.35); border-radius: 0; height: 26px; padding: 0 2px; font-size: 12.5px; }
.notebook .nb-input:focus { outline: none; border-bottom-color: var(--accent); }
.notebook .nb-add { background: var(--accent); color: #fff; height: 26px; width: 28px; border-radius: 6px; font-size: 15px; align-self: flex-end; }
.nb-chip { background: rgba(255,255,255,.65); border-color: rgba(106,146,196,.25); color: #44525f; }
.nb-chip.on { background: #1a5fa8; border-color: transparent; color: #fff; }
.notebook .ideas { max-height: 230px; }
.notebook .idea { background: transparent; border: 0; border-radius: 0; padding: 2px 0; }
.notebook .idea.doing { border-left: 2px solid var(--amber); padding-left: 6px; }
.notebook .nb-group { color: #7c8894; }
.notebook .nb-empty { color: #8a949e; }

/* весь список задач справа */
.alltasks { display: flex; flex-direction: column; gap: 6px; padding: 10px; }
.all-list { display: flex; flex-direction: column; gap: 3px; max-height: 430px; overflow-y: auto; padding-right: 2px; }
.atask { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; border: 0; background: transparent; padding: 5px 6px; border-radius: 6px; text-align: left; cursor: pointer; font: inherit; color: var(--text); }
.atask:hover { background: var(--hover); }
.at-title { font-size: 12px; font-weight: 600; line-height: 1.25; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.at-meta { font-size: 10.5px; color: var(--text-3); }
.at-meta.late { color: var(--amber); font-weight: 600; }

/* шторка с подробностями задачи (iOS sheet) */
body.sheet-open { overflow: hidden; }
.sheetwrap { position: fixed; inset: 0; z-index: 50; display: flex; align-items: flex-end; justify-content: center; }
.sheet-backdrop { position: absolute; inset: 0; background: rgba(15,18,22,.38); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.sheet { position: relative; width: min(560px, 94vw); max-height: 84vh; overflow-y: auto; background: var(--surface); border-radius: 22px 22px 0 0; padding: 10px 18px 18px; box-shadow: 0 -12px 44px rgba(0,0,0,.28); animation: sheetUp .28s var(--ease); }
.sheet-grip { width: 36px; height: 4px; border-radius: 999px; background: var(--faint); margin: 2px auto 12px; }
.sheet-title { font-size: 18px; font-weight: 700; line-height: 1.25; letter-spacing: -.01em; }
.sheet-pills { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.sheet-meta { margin-top: 8px; font-size: 12.5px; color: var(--text-2); }
.sheet-meta.late { color: var(--amber); font-weight: 600; }
.sheet-desc { margin-top: 10px; font-size: 13px; line-height: 1.45; white-space: pre-wrap; color: var(--text); background: var(--ground); border-radius: 12px; padding: 10px; max-height: 30vh; overflow: auto; }
.sheet-desc.muted { color: var(--text-3); }
.sheet-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.sheet-actions .btn { height: 36px; padding: 0 14px; font-size: 13px; text-decoration: none; display: inline-flex; align-items: center; }
.sheet-close { margin-top: 14px; width: 100%; height: 38px; border: 0; border-radius: 12px; background: var(--ground); font: inherit; font-size: 13px; font-weight: 600; color: var(--text-2); cursor: pointer; }
@keyframes sheetUp { from { transform: translateY(26px); opacity: .5; } to { transform: none; opacity: 1; } }
@media (min-width: 900px) { .sheetwrap { align-items: center; } .sheet { border-radius: 22px; } }

.sheet-row { display: flex; gap: 8px; align-items: baseline; margin-top: 8px; font-size: 12px; color: var(--text-2); }
.sheet-row b { color: var(--text); font-weight: 600; }

/* «Все задачи» — большой блок снизу, крупные строки как в «Сегодня», фильтры и DnD */
.allwide { margin-top: 26px; padding: 18px 20px 22px; background: var(--surface); border-radius: var(--r-card); box-shadow: var(--sh-panel); }
.allwide-head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.allwide-head h2 { margin: 0; }
.big-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(430px, 1fr)); gap: 8px; max-height: 520px; overflow-y: auto; padding: 2px; }
.big-list .nb-group { grid-column: 1 / -1; margin: 8px 0 2px; }
.big-list .task { align-items: flex-start; }
.task[draggable="true"] { cursor: grab; }
.task[draggable="true"]:active { cursor: grabbing; }
.drag-grip { margin-left: auto; color: var(--text-3); font-size: 14px; line-height: 1; padding: 2px 4px; user-select: none; }
.drop-over { outline: 2px dashed var(--accent); outline-offset: 3px; border-radius: 16px; }
#today.drop-over { background: color-mix(in srgb, var(--accent) 6%, transparent); }
.notebook.drop-over { outline-offset: 4px; }
.allwide.drop-over { outline-offset: -3px; }
.idea[draggable="true"] { cursor: grab; }

/* макет: основное окно слева, «Все задачи» — справа под уровнем и огоньком */
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; align-items: start; max-width: 1640px; margin: 0 auto; }
.layout .grid { max-width: none; }
.sidebar { position: sticky; top: 16px; display: flex; flex-direction: column; gap: 10px; background: var(--surface); border-radius: var(--r-panel); box-shadow: var(--sh-panel); padding: 14px 14px 16px; max-height: calc(100vh - 32px); }
.side-head { display: flex; flex-direction: column; gap: 8px; }
.side-head h2 { margin: 0; }
.side-list { display: flex; flex-direction: column; gap: 6px; overflow-y: auto; flex: 1; min-height: 0; padding-right: 2px; }
.side-list .task.big { padding: 9px 10px; border-radius: 16px; }
.side-list .t-title { font-size: 13px; }
.side-list .nb-group { margin: 8px 0 0; }
.side-list .nb-group.red { color: var(--amber); }
.row-actions { display: flex; align-items: center; gap: 4px; margin-left: auto; flex: 0 0 auto; }
.ibtn.mini { height: 24px; padding: 0 6px; font-size: 12px; border-radius: 6px; }
.task.big { align-items: flex-start; }
.task.big .t-meta { font-size: 11.5px; }

/* форма редактирования в шторке */
.sheet-form { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--hairline); }
.sf-row { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--text-2); }
.sf-row > span { width: 96px; flex: 0 0 auto; }
.sf-col { display: flex; flex-direction: column; gap: 6px; font-size: 12.5px; color: var(--text-2); }
.sheet-select, .sheet-input, .sheet-textarea { flex: 1; min-width: 0; border: 1px solid var(--hairline); background: var(--ground); color: var(--text); border-radius: 12px; height: 32px; padding: 0 9px; font: inherit; font-size: 12.5px; }
.sheet-textarea { height: auto; padding: 8px 9px; resize: vertical; }
.sf-btn { height: 30px; padding: 0 10px; font-size: 12px; flex: 0 0 auto; }
.sf-check { display: flex; align-items: center; gap: 6px; color: var(--text); font-size: 12.5px; }
@media (max-width: 1250px) {
  .layout { grid-template-columns: 1fr; }
  .sidebar { position: static; max-height: none; }
  .side-list { max-height: 560px; }
}

/* сайдбар на всю высоту страницы */
.layout { min-height: calc(100vh - 80px); }
.sidebar { position: sticky; top: 0; align-self: stretch; height: 100vh; max-height: 100vh; border-radius: 0; box-shadow: none; border-left: 1px solid var(--hairline); padding: 16px 16px 20px; background: color-mix(in srgb, var(--surface) 85%, var(--ground)); }
.sidebar .all-list { flex: 1; overflow-y: auto; }

/* док «перетащи на день» */
.plan-dock { background: var(--surface); border-radius: var(--r-card); padding: 10px 10px 8px; box-shadow: var(--sh-card); }
.dock-hint { font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); margin: 0 2px 7px; }
.dock-days { display: flex; flex-wrap: wrap; gap: 5px; }
.daychip { display: flex; flex-direction: column; align-items: center; gap: 1px; border: 1px solid var(--hairline); background: var(--ground); border-radius: 12px; padding: 5px 8px; font: inherit; font-size: 11px; font-weight: 600; color: var(--text-2); cursor: pointer; transition: background .15s, border-color .15s; }
.daychip small { font-size: 9px; font-weight: 500; color: var(--text-3); }
.daychip.today { background: color-mix(in srgb, var(--accent) 12%, transparent); color: var(--accent-text); border-color: transparent; }
.daychip.today small { color: var(--accent-text); }
.daychip:hover { border-color: var(--accent); }
.plan-dock.drop-over { outline: none; }
.daychip.chip-over { border-color: var(--accent); background: color-mix(in srgb, var(--accent) 12%, transparent); box-shadow: inset 0 0 0 2px var(--accent); }
.daychip.past, .daychip:disabled { opacity: .42; filter: grayscale(1); cursor: not-allowed; box-shadow: none; }
.daychip.past:hover { border-color: var(--hairline); }

/* фильтр «Чужие»: чьи задачи */
.assignee-bar { display: flex; flex-wrap: wrap; gap: 5px; }
.ichip { border: 1px solid var(--hairline); background: transparent; color: var(--text-2); border-radius: 999px; padding: 3px 9px; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.ichip small { color: var(--text-3); font-weight: 500; }
.ichip.on { background: var(--accent); color: #fff; border-color: transparent; }
.ichip.on small { color: rgba(255,255,255,.75); }

/* новая шторка задачи */
.sheet { padding: 14px 20px 22px; }
.sheet-top { display: flex; align-items: flex-start; gap: 12px; }
.sheet-top .sheet-title { flex: 1; font-size: 19px; }
.sheet-x { flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; border: 0; background: var(--ground); color: var(--text-3); font-size: 13px; cursor: pointer; }
.sheet-x:hover { color: var(--text); }
.sheet-pills { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.sheet-due { margin-top: 8px; font-size: 12.5px; color: var(--text-2); }
.sheet-due.late { color: var(--amber); font-weight: 600; }
.sheet-primary { display: flex; gap: 8px; margin-top: 14px; flex-wrap: wrap; }
.btn.primary { background: var(--accent); color: #fff; }
.btn.primary:hover { filter: brightness(1.05); }
.btn.small { height: 32px; padding: 0 12px; font-size: 12.5px; }
.sheet-group { margin-top: 14px; background: var(--ground); border-radius: 16px; overflow: hidden; }
.srow { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-top: 1px solid var(--hairline); font-size: 13px; }
.srow:first-child { border-top: 0; }
.slabel { color: var(--text-2); font-size: 12.5px; flex: 0 0 auto; }
.sval-input { margin-left: auto; border: 0; background: transparent; color: var(--text); font: inherit; font-size: 13px; text-align: right; max-width: 62%; }
.sval-input:focus { outline: none; color: var(--accent-text); }
.sval-text { margin-left: auto; font-size: 13px; color: var(--text); }
.srow-btn { justify-content: flex-end; border-top: 0; padding-top: 0; }
.srow-desc { border-top: 0; padding-bottom: 2px; }
.sheet-textarea { width: 100%; border: 1px solid var(--hairline); background: var(--surface); border-radius: 12px; padding: 10px; font: inherit; font-size: 13px; color: var(--text); resize: vertical; min-height: 76px; }
.sheet-textarea:focus { outline: 2px solid color-mix(in srgb, var(--accent) 30%, transparent); outline-offset: 1px; }
.shint { font-size: 10.5px; color: var(--text-3); padding: 6px 2px 10px; }
.sheet-link { display: inline-block; margin-top: 14px; font-size: 12.5px; color: var(--accent-text); text-decoration: none; font-weight: 600; }
.sheet-link:hover { text-decoration: underline; }
.switch { position: relative; margin-left: auto; width: 44px; height: 26px; flex: 0 0 auto; }
.switch input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.switch i { display: block; width: 44px; height: 26px; border-radius: 999px; background: var(--track); transition: background .2s; }
.switch i::after { content: ''; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform .2s; }
.switch input:checked + i { background: var(--live); }
.switch input:checked + i::after { transform: translateX(18px); }

/* список задач на всю высоту панели + состояния чипов дней */
.side-list { max-height: none !important; }
.sidebar { display: flex; flex-direction: column; }
.daychip.overdue { color: var(--amber); }
.daychip.overdue.active { background: var(--amber-soft); border-color: transparent; color: var(--amber); }
.daychip.alldays { color: var(--text-2); }
.daychip.active { box-shadow: inset 0 0 0 2px var(--accent); }
.daychip.today.active { background: var(--accent); color: #fff; }
.daychip.today.active small { color: rgba(255,255,255,.8); }

.srow-clear { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; border: 0; background: var(--track); color: var(--text-2); font-size: 13px; cursor: pointer; margin-left: 4px; }
.srow-clear:hover { background: color-mix(in srgb, var(--danger) 14%, transparent); color: var(--danger); }

/* встречи из календарей */
.meetings { padding: 8px 14px 10px; }
.meet-day { font-size: 10.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); margin: 10px 0 4px; }
.meet-day:first-child { margin-top: 2px; }
.meet { display: flex; align-items: flex-start; gap: 10px; padding: 7px 0; border-top: 1px solid var(--hairline); }
.meet:first-of-type { border-top: 0; }
.meet-time { flex: 0 0 auto; width: 92px; font-size: 12px; font-weight: 600; color: var(--accent-text); font-variant-numeric: tabular-nums; }
.meet-body { flex: 1; min-width: 0; }
.meet-title { font-size: 13.5px; font-weight: 600; line-height: 1.3; word-break: break-word; }
.meet-meta { margin-top: 1px; font-size: 11px; color: var(--text-3); }
.meet-link { flex: 0 0 auto; color: var(--text-3); text-decoration: none; font-size: 13px; }
.meet-link:hover { color: var(--accent-text); }
.meet-more { font-size: 11.5px; color: var(--text-3); padding-top: 8px; }

/* «Сегодня»: два списка — мои и чужие */
.tg-label { display: flex; justify-content: space-between; align-items: baseline; margin: 10px 2px 2px; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); }
.tg-label:first-child { margin-top: 0; }
.tg-label span { font-weight: 600; color: var(--text-2); text-transform: none; letter-spacing: 0; font-size: 11.5px; }
.tg-empty { font-size: 12px; color: var(--text-3); padding: 6px 2px 8px; }

/* встречи: две колонки, мои и Андрея */
.meet-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; align-items: start; }
.meet-col { min-width: 0; }
.meet-col-head { display: flex; justify-content: space-between; align-items: baseline; padding: 2px 2px 6px; border-bottom: 1px solid var(--hairline); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); }
.meet-col.andrey .meet-col-head { color: var(--indigo); }
.meet-col-head small { font-weight: 600; color: var(--text-2); }
.meet-empty { font-size: 12px; color: var(--text-3); padding: 10px 2px; }
@media (max-width: 1100px) { .meet-cols { grid-template-columns: 1fr; } }

/* встречи: общий заголовок, дни одной линией в двух колонках */
.meet-head { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 2px 2px 6px; border-bottom: 1px solid var(--hairline); font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--text-3); }
.meet-head.single { grid-template-columns: 1fr; }
.meet-owner { display: block; }
.meet-owner.andrey { color: var(--indigo); }
.meet-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; align-items: start; }
.meet-grid.single { grid-template-columns: 1fr; }
.meet-day { grid-column: 1 / -1; margin: 10px 0 2px; padding: 5px 9px; border-radius: 6px; background: color-mix(in srgb, var(--heat) 9%, transparent); color: var(--heat); font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.meet-cell { min-height: 28px; padding: 2px 0 4px; border-bottom: 1px dashed color-mix(in srgb, var(--hairline) 80%, transparent); }
.meet-cell .meet { padding: 5px 0; }
.meet-cell .meet + .meet { border-top: 1px solid var(--hairline); }

/* блокнот: линии только в списке идей, текст строго по линиям */
.notebook { background-image: none; }
.notebook .ideas { display: flex; flex-direction: column; gap: 0; max-height: 260px; overflow-y: auto; background-image: repeating-linear-gradient(to bottom, transparent 0 25px, rgba(106,146,196,.28) 25px 26px); background-position: 0 0; }
.notebook .idea { display: flex; align-items: flex-start; gap: 8px; min-height: 26px; padding: 0; border: 0; background: transparent; border-radius: 0; }
.notebook .idea.doing { border-left: 0; padding-left: 0; }
.idea-mark { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 4px; border-radius: 50%; display: grid; place-items: center; font-size: 10px; font-weight: 800; color: #fff; }
.idea-mark.brand { background: #5e5ce6; }
.idea-mark.preventage { background: #0a84ff; }
.notebook .idea-text { font-size: 12.5px; line-height: 26px; color: var(--text); word-break: break-word; }

/* единые цвета Бренд (фиолетовый) и PreventAge (синий) */
.pill.brand { background: color-mix(in srgb, #5e5ce6 14%, transparent); color: #5e5ce6; }
.pill.preventage { background: color-mix(in srgb, #0a84ff 14%, transparent); color: #0a84ff; }
.nb-chip.brand { color: #5e5ce6; border-color: color-mix(in srgb, #5e5ce6 30%, transparent); }
.nb-chip.prev { color: #0a84ff; border-color: color-mix(in srgb, #0a84ff 30%, transparent); }
.nb-chip.brand.on { background: #5e5ce6; color: #fff; border-color: transparent; }
.nb-chip.prev.on { background: #0a84ff; color: #fff; border-color: transparent; }

/* фильтр по типу задачи в правой панели */
.cat-filter { display: flex; flex-wrap: wrap; gap: 5px; }
.cat-chip { border: 1px solid var(--hairline); background: transparent; color: var(--text-2); border-radius: 999px; padding: 3px 9px; font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; }
.cat-chip small { font-weight: 500; color: var(--text-3); }
.cat-chip.all.on { background: var(--accent); color: #fff; border-color: transparent; }
.cat-chip.andrey { color: #1d7a3a; border-color: color-mix(in srgb, #1d7a3a 30%, transparent); }
.cat-chip.brand { color: #5e5ce6; border-color: color-mix(in srgb, #5e5ce6 30%, transparent); }
.cat-chip.preventage { color: #0a84ff; border-color: color-mix(in srgb, #0a84ff 30%, transparent); }
.cat-chip.andrey.on { background: #1d7a3a; color: #fff; border-color: transparent; }
.cat-chip.brand.on { background: #5e5ce6; color: #fff; border-color: transparent; }
.cat-chip.preventage.on { background: #0a84ff; color: #fff; border-color: transparent; }
.cat-chip.on small { color: rgba(255,255,255,.75); }

/* единые токены цветов типов задач */
:root { --c-andrey: #1d7a3a; --c-brand: #5e5ce6; --c-prev: #0a84ff; }
.pill.andrey { background: color-mix(in srgb, var(--c-andrey) 13%, transparent); color: var(--c-andrey); }
.pill.brand { background: color-mix(in srgb, var(--c-brand) 14%, transparent); color: var(--c-brand); }
.pill.preventage { background: color-mix(in srgb, var(--c-prev) 14%, transparent); color: var(--c-prev); }
.cat-chip.andrey { color: var(--c-andrey); border-color: color-mix(in srgb, var(--c-andrey) 30%, transparent); }
.cat-chip.brand { color: var(--c-brand); border-color: color-mix(in srgb, var(--c-brand) 30%, transparent); }
.cat-chip.preventage { color: var(--c-prev); border-color: color-mix(in srgb, var(--c-prev) 30%, transparent); }
.cat-chip.andrey.on { background: var(--c-andrey); }
.cat-chip.brand.on { background: var(--c-brand); }
.cat-chip.preventage.on { background: var(--c-prev); }
.idea-mark.brand { background: var(--c-brand); }
.idea-mark.preventage { background: var(--c-prev); }

/* шапка: день недели, дата, мотивация, погода */
.dayline { display: flex; align-items: baseline; gap: 10px; margin-top: 6px; }
.weekday { font-size: 22px; font-weight: 750; letter-spacing: -.02em; color: var(--text); }
.daydate { font-size: 13px; font-weight: 600; color: var(--accent-text); background: color-mix(in srgb, var(--accent) 10%, transparent); border-radius: 999px; padding: 2px 10px; }
.motivation { margin: 6px 0 0; font-size: 12.5px; color: var(--text-2); font-style: italic; max-width: 520px; }
.weather { display: flex; align-items: center; gap: 10px; background: var(--surface); border-radius: var(--r-card); box-shadow: var(--sh-card); padding: 10px 16px; flex: 0 0 auto; }
.weather-icon { font-size: 22px; }
.weather-temp { font-size: 22px; font-weight: 700; letter-spacing: -.02em; }
.weather-info { font-size: 11.5px; color: var(--text-3); max-width: 150px; line-height: 1.25; }

.left-meters { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.left-meters .meter { min-width: 0; width: 100%; }
.left-meters .streak { justify-content: center; }

/* идеи: чип «Все» */
.nb-chip.all { color: var(--text-2); border-color: var(--hairline); }
.nb-chip.all.on { background: var(--accent); color: #fff; border-color: transparent; }

/* макет v2: блокнот слева, справа широкая панель задач, категории убраны */
.grid { grid-template-columns: 340px minmax(0, 1fr); gap: 26px; max-width: none; }
.layout { grid-template-columns: minmax(0, 1fr) 500px; gap: 24px; max-width: 1780px; }
.sidebar { width: 100%; }
@media (max-width: 1350px) {
  .layout { grid-template-columns: minmax(0, 1fr) 430px; }
}
@media (max-width: 1250px) {
  .layout { grid-template-columns: 1fr; }
}

/* выравнивание колонок: средний начинается там же, где крайние */
.grid { align-items: start; }
.col, .col-today { padding-top: 0; }
.col-today { margin-top: 0; }
.col-today #today { margin-top: 0; }
.col-today #today .tg-label:first-child { margin-top: 0; padding-top: 2px; }
/* немного выравниваем верх центральной колонки с карточками по бокам */
.col-today { padding-top: 6px; }

/* точное выравнивание: средний столбец без лишнего отступа */
.col-today { padding-top: 0 !important; }

/* Glassbook: центр — группа начинается с карточки-заголовка, а не с «голого» текста */
.col-today .tg-label {
  display: flex; align-items: center; justify-content: space-between;
  margin: 0 0 8px; padding: 9px 12px; min-height: 40px;
  background: var(--surface); border: 1px solid var(--hairline);
  border-radius: var(--r-thumb); box-shadow: var(--sh-card);
  font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--text-2);
}
.col-today .tg-label span { font-size: 11.5px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--text-2); }
.col-today .tg-label:first-child { margin-top: 0; }
.col-today .tg-empty { margin: 0 0 8px; }

/* Glassbook: правая панель — скруглённая плотная поверхность, как остальные карточки */
.sidebar {
  border-radius: var(--r-panel);
  border: 1px solid var(--hairline);
  border-left: 1px solid var(--hairline);
  box-shadow: var(--sh-panel);
  background: var(--surface);
  top: 16px;
  height: calc(100vh - 32px);
  max-height: calc(100vh - 32px);
  margin-bottom: 18px;
  overflow: hidden;
}
@media (max-width: 1250px) { .sidebar { height: auto; max-height: none; border-radius: var(--r-panel); } }

/* Glassbook: сегмент-контрол для «Мои/Чужие/Все» и хит-зоны */
.segbar { display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px; background: color-mix(in srgb, var(--text) 6%, transparent); }
.segbar .fchip { height: 28px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; color: var(--text-2); font-size: 11.5px; font-weight: 600; }
.segbar .fchip.on { background: var(--surface); color: var(--text); box-shadow: var(--sh-card); }
.cat-chip, .ichip, .daychip, .nb-chip { min-height: 28px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* Glassbook: погодная плашка — стекло навигационного слоя */
.weather {
  background: rgba(255,255,255,.72);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border: 1px solid var(--hairline);
  box-shadow: 0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.06);
}
@media (prefers-color-scheme: dark) {
  .weather { background: rgba(28,28,30,.72); }
}
/* Glassbook: хит-зоны компактных контролов — не меньше 44×44 */
.ibtn, .fchip, .cat-chip, .ichip, .nb-chip, .daychip, .sheet-x, .srow-clear { position: relative; }
.ibtn::after { content: ''; position: absolute; inset: -9px; border-radius: inherit; }
.fchip::after, .cat-chip::after, .ichip::after, .nb-chip::after, .daychip::after { content: ''; position: absolute; inset: -10px; border-radius: inherit; }
.sheet-x::after, .srow-clear::after { content: ''; position: absolute; inset: -12px; border-radius: 999px; }

/* итог по группам — под задачами, без карточной подложки */
.col-today .tg-label { display: none; }
.tg-summary { display: flex; justify-content: space-between; align-items: center; margin: 2px 2px 12px; padding: 0 2px 6px; border-bottom: 1px dashed var(--hairline); font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--text-3); }
.tg-summary span:last-child { text-transform: none; letter-spacing: 0; font-weight: 600; color: var(--text-2); }
.tg-summary.others { margin-top: 4px; }

/* номера задач и инфо о базе */
.task-num { font-size: 10.5px; font-weight: 700; color: var(--text-3); background: color-mix(in srgb, var(--text) 6%, transparent); border-radius: 6px; padding: 0 5px; font-variant-numeric: tabular-nums; }
.sheet-num { font-size: 12px; font-weight: 700; color: var(--text-3); margin-right: 7px; font-variant-numeric: tabular-nums; }

/* подсказка, если Google-календарь отключён */

/* номер идеи в блокноте */
.idea-num { flex: 0 0 auto; min-width: 22px; margin-top: 6px; font-size: 10.5px; font-weight: 700; color: var(--text-3); font-variant-numeric: tabular-nums; }

.nb-offline { margin: 0 0 8px; padding: 7px 10px; border-radius: 12px; background: color-mix(in srgb, var(--heat) 9%, transparent); color: var(--heat); font-size: 11px; font-weight: 600; }

/* проект/маркировка — кнопками, единые цвета */
.pbtn-group { display: flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
.pbtn { min-height: 30px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--hairline); background: transparent; font: inherit; font-size: 11.5px; font-weight: 650; cursor: pointer; color: var(--text-2); transition: background .16s, color .16s, border-color .16s; }
.pbtn.andrey { color: var(--c-andrey); border-color: color-mix(in srgb, var(--c-andrey) 32%, transparent); }
.pbtn.brand { color: var(--c-brand); border-color: color-mix(in srgb, var(--c-brand) 32%, transparent); }
.pbtn.preventage { color: var(--c-prev); border-color: color-mix(in srgb, var(--c-prev) 32%, transparent); }
.pbtn.andrey.on { background: var(--c-andrey); color: #fff; border-color: transparent; }
.pbtn.brand.on { background: var(--c-brand); color: #fff; border-color: transparent; }
.pbtn.preventage.on { background: var(--c-prev); color: #fff; border-color: transparent; }
.pbtn:not(.on):hover { background: var(--hover); }

/* бэклог и задачи — можно тащить; чип «Без срока» */
.task[draggable="true"] { cursor: grab; }
.task[draggable="true"]:active { cursor: grabbing; }
.daychip.clear-dl { color: var(--text-3); }
.daychip.clear-dl small { color: var(--text-3); }

/* идеи не сжимаются внутри прокручиваемого блокнота (иначе строки наезжают) */
.notebook .ideas > * { flex: 0 0 auto; }


/* редактируемое название задачи в карточке */
.sheet-title-wrap { display: flex; align-items: baseline; gap: 2px; flex: 1; min-width: 0; }
.sheet-title-input { flex: 1; min-width: 0; width: 100%; border: 0; background: transparent; padding: 0 2px 1px 0; font: inherit; font-size: 22px; font-weight: 780; letter-spacing: -.035em; color: var(--text); outline: none; border-radius: 6px; }
.sheet-title-input::placeholder { color: var(--text-3); }
.sheet-title-input:focus { box-shadow: 0 2px 0 var(--accent); }

/* быстрые действия на карточке идеи */
.idea { position: relative; }
.idea-del { flex: 0 0 auto; width: 22px; height: 22px; margin: 2px 0 0 2px; border: 0; border-radius: 999px; background: transparent; color: var(--text-3); font: inherit; font-size: 15px; line-height: 1; cursor: pointer; opacity: .22; transition: opacity .16s, background .16s, color .16s; }
.idea:hover .idea-del, .idea-del:focus-visible { opacity: 1; }
.idea.task .idea-del { opacity: .55; }
.idea-del:hover { background: color-mix(in srgb, var(--danger) 12%, transparent); color: var(--danger); }

/* встречи: только мой календарь */
.meet-scope { display: flex; align-items: center; padding: 2px 2px 10px; }
.meet-owner.me { font-weight: 700; font-size: 11.5px; color: var(--text-2); letter-spacing: .04em; text-transform: uppercase; }

.backlog-empty { padding: 10px 4px; font-size: 12px; color: var(--text-3); }

/* порядковый номер задачи в дневном списке */
.day-ord { display: inline-grid; place-items: center; min-width: 20px; height: 20px; margin-right: 7px; padding: 0 5px; border-radius: 6px; background: color-mix(in srgb, var(--text) 6%, transparent); color: var(--text-3); font-size: 11px; font-weight: 700; font-variant-numeric: tabular-nums; vertical-align: 1px; }

/* док дней во всю ширину, над колонками */
.plan-dock.wide { margin: 0 0 12px; padding: 8px 12px 9px; }
.plan-dock.wide .dock-hint { font-size: 9px; margin: 0 2px 6px; }
.plan-dock.wide .dock-days { display: flex; flex-wrap: wrap; gap: 5px; }
.plan-dock.wide .daychip { flex: 0 0 auto; min-width: 104px; padding: 5px 9px; border-radius: 10px; gap: 1px; }
.plan-dock.wide .daychip span { font-size: 11px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.plan-dock.wide .daychip small { font-size: 9px; line-height: 1.25; }

/* глобальный поиск и фильтр проектов — наверху, для всех разделов */
.globalbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 10px; }
.gsearch { display: flex; align-items: center; gap: 8px; flex: 1 1 320px; max-width: 560px; height: 34px; padding: 0 14px; background: var(--surface); border: 1px solid var(--hairline); border-radius: 999px; box-shadow: var(--sh-card); }
.gsearch span { color: var(--text-3); font-size: 14px; }
.gsearch input { width: 100%; border: 0; outline: none; background: transparent; font: inherit; font-size: 12px; color: var(--text); }
.gsearch input::placeholder { color: var(--text-3); }
.globalcats { display: flex; gap: 6px; flex-wrap: wrap; }
