:root {
  --bg: #eef1f5; --surface: #ffffff; --soft: #f6f8fa; --text: #17202a; --muted: #5f6b78; --border: #dce2e8;
  --accent: #2d67e3; --accent-soft: #eaf0ff; --focus: #edf8f2; --focus-border: #a8d6bd;
  --warm: #fff2e2; --warm-text: #a95b18; --danger: #fff0f0; --danger-text: #b43b44; --ok: #187548; --ok-soft: #e8f6ee;
  --shadow: 0 1px 2px rgba(15, 23, 42, .04);
  --radius: 14px;
  --m-red: #e5484d; --m-yellow: #e9b308; --m-green: #2f9e62; --margin-none: transparent;
  --sig-red: #f4cccc; --sig-yellow: #fff2cc; --sig-nov: #fce5cd;
  --muted-aa: #5f6b78;
  --accent-text: #2559c9;
  --star: #b07d00;
  --scrim: rgba(15, 23, 42, .38);                     
  color-scheme: light;
  --fs: 16px;          
  --fs-ui: 15px;       
  --fs-sm: 14px;       
  --fs-xs: 13px;       
  --fs-h1: 24px; --fs-h2: 17px;
}
:root {
  --margin-0: var(--m-red);
  --margin-1: color-mix(in srgb, var(--m-red) 80%, var(--m-yellow));
  --margin-2: color-mix(in srgb, var(--m-red) 60%, var(--m-yellow));
  --margin-3: color-mix(in srgb, var(--m-red) 40%, var(--m-yellow));
  --margin-4: color-mix(in srgb, var(--m-red) 20%, var(--m-yellow));
  --margin-5: var(--m-yellow);
  --margin-6: color-mix(in srgb, var(--m-yellow) 80%, var(--m-green));
  --margin-7: color-mix(in srgb, var(--m-yellow) 60%, var(--m-green));
  --margin-8: color-mix(in srgb, var(--m-yellow) 40%, var(--m-green));
  --margin-9: color-mix(in srgb, var(--m-yellow) 20%, var(--m-green));
  --margin-10: var(--m-green);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #0d1117; --surface: #161c24; --soft: #1d2530; --text: #eef3f7; --muted: #9aa8b6; --border: #303b47;
    --accent-soft: #192e5a; --focus: #173629; --focus-border: #39795d; --warm: #442e1a; --warm-text: #f0aa62;
    --danger: #401f23; --danger-text: #ff8e96; --ok: #5cc28f; --ok-soft: #173629;
    --m-red: #ff6369; --m-yellow: #f2c94c; --m-green: #4cc38a;
    --sig-red: #4d2629; --sig-yellow: #43391a; --sig-nov: #48321f;
    --muted-aa: #9aa8b6;                               
    --accent-text: #7aa5ff;                            
    --star: #e0a800;
    --scrim: rgba(0, 0, 0, .55);
    --fs: 16px; --fs-ui: 15px; --fs-sm: 14px; --fs-xs: 13px; --fs-h1: 24px; --fs-h2: 17px;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #0d1117; --surface: #161c24; --soft: #1d2530; --text: #eef3f7; --muted: #9aa8b6; --border: #303b47;
  --accent-soft: #192e5a; --focus: #173629; --focus-border: #39795d; --warm: #442e1a; --warm-text: #f0aa62;
  --danger: #401f23; --danger-text: #ff8e96; --ok: #5cc28f; --ok-soft: #173629;
  --m-red: #ff6369; --m-yellow: #f2c94c; --m-green: #4cc38a;
  --sig-red: #4d2629; --sig-yellow: #43391a; --sig-nov: #48321f;
  --muted-aa: #9aa8b6;
  --accent-text: #7aa5ff;
  --star: #e0a800;
  --scrim: rgba(0, 0, 0, .55);
  --fs: 16px; --fs-ui: 15px; --fs-sm: 14px; --fs-xs: 13px; --fs-h1: 24px; --fs-h2: 17px;
  color-scheme: dark;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font: var(--fs)/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
a { color: var(--accent-text); text-decoration: none; }
a:hover { text-decoration: underline; }
h1, h2, h3 { margin: 0; letter-spacing: -.01em; line-height: 1.25; }
h1 { font-size: var(--fs-h1); font-weight: 750; }
h2 { font-size: var(--fs-h2); font-weight: 800; }
h3 { font-size: var(--fs-ui); font-weight: 800; margin-bottom: 8px; }
code { font-size: var(--fs-sm); background: var(--soft); border-radius: 5px; padding: 1px 5px; }
[id] { scroll-margin-top: 80px; }
.muted { color: var(--muted); }
.small { font-size: var(--fs-sm); }
.tiny { font-size: var(--fs-xs); }
.right { text-align: right; }
.warn { color: var(--danger-text); }
.empty { color: var(--muted); font-size: var(--fs-sm); margin: 8px 0; }
.top {
  height: 67px; display: flex; align-items: center; gap: 22px; padding: 0 22px;
  background: var(--surface); border-bottom: 1px solid var(--border); position: sticky; top: 0; z-index: 10;
}
.logo { font-size: 19px; font-weight: 850; letter-spacing: -.04em; color: var(--text); white-space: nowrap; }
.logo:hover { text-decoration: none; }
.logo span { color: var(--accent); }
.logo.big { font-size: 26px; margin-bottom: 6px; }
.top-sub { font-size: var(--fs-ui); color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.top-right { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.who { font-size: var(--fs-sm); color: var(--muted); white-space: nowrap; }
.btn.theme-btn { display: none; }
:root[data-theme-js] .btn.theme-btn { display: inline-flex; }
.theme-btn .th { display: none; align-items: center; gap: 5px; }
:root:not([data-theme]) .th-auto, :root[data-theme="light"] .th-light, :root[data-theme="dark"] .th-dark { display: inline-flex; }
.frame { display: grid; grid-template-columns: 160px minmax(0, 1fr); min-height: calc(100vh - 67px); }
.nav { background: var(--surface); border-right: 1px solid var(--border); padding: 20px 12px; }
.nav-label { color: var(--muted); font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: .08em; padding: 0 10px 10px; }
.nav-more { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--border); }
.nav-item {
  display: flex; align-items: center; gap: 10px; border-radius: 10px; padding: 10px; margin-bottom: 3px;
  color: var(--muted); font-size: var(--fs-ui); font-weight: 650;
}
.nav-item:hover { background: var(--soft); text-decoration: none; }
.nav-item.active { background: var(--accent-soft); color: var(--accent-text); }
.nav-item.disabled { font-weight: 500; cursor: default; }
.nav-item.disabled:hover { background: none; }
.nav-item.disabled small { display: block; font-size: var(--fs-xs); font-weight: 500; }
.nav-mark { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.nav-badge { margin-left: auto; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; display: inline-flex;
  align-items: center; justify-content: center; font-size: var(--fs-xs); font-weight: 800; line-height: 1;
  background: var(--danger-text); color: var(--surface); }
.canvas { padding: 20px; min-width: 0; }
.heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.fresh { font-size: var(--fs-sm); color: var(--muted); }
.crumbs { font-size: var(--fs-sm); margin-bottom: 10px; color: var(--muted); overflow-wrap: anywhere; }   
.card {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius);
  padding: 14px 16px; box-shadow: var(--shadow); margin-bottom: 12px; min-width: 0;
}
.card > h2 { margin-bottom: 10px; }
.card-top { display: flex; align-items: center; justify-content: space-between; gap: 4px 10px; margin-bottom: 10px; flex-wrap: wrap; }
.card-top h2 { white-space: nowrap; }
.card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.card-grid > .card { margin-bottom: 0; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; font-size: var(--fs-sm); font-weight: 650;
  border: 1px solid var(--border); background: var(--soft); color: var(--text); border-radius: 9px; padding: 7px 12px;
  cursor: pointer; white-space: nowrap; text-decoration: none; list-style: none;
}
.btn:hover { border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); text-decoration: none; }
.btn:disabled { opacity: .45; cursor: default; }
.btn.small { font-size: var(--fs-xs); padding: 5px 9px; border-radius: 8px; }
.btn.primary { background: var(--accent); border-color: var(--accent); color: #fff; }
.btn.ghost { background: transparent; }
.btn.ok { color: var(--ok); }
.btn.danger { color: var(--danger-text); }
.btn.danger-fill { background: var(--danger); color: var(--danger-text); border-color: color-mix(in srgb, var(--danger-text) 30%, transparent); }
.btn.wide { width: 100%; padding: 10px; }
.btn:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 2px solid var(--accent); outline-offset: 2px;
}
form.inline { display: inline-flex; margin: 0; }
.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 6px 0; }
input, textarea, select {
  font: inherit; font-size: var(--fs); color: var(--text); background: var(--soft); border: 1px solid var(--border);
  border-radius: 9px; padding: 7px 9px; min-width: 0; max-width: 100%;
}
textarea { resize: vertical; width: 100%; }
label { display: flex; flex-direction: column; gap: 4px; font-size: var(--fs-sm); color: var(--muted); }
label.check-label { flex-direction: row; align-items: center; gap: 7px; color: var(--text); font-size: var(--fs-ui); }
.stack { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; align-items: flex-start; }
.stack label { width: 100%; }
.stack input:not([type=date]):not([type=time]), .stack select { width: 100%; }
.row-fields { display: flex; flex-wrap: wrap; gap: 8px; width: 100%; }
.row-fields label { flex: 1 1 140px; }
.grid-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin-top: 12px; }
.grid-form .span2 { grid-column: 1 / -1; }
.grid-form input:not([type=radio]):not([type=checkbox]), .grid-form select { width: 100%; }
fieldset.seg { border: 1px solid var(--border); border-radius: 9px; padding: 6px 10px 8px; margin: 0; display: flex; gap: 14px; flex-wrap: wrap; }
fieldset.seg legend { font-size: var(--fs-xs); color: var(--muted); padding: 0 4px; }
fieldset.seg label { flex-direction: row; align-items: center; gap: 5px; color: var(--text); font-size: var(--fs-ui); }
.inline-form { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.inline-form input[name=title] { flex: 1 1 200px; }
.flashes { position: fixed; top: 78px; right: 20px; z-index: 30; display: grid; gap: 6px; width: min(420px, calc(100vw - 32px)); }
.flashes .flash { box-shadow: 0 10px 30px rgba(15, 23, 42, .14); cursor: pointer; transition: opacity .4s; }
.flashes .flash.gone { opacity: 0; pointer-events: none; }
.flash-x { float: right; margin-left: 10px; color: var(--muted); }
.flash { border-radius: 11px; padding: 9px 12px; font-size: var(--fs); background: var(--ok-soft); color: var(--text);
  border: 1px solid color-mix(in srgb, var(--ok) 30%, transparent); white-space: pre-wrap; }
.flash.error { background: var(--danger); color: var(--danger-text); border-color: color-mix(in srgb, var(--danger-text) 30%, transparent); }
.tag {
  display: inline-flex; align-items: center; gap: 4px; border-radius: 999px; padding: 3px 9px; font-size: var(--fs-xs); font-weight: 750;
  color: var(--accent-text); background: var(--accent-soft); white-space: nowrap;
}
.tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.tag.personal { color: var(--warm-text); background: var(--warm); }
.tag.urgent { color: var(--surface); background: var(--danger-text); }   
.tag.important { color: var(--danger-text); background: var(--danger); }
.tag.event { color: var(--muted); background: var(--soft); border: 1px solid var(--border); }
.tag.deadline { color: var(--warm-text); background: var(--warm); }
.tag.deadline::before { display: none; }
.tag.focus { color: var(--ok); background: var(--focus); }
.tag.status-done { color: var(--ok); background: var(--ok-soft); }
.tag.status-cancelled { color: var(--muted); background: var(--soft); }
.tag.status-waiting { color: var(--warm-text); background: var(--warm); }
.tag.status-open { color: var(--muted); background: var(--soft); }
.tag.urgent::before, .tag.important::before, .tag.event::before { display: none; }
.tag.dir { color: var(--muted); background: var(--soft); border: 1px solid var(--border); }
.tag.dir::before { display: none; }
form.dir-form { gap: 6px; align-items: center; flex-wrap: wrap; }
.inline-form input[name=name] { flex: 1 1 200px; }
.check-form { margin: 0; display: inline-flex; }
.check {
  width: 18px; height: 18px; border: 1.5px solid var(--border); border-radius: 5px; background: var(--surface);
  padding: 0; cursor: pointer; font-size: var(--fs-xs); line-height: 1; color: #fff; display: inline-flex; align-items: center; justify-content: center;
}
.check:hover { border-color: var(--accent); }
.check.on { background: var(--ok); border-color: var(--ok); color: var(--surface); }
.check.off { background: var(--soft); color: var(--muted); }
.star { border: 0; background: none; cursor: pointer; font-size: 19px; line-height: 1; color: var(--muted); padding: 2px 4px; }
.star.on { color: var(--star); }
.task { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 11px 0; border-bottom: 1px solid var(--border); }
.task:last-child { border-bottom: 0; }
.task .check-form { margin-top: 1px; }
.task-name { font-size: var(--fs); font-weight: 720; color: var(--text); line-height: 1.3; word-break: break-word; }
.task-meta { margin-top: 3px; color: var(--muted); font-size: var(--fs-sm); word-break: break-word; }
.sx-now { color: var(--accent-text); font-weight: 750; }
.sx-next { color: var(--text); font-style: normal; }
.sx-count { font-style: normal; }
.task-steps .sx-now, .task-steps .sx-next { display: inline-block; max-width: 100%; }
.since-head .task-steps { flex-basis: 100%; margin-top: 0; }
.task > .task-steps { grid-column: 2 / -1; margin-top: -7px; }
.task-tags, .row-tags { display: flex; gap: 5px; flex-wrap: wrap; justify-content: flex-end; }
.task.done .task-name, .row.done .task-name, .struck { text-decoration: line-through; color: var(--muted); }
details.more {
  margin-top: 8px; border: 1px solid var(--border); border-radius: 10px; padding: 0 10px;
}
details.more > summary {
  display: flex; justify-content: space-between; gap: 8px; cursor: pointer; list-style: none; padding: 9px 0;
  color: var(--muted); font-size: var(--fs-sm);
}
details.more > summary::-webkit-details-marker { display: none; }
details.more[open] > summary .more-hint { visibility: hidden; }
a.more.link { display: flex; justify-content: space-between; padding: 10px 11px; color: var(--muted); font-size: var(--fs-sm); margin-top: 8px; border: 1px solid var(--border); border-radius: 10px; }
a.more.link:hover { color: var(--accent-text); text-decoration: none; }
.home-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(420px, 42%); gap: 12px; align-items: start; }
.summary { display: grid; grid-template-columns: .8fr 1.35fr; gap: 12px; }
.metric { padding: 12px 16px; }
.metric-label { color: var(--muted); font-size: var(--fs-sm); margin-bottom: 6px; }
.metric-value { font-size: 22px; font-weight: 820; letter-spacing: -.02em; }
.metric-note { margin-top: 4px; font-size: var(--fs-sm); color: var(--muted); }
.placeholder { background: repeating-linear-gradient(135deg, var(--surface), var(--surface) 10px, var(--soft) 10px, var(--soft) 20px); }
.placeholder .metric-value { color: var(--border); }
.attention {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap; background: var(--danger); color: var(--danger-text);
  border: 1px solid color-mix(in srgb, var(--danger-text) 25%, transparent); border-radius: 11px; padding: 9px 14px;
  margin-bottom: 12px; font-size: var(--fs);
}
.attention strong { color: var(--text); }
.attention .dot { width: 8px; height: 8px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.attention-link { margin-left: auto; font-weight: 750; white-space: nowrap; color: var(--danger-text); }
.attention.calm { background: var(--surface); color: var(--ok); border-color: var(--border); }
.attention.calm .attention-text { color: var(--muted); }
.attention.off { background: var(--soft); color: var(--muted); border-color: var(--border); }
.attention.off .attention-link { color: var(--accent-text); }
.decide-row > .attention { margin-bottom: 0; align-content: center; }
.decide-row > .attention:not(.off) .attention-text a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.decide-row > [data-home="signals"] > .attention-text { order: 1; flex-basis: 100%; }
.decide-row > .attention > .decide-later { flex-basis: 100%; }
.decide-row > .sigl-host { position: relative; }
.sigl-tile { display: inline-block; margin-left: auto; }
.sigl-tile:not([open]) > .sigl-panel { display: none; }
.sigl-tile > summary { list-style: none; cursor: pointer; color: var(--accent-text); font-weight: 650;
  font-size: var(--fs-sm); white-space: nowrap; }
.sigl-tile > summary::-webkit-details-marker { display: none; }
.sigl-tile > summary::after { content: " ▾"; }
.sigl-tile[open] > summary::after { content: " ▴"; }
.sigl-tile:not([open]) .sigl-less, .sigl-tile[open] .sigl-more { display: none; }
.sigl-panel { position: absolute; z-index: 20; top: calc(100% + 4px); left: 0; right: 0; max-height: min(320px, 60vh);
  overflow-y: auto; overscroll-behavior: contain; background: var(--surface); color: var(--text);
  border: 1px solid var(--border); border-radius: 11px; padding: 4px 6px; box-shadow: 0 10px 30px rgba(15, 23, 42, .16);
  font-size: var(--fs-sm); }
.sigl-row { display: block; padding: 6px 8px; color: var(--text); text-decoration: none; line-height: 1.35;
  overflow-wrap: anywhere; border-radius: 8px; }
.sigl-row + .sigl-row { border-top: 1px solid var(--border); border-radius: 0; }
.sigl-row:hover, .sigl-row:focus-visible { background: var(--soft); }
.sigl-row.sigl-tail { color: var(--accent-text); font-weight: 650; }
.sigl-note { margin: 6px 8px 4px; }
.decide-later .later-short { display: none; }
@media (min-width: 901px) {
  .page-home [data-home="slice"] { flex-wrap: nowrap; }
  .page-home [data-home="slice"] .attention-text { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis; }
  .page-home .decide-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); }
  .page-home .decide-row.split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .page-home .decide-row > .attention > .decide-later { min-width: 0; white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis; }
  .page-home .decide-later .later-full { display: none; }
  .page-home .decide-later .later-short { display: inline; }
  .day-col .task-steps, .focus-item.has-steps strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .day-col .task-steps .sx-now, .day-col .task-steps .sx-next { display: inline; }
}
@media (min-width: 901px) and (min-height: 560px) {
  .page-home .col-side { position: sticky; top: 87px; height: calc(100vh - 107px); display: flex; flex-direction: column; }
  .page-home .col-side > .dialog { flex: 1 1 auto; min-height: 0; margin-bottom: 0; display: flex; flex-direction: column;
    overflow-y: auto; overscroll-behavior: contain; }
  .page-home .col-side .chat { flex: 1 1 auto; max-height: none; min-height: 120px; }
  .page-home .col-side .dialog > :not(.chat) { flex: 0 0 auto; }    
}
.planner { padding: 0; overflow: hidden; }
.planner .card-top { padding: 12px 16px; margin: 0; border-bottom: 1px solid var(--border); }
.week-strip { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; padding: 10px 12px; border-bottom: 1px solid var(--border); }
.day-tile {
  min-width: 0; padding: 8px 6px; border-radius: 10px; text-align: center; background: var(--soft); color: var(--text);
  border: 1px solid transparent;
}
.day-tile:hover { text-decoration: none; border-color: var(--border); }
.day-tile.selected { background: var(--accent-soft); border-color: color-mix(in srgb, var(--accent) 35%, transparent); }
.day-tile.today b { color: var(--accent-text); }
.day-tile b { display: block; font-size: var(--fs-ui); line-height: 1.25; }
.day-tile span { display: block; color: var(--muted); font-size: var(--fs-xs); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.day-tile i {
  display: inline-flex; margin-top: 4px; min-width: 20px; height: 20px; align-items: center; justify-content: center;
  border-radius: 999px; background: var(--surface); color: var(--muted); font-size: var(--fs-xs); font-style: normal; padding: 0 5px;
}
.day-tile i[title] { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  line-height: 20px; vertical-align: top; }
.planner-body { display: grid; grid-template-columns: 1.25fr 1fr; min-height: 240px; }
.day-col, .focus-col { padding: 12px 16px; min-width: 0; }
.day-col { border-right: 1px solid var(--border); }
.planner-body.day-empty .focus-col { order: -1; }
.planner-body.day-empty .day-col { border-right: 0; border-left: 1px solid var(--border); }
.focus-item {
  display: block; background: var(--focus); border: 1px solid var(--focus-border); border-radius: 10px; padding: 8px 11px;
  margin-bottom: 5px; font-size: var(--fs); line-height: 1.3; color: var(--text);
}
.focus-item:hover { text-decoration: none; filter: brightness(.98); }
.focus-item strong { display: block; font-weight: 700; }
.focus-item span { display: block; color: var(--muted); font-size: var(--fs-sm); margin-top: 2px; }
.focus-item .sx { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0; }
.focus-item.has-steps { padding-top: 6px; padding-bottom: 6px; }       
.undated-line { margin-top: 8px; font-size: var(--fs-sm); color: var(--muted); border: 1px solid var(--border); border-radius: 10px; padding: 7px 11px; }
.since-item { padding: 10px 0; border-bottom: 1px solid var(--border); }
.since-item:last-of-type { border-bottom: 0; }
.since-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.since-head .task-name { margin-right: auto; }
.since .actions { gap: 4px; margin: 6px 0 0; }
.since .actions .btn.small { padding: 4px 6px; font-size: var(--fs-xs); font-weight: 600; background: var(--surface); }
.since .actions .btn.small.ok { background: var(--ok-soft); border-color: color-mix(in srgb, var(--ok) 30%, var(--border)); }
details.pop { position: relative; display: inline-block; }
details.pop > summary { list-style: none; }
details.pop > summary::-webkit-details-marker { display: none; }
.pop-form {
  position: absolute; z-index: 5; top: calc(100% + 4px); left: 0; width: 260px; display: flex; flex-direction: column; gap: 7px;
  background: var(--surface); border: 1px solid var(--border); border-radius: 11px; padding: 10px; box-shadow: 0 10px 30px rgba(15, 23, 42, .16);
}
.pop-body { position: absolute; z-index: 5; top: calc(100% + 4px); left: 0; width: 280px; background: var(--surface);
  border: 1px solid var(--border); border-radius: 11px; padding: 10px; box-shadow: 0 10px 30px rgba(15, 23, 42, .16); }
.pop-body .pop-form { position: static; width: auto; box-shadow: none; border: 0; border-radius: 0; padding: 0; }
.pop-body .pop-form + .pop-form { border-top: 1px solid var(--border); margin-top: 10px; padding-top: 10px; }
details.pop.wide { display: block; margin-top: 10px; }
details.pop.wide .pop-form { position: static; width: auto; box-shadow: none; margin-top: 8px; }
.stale { margin-top: 10px; background: var(--warm); border-radius: 11px; padding: 10px 12px; font-size: var(--fs); }
.stale-item { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 7px; }
.col-side .card { margin-bottom: 12px; }
.chat { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; max-height: min(62vh, 640px); overflow-y: auto; overscroll-behavior: contain; }
.chat { overflow-anchor: none; }
.msg { background: var(--soft); border-radius: 10px; padding: 9px 10px; font-size: var(--fs); line-height: 1.45; color: var(--muted); white-space: pre-wrap; word-break: break-word; }
.msg strong { color: var(--text); }
.msg.user { background: var(--accent-soft); color: var(--text); margin-left: 22px; }
.msg.user.from-tg { background: color-mix(in srgb, var(--accent-soft) 55%, var(--soft)); }
.msg.fresh { box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent); }
.msg-src { display: inline-block; margin-left: 4px; font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; }
.msg-more { white-space: pre-wrap; }
.msg-more > summary { display: inline; cursor: pointer; color: var(--accent-text); font-size: var(--fs-sm); list-style: none; }
.msg-more > summary::-webkit-details-marker { display: none; }
.msg-more[open] > summary { display: none; }
.dots::after { content: "…"; display: inline-block; overflow: hidden; vertical-align: bottom; width: 0; animation: lu-dots 1.2s steps(4, end) infinite; }
@keyframes lu-dots { to { width: 1.1em; } }
@media (prefers-reduced-motion: reduce) { .dots::after { animation: none; width: auto; } }
.msg.thinking { color: var(--text); }
.thinking-line { margin: 6px 0; }
.msg-undo { display: block; margin-top: 6px; white-space: normal; }
.chip-link { display: inline-block; margin: 4px 4px 0 0; background: var(--surface); border: 1px solid var(--border); border-radius: 7px; padding: 2px 7px; font-size: var(--fs-sm); white-space: normal; }
.chips { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; }
.chip { border: 1px solid var(--border); background: var(--soft); color: var(--muted); border-radius: 8px; padding: 6px 9px; font: inherit; font-size: var(--fs-sm); cursor: pointer; }
.chip:hover { color: var(--accent-text); }
.chip:disabled { opacity: .5; cursor: default; }
.say { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.say textarea { min-height: 72px; }
.say + .tiny { margin: 6px 0 0; line-height: 1.35; }
.brief-text { min-height: 320px; font: var(--fs-sm)/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; }
pre.brief-text { min-height: 0; max-height: 480px; overflow: auto; }
.say-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; width: 100%; }
.say-row > .btn.primary { margin-left: auto; }
.say.voice-on .say-row > .btn.primary { display: none; }       
.voice { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.voice[hidden], .voice [hidden], .voice-note[hidden] { display: none; }
.voice-btn[aria-pressed="true"] { background: var(--danger); color: var(--danger-text); border-color: color-mix(in srgb, var(--danger-text) 35%, transparent); }
.voice-time { font-size: var(--fs-sm); font-weight: 650; font-variant-numeric: tabular-nums; color: var(--danger-text); }
.voice-time::before { content: "● "; }
.voice-note { width: 100%; margin: 0; font-size: var(--fs-sm); line-height: 1.4; color: var(--muted); text-align: left; }
.voice-note.error { color: var(--danger-text); }
.img-btn { position: relative; overflow: hidden; flex-direction: row; align-items: center; color: var(--text); }
.img-btn[hidden], .say.voice-on .img-btn { display: none; }
.img-btn input[type="file"] {
  position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; opacity: 0; cursor: pointer;
}
.img-btn:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
.img-btn-t { display: none; }
@media (pointer: fine) { .img-btn-t { display: inline; } }
.say-tray { display: flex; flex-wrap: wrap; gap: 6px; align-self: stretch; }
.say-tray[hidden] { display: none; }
.tray-item { position: relative; width: 56px; height: 56px; flex: 0 0 56px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); }
.tray-item img { display: block; width: 100%; height: 100%; border-radius: 5px; object-fit: cover; }
.tray-item img:not([src]) { visibility: hidden; }
.tray-item.up { opacity: .5; }
.tray-x {
  position: absolute; top: -6px; right: -6px; width: 24px; height: 24px; padding: 0; display: inline-flex; align-items: center;
  justify-content: center; border: 1px solid var(--border); border-radius: 50%; background: var(--surface); color: var(--muted);
  font: inherit; font-size: var(--fs-xs); line-height: 1; cursor: pointer;
}
.tray-x:hover, .tray-x:focus-visible { color: var(--danger-text); }
@media (pointer: coarse) {
  .tray-x::before { content: ""; position: absolute; inset: -6px; }     
}
.dialog.drop-on { outline: 2px dashed var(--accent); outline-offset: 2px; }
.msg-files { white-space: normal; margin: 6px 0 0; }
.review-files.msg-files .thumb img { height: 72px; width: auto; max-width: 100%; max-height: 72px; }
.say-about {
  align-self: flex-start; position: relative; display: inline-block; max-width: 100%; padding: 4px 9px;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border)); border-radius: 8px; background: var(--accent-soft);
  color: var(--text); font-size: var(--fs-sm); line-height: 1.35; overflow-wrap: anywhere; cursor: pointer; user-select: none;
}
.say-about input { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.say-about-t { overflow-wrap: anywhere; }
.say-about-x { margin-left: 2px; color: var(--muted); font-size: var(--fs-xs); }
.say-about:hover .say-about-x { color: var(--danger-text); }
.say-about-back { display: none; color: var(--accent-text); font-size: var(--fs-xs); }
.say-about input:not(:checked) ~ .say-about-t { color: var(--muted); text-decoration: line-through; }
.say-about input:not(:checked) ~ .say-about-x { display: none; }
.say-about input:not(:checked) ~ .say-about-back { display: inline; }
.say-about:has(input:not(:checked)) { background: var(--soft); border-color: var(--border); }
.say-about:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 1px; }
.msg-src.msg-about { white-space: normal; overflow-wrap: anywhere; }     
.msg-reply { display: none; }
[data-reply-on] .msg-reply {
  display: block; width: max-content; max-width: 100%; min-height: 32px; margin: 6px 0 0 auto; padding: 0 6px;
  border: 0; border-radius: 6px; background: none; color: var(--muted); font: inherit; font-size: var(--fs-sm);
  line-height: 32px; white-space: nowrap; cursor: pointer;
}
.msg.ai:hover .msg-reply, .msg-reply:hover, .msg-reply:focus-visible { color: var(--accent-text); }
.msg-reply:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.msg-reply-many {
  display: block; width: max-content; max-width: 100%; margin: 6px 0 0 auto; color: var(--accent-text);
  font-size: var(--fs-sm); white-space: normal;
}
.say-reply {
  align-self: flex-start; display: flex; align-items: center; gap: 6px; max-width: 100%; padding: 0 0 0 9px;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border)); border-radius: 8px; background: var(--accent-soft);
  color: var(--text); font-size: var(--fs-sm); line-height: 1.35;
}
.say-reply[hidden] { display: none; }
.say-reply-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.say-reply-x {
  flex: none; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 6px; background: none; color: var(--muted);
  font: inherit; font-size: var(--fs-xs); cursor: pointer;
}
.say-reply-x:hover, .say-reply-x:focus-visible { color: var(--danger-text); }
.say-reply-x:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
@media (pointer: coarse) { .say-reply-x { width: 36px; height: 36px; } }      
.msg-src.msg-reply-to { white-space: normal; overflow-wrap: anywhere; }   
.ask-ai { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 12px 0 0; }
.dlg-toggle {
  position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 26; writing-mode: vertical-rl;
  background: var(--accent); color: #fff; border-radius: 10px 0 0 10px; padding: 14px 8px; font-size: var(--fs-sm); font-weight: 750;
  cursor: pointer; list-style: none; box-shadow: 0 8px 22px rgba(15, 23, 42, .18); user-select: none;
}
.dlg-toggle::-webkit-details-marker { display: none; }
.dlg-close-label, .dlg[open] .dlg-open-label { display: none; }
.dlg[open] .dlg-close-label { display: inline; }
.dlg[open] > .dlg-toggle { right: min(440px, 100vw); background: var(--surface); color: var(--text); border: 1px solid var(--border); border-right: 0; }
.dlg-panel {
  position: fixed; z-index: 25; top: 67px; right: 0; bottom: 0; width: min(440px, 100vw); margin: 0; border-radius: 0;
  border-width: 0 0 0 1px; overflow-y: auto; box-shadow: -12px 0 30px rgba(15, 23, 42, .14);
  display: flex; flex-direction: column;
}
.dlg-panel .chat { flex: 1 1 auto; max-height: none; min-height: 120px; }
.dlg-review { display: block; margin-bottom: 8px; font-size: var(--fs-sm); font-weight: 650; }
:root { --dlg-w: clamp(420px, calc((100vw - 200px) * .42), 560px); }
@media (min-width: 1200px) {
  body.has-dlg .frame { margin-right: var(--dlg-w); }
  body.has-dlg .dlg-panel { width: var(--dlg-w); box-shadow: none; }
  body.has-dlg .dlg[open] > .dlg-toggle { display: none; }
  body.has-dlg .flashes { right: calc(var(--dlg-w) + 20px); }
}
:root[data-in-window] header.top, :root[data-in-window] .nav, :root[data-in-window] #dlg { display: none; }
:root[data-in-window] .frame { display: block; min-height: 0; }
:root[data-in-window] body.has-dlg .frame { margin-right: 0; }
:root[data-in-window] body.has-dlg .flashes { right: 20px; }
:root[data-in-window] .flashes { top: 12px; }
:root.tw-open { overflow: hidden; }                  
.tw { position: fixed; top: 67px; left: 0; right: 0; bottom: 0; z-index: 24; display: flex; justify-content: center;
      padding: 16px; background: var(--scrim); }
.tw-box { display: flex; flex-direction: column; width: min(1040px, 100%); background: var(--bg);
          border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow);
          overflow: hidden; }
.tw-bar { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 8px 10px;
          background: var(--surface); border-bottom: 1px solid var(--border); }
.tw-frame { flex: 1 1 auto; width: 100%; min-height: 0; border: 0; background: var(--bg); }
@media (min-width: 1200px) {
  body.has-dlg .tw { right: var(--dlg-w); }
}
@media (min-width: 1200px) and (max-width: 1679px) {
  body.has-dlg .week3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
  body.has-dlg .week3 .focus-panel { grid-column: 1 / -1; min-height: 0; }
  body.has-dlg .week3.day-empty .focus-panel { grid-column: auto; }          
  body.has-dlg .week3.day-empty .day-panel { grid-column: 1 / -1; }          
  body.has-dlg .card-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
  body.has-dlg .work-top { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
  body.has-dlg .rep-link { grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); }
  body.has-dlg .rep-link > :last-child { grid-column: 1 / -1; }
  body.has-dlg .unit { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
  body.has-dlg .stock-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
}
@media (min-width: 1200px) and (max-width: 1439px) {
  body.has-dlg .obd { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.review-item { padding: 10px 0; border-top: 1px solid var(--border); }
.review-item .q { font-size: var(--fs); font-weight: 700; }
.draft { margin: 6px 0; padding-left: 18px; font-size: var(--fs-sm); color: var(--muted); }
.review-files { margin: 6px 0; overflow-wrap: anywhere; }                   
.review-files .thumb img { max-height: 96px; max-width: 160px; border-radius: 6px; border: 1px solid var(--border); margin: 0 6px 4px 0; object-fit: cover; }
.review-files .file-link { font-size: var(--fs-sm); margin-right: 8px; }
.answer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; margin: 6px 0; }
.change-line { display: grid; grid-template-columns: 8px minmax(0, 1fr); gap: 8px; background: var(--soft); border-radius: 9px; padding: 9px 10px; margin-bottom: 6px; color: var(--text); }
.change-line:hover { text-decoration: none; background: var(--accent-soft); }
.cdot { width: 7px; height: 7px; margin-top: 5px; border-radius: 50%; background: var(--accent); }
.change-body { min-width: 0; }
.change-body strong { display: block; font-size: var(--fs-ui); overflow-wrap: anywhere; }
.change-body span { display: block; color: var(--muted); font-size: var(--fs-sm); line-height: 1.3; overflow-wrap: anywhere; }
.sig-line { grid-template-columns: 8px minmax(0, 1fr) auto; align-items: start; }
.sig-line:hover { background: var(--soft); }
.sig-open { color: var(--text); }
.sig-open:hover { color: var(--accent-text); }
.sig-line .sig-open strong, .sig-line .sig-new, .sig-line .sig-reasons .sig-reason { display: inline; }
.sig-line .sig-new { color: var(--accent-text); background: var(--accent-soft); margin-left: 4px; vertical-align: 1px; }
.sig-line .sig-reasons { color: var(--text); margin-top: 2px; }
.sig-line .sig-reasons .sig-reason { color: var(--text); }
.sig-reason + .sig-reason::before { content: " · "; color: var(--muted-aa); }
.sig-line .sig-reasons .sig-gone, .sig-line .sig-reasons .sig-more { color: var(--muted-aa); }
.sig-line .sig-state { color: var(--muted-aa); }
.cdot.seen { background: var(--border); }
.cdot.sig-red { background: var(--danger-text); }
.sig-act { display: flex; flex-wrap: nowrap; align-items: flex-start; gap: 4px; }
.sig-act .btn.small { padding: 4px 7px; }
@media (min-width: 761px) { .sig-act .pop-form { left: auto; right: 0; width: 280px; } }
.sig-act .sig-pick { display: flex; flex-direction: row; gap: 6px; align-items: baseline; font-size: var(--fs-sm); color: var(--text); }
.sig-act textarea { font: inherit; font-size: var(--fs); width: 100%; min-height: 54px; border: 1px solid var(--border); border-radius: 8px; padding: 6px 8px; background: var(--surface); color: var(--text); }
.sig-why { margin-top: 4px; }
.sig-why > summary { cursor: pointer; font-size: var(--fs-sm); color: var(--accent-text); width: max-content; max-width: 100%; }
.sig-why .sig-what { margin: 8px 0 2px; font-size: var(--fs-sm); font-weight: 700; color: var(--text); }
.sig-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; margin: 6px 0 2px; font-size: var(--fs-sm); }
.sig-facts > div { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
.sig-facts dt { color: var(--muted-aa); font-size: var(--fs-xs); }
.sig-facts dd { margin: 0; color: var(--text); overflow-wrap: anywhere; }
.sig-conflict { background: var(--danger); color: var(--danger-text); border: 1px solid color-mix(in srgb, var(--danger-text) 25%, transparent); border-radius: 11px; padding: 9px 14px; font-size: var(--fs-sm); overflow-wrap: anywhere; }
.sig-day .sig-line:last-child { margin-bottom: 0; }
.sig-day .sig-conflict, .sig-conflict-card .sig-conflict { margin: 0 0 6px; }
.dock { display: none; }
.week-nav { display: flex; align-items: center; gap: 8px; }
.week-range { font-size: var(--fs-sm); color: var(--muted); }
.week3 { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.4fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.week3 .card { min-height: 420px; }
.week-line { display: grid; grid-template-columns: 52px minmax(0, 1fr) 28px; gap: 8px; align-items: center; padding: 10px 8px; margin-bottom: 3px; border-radius: 9px; font-size: var(--fs); color: var(--text); }
.week-line:hover { background: var(--soft); text-decoration: none; }
.week-line.selected { background: var(--accent-soft); }
.week-line.today b { color: var(--accent-text); }
.week-line span { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.count { text-align: center; min-width: 24px; padding: 3px 6px; border-radius: 999px; background: var(--soft); color: var(--muted); font-size: var(--fs-xs); font-style: normal; }
.week-line.selected .count { background: var(--surface); }
.week-line.has-stages { display: flex; flex-wrap: wrap; row-gap: 4px; }
.week-line.has-stages > b { flex: 0 0 52px; }
.week-line.has-stages > span { flex: 1 1 8em; min-width: 0; }
.week-line.has-stages > .count { flex: none; margin-left: auto; }
.count.wide { white-space: nowrap; }
.week3.day-empty .focus-panel { order: 2; }
.week3.day-empty .day-panel { order: 3; min-height: 0; }
.task-meta a.stage-of { color: inherit; font-weight: 650; }
.focus-item .stage-of { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.focus-item .stage-of.so-dated { display: flex; }
.focus-item .stage-of .so-name { min-width: 0; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.focus-item .stage-of .so-when { flex: none; margin: 0; white-space: pre; }
.dir-inherit { white-space: nowrap; }
.note-bar { background: var(--focus); border: 1px solid var(--focus-border); border-radius: 12px; padding: 12px 14px; font-size: var(--fs); }
.tabs { display: flex; gap: 6px; margin-bottom: 10px; flex-wrap: wrap; }
.tab { border: 1px solid var(--border); background: var(--surface); color: var(--muted); border-radius: 10px; padding: 8px 14px; font-weight: 700; font-size: var(--fs-ui); }
.tab:hover { text-decoration: none; color: var(--text); }
.tab.active { background: var(--text); color: var(--surface); border-color: var(--text); }
.tab i { font-style: normal; font-weight: 500; margin-left: 3px; }
.toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; }
.toolbar input[type=search] { flex: 1 1 260px; }
details.create > summary, details.edit > summary { cursor: pointer; font-weight: 750; list-style: none; }
details.create > summary::-webkit-details-marker, details.edit > summary::-webkit-details-marker { display: none; }
.list h2 .muted, .card h2 .muted { font-weight: 500; font-size: var(--fs-sm); }
.row { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--border); }
.row:last-child { border-bottom: 0; }
.list .row.done { grid-template-columns: minmax(0, 1fr) auto auto; }
.empty-card { color: var(--muted); }
.folds { padding-top: 2px; padding-bottom: 2px; }
details.fold { border-bottom: 1px solid var(--border); }
details.fold:last-child { border-bottom: 0; }
details.fold > summary { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 10px 0; cursor: pointer;
  list-style: none; }
details.fold > summary::-webkit-details-marker { display: none; }
details.fold > summary::before { content: ""; flex: 0 0 auto; width: 7px; height: 7px; margin: 0 5px 0 2px;
  border-right: 2px solid var(--muted); border-bottom: 2px solid var(--muted); transform: rotate(-45deg); }
details.fold[open] > summary::before { transform: translateY(-2px) rotate(45deg); }
details.fold > summary h2 { font-size: var(--fs-h2); min-width: 0; overflow-wrap: anywhere; }
@media (hover: hover) { details.fold > summary:hover h2 { color: var(--accent-text); } }   
.fold-marks { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px; margin-left: auto; }
.fold-marks .tag.focus::before { display: none; }
details.fold[open] > summary .fold-marks { display: none; }
details.fold[open] { padding-bottom: 4px; }
details.fold[open] > summary { border-bottom: 1px solid var(--border); }
details.lx-launch > summary { flex-wrap: nowrap; align-items: flex-start; }
details.lx-launch > summary::before { margin-top: 7px; }
.lx-sum { flex: 1 1 auto; min-width: 0; }
.lx-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.lx-top a { font-size: var(--fs-sm); font-weight: 650; }
.lx-line { margin-top: 2px; font-size: var(--fs); overflow-wrap: anywhere; }
.lx-line.small { font-size: var(--fs-sm); }                   
.lx-line .tag { white-space: normal; max-width: 100%; }
.lx-bar { display: flex; gap: 3px; height: 8px; margin: 7px 0 5px; max-width: 460px; }
.lx-bar i { flex: 1 1 0; min-width: 4px; border-radius: 3px; background: var(--border); }
.lx-bar i.done { background: var(--ok); }
.lx-bar i.now { background: var(--accent); }
.lx-bar i.cancelled { background: var(--soft); box-shadow: inset 0 0 0 1px var(--border); }
.lx-stages { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 6px; margin: 8px 0 4px 20px; }
.lx-stage { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 8px; align-items: start; padding: 8px 10px;
  border-radius: 10px; background: var(--soft); }
.lx-stage.now { background: var(--accent-soft); }
.lx-stage.done { background: var(--ok-soft); }
.lx-state { display: block; font-size: var(--fs-xs); font-weight: 700; color: var(--muted); overflow-wrap: anywhere; }
.lx-stage.now .lx-state { color: var(--accent-text); }
.lx-stage.done .lx-state { color: var(--ok); }
.lx-auto h2 { margin: 0 0 6px; font-size: var(--fs); }
.lx-auto-card { padding: 8px 0; border-top: 1px solid var(--border); }
.lx-auto-head { font-weight: 650; overflow-wrap: anywhere; }
.lx-auto-items { list-style: none; margin: 4px 0; padding: 0; }
.lx-auto-items li { margin: 3px 0; overflow-wrap: anywhere; }
.lx-auto-btns { display: flex; flex-wrap: wrap; gap: 6px; }
.lx-auto-sub { margin: 10px 0 4px; font-size: var(--fs-sm); }
.lx-auto-row { margin: 4px 0; overflow-wrap: anywhere; }
.lx-auto-tag { font-weight: 400; }
.lx-stage-name { display: block; font-size: var(--fs); font-weight: 650; color: var(--text); overflow-wrap: anywhere; }
.lx-stage.cancelled .lx-stage-name { text-decoration: line-through; color: var(--muted); }
.lx-stage.now { box-shadow: inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 60%, transparent); }
.lx-stage.next { outline: 1px dashed color-mix(in srgb, var(--accent) 50%, var(--border)); outline-offset: -1px; }
.lx-stage.next .lx-state { color: var(--text); }
.lx-stage.done .lx-stage-name { color: var(--muted); font-weight: 600; }
.lx-steps { display: flex; flex-direction: column; gap: 1px; }
.lx-now { color: var(--accent-text); font-weight: 750; }
.lx-next { color: var(--text); }
.lx-canon { margin: 4px 0 6px 20px; }
.lx-band { padding: 10px 0; border-top: 1px solid var(--border); }
.lx-band:first-child { border-top: 0; padding-top: 2px; }
.lx-band:last-child { padding-bottom: 2px; }
.lx-band > h2 { margin-bottom: 6px; overflow-wrap: anywhere; }
.lx-band-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
.lx-card { min-width: 0; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; }
p.lx-band-empty { margin: 0; padding: 7px 0; color: var(--muted); font-size: var(--fs-sm); overflow-wrap: anywhere; }
.task-head { padding: 16px 18px; }
.task-title-row { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 10px; align-items: start; }
.task-title-row .check { width: 24px; height: 24px; margin-top: 1px; border-radius: 6px; font-size: var(--fs-sm); }
.task-title-row h1 { font-size: var(--fs-h1); word-break: break-word; }
.facts { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 6px 12px; margin: 0; font-size: var(--fs); }
.facts dt { color: var(--muted); }
.facts dd { margin: 0; word-break: break-word; }
.facts dd.bad { color: var(--danger-text); font-weight: 650; }
.task-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 8px 0 0 34px; font-size: var(--fs); }
.tl-when { font-weight: 750; }
.tl-soft { color: var(--muted); font-size: var(--fs-sm); }
.task-line select { padding: 4px 8px; font-size: var(--fs-sm); }
.task-stamp { margin: 6px 0 0 34px; }
.task-head .facts { grid-template-columns: max-content minmax(0, 1fr); gap: 3px 12px; margin: 10px 0 0 34px; font-size: var(--fs); }
.task-head .body-text { margin-left: 34px; }
.task-head .body-block { margin: 10px 0 0 34px; }
.task-head .body-block .body-text { margin: 4px 0 0; }
.body-label { display: flex; align-items: baseline; gap: 8px; }
.task-actions { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid var(--border); }
form.inline[hidden] { display: none; }                          
details.step > summary { list-style: none; }
details.step > summary::-webkit-details-marker { display: none; }
details.step > summary.btn { white-space: normal; text-align: left; }
details.step > summary::after { content: "▾"; font-size: var(--fs-xs); opacity: .65; }
details.step[open] { flex-basis: 100%; }
details.step[open] > summary { background: var(--accent-soft); color: var(--accent-text); border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
details.step[open] > summary::after { content: "▴"; }
.step-body { margin: 8px 0 2px; padding: 10px 12px; background: var(--soft); border: 1px solid var(--border); border-radius: 11px; }
.step-body > p { margin: 0 0 8px; }
.step-body .actions { margin: 0; }
.step-body .btn:not(.primary):not(.on), .step-body input, .step-body select, .step-body textarea { background: var(--surface); }
.step-body .grid-form, .step-body.grid-form { margin-top: 0; }
.step-body .files { margin: 8px 0 0; }
details.sub { margin-top: 8px; }
details.sub > summary { display: inline-block; cursor: pointer; list-style: none; color: var(--accent-text); font-size: var(--fs-sm); font-weight: 650; }
details.sub > summary::-webkit-details-marker { display: none; }
details.sub > .stack, details.sub > label { margin-top: 8px; }
.steps { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; }
.task-more-body { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; }
.task-more-row { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.btn.on { background: var(--accent-soft); color: var(--accent-text); border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
.btn.ask { background: var(--warm); color: var(--warm-text); border-color: color-mix(in srgb, var(--warm-text) 30%, var(--border)); }
.stages .check { width: 26px; height: 26px; border-radius: 7px; font-size: 15px; }
.stages [data-busy] .check { opacity: .6; }
.stages .inline-form { margin-top: 10px; }
.card.stages > h2 { margin-bottom: 4px; }
.stage { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 3px 0;
  border-bottom: 1px solid var(--border); }
.stage:last-child { border-bottom: 0; }
.stage-name { display: block; min-width: 0; font-size: var(--fs); font-weight: 650; color: var(--text); white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis; }
.stage.done .stage-name, .stage.cancelled .stage-name { text-decoration: line-through; color: var(--muted); }
.stage-side { display: flex; align-items: center; gap: 6px; font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; }
.stage-side .late { color: var(--danger-text); font-weight: 650; }
.stage-mark:empty { display: none; }
.stage-now { margin: 2px 0 8px; display: flex; flex-wrap: wrap; gap: 2px 14px; overflow-wrap: anywhere; }
.stage.now { background: var(--accent-soft); border-radius: 8px; margin: 2px -8px; padding: 3px 8px; }
.stage-pos:empty { display: none; }
.stage.now .stage-pos { color: var(--accent-text); font-weight: 750; }
.stage.next .stage-pos { color: var(--text); font-weight: 650; }
details.stages-closed { border-bottom: 1px solid var(--border); }
details.stages-closed > summary { display: block; padding: 7px 0; cursor: pointer; list-style: none; color: var(--muted);
  font-size: var(--fs-sm); }
details.stages-closed > summary::-webkit-details-marker { display: none; }
@media (hover: hover) { details.stages-closed > summary:hover { color: var(--accent-text); } }   
details.stages-closed .sc-hide, details.stages-closed[open] .sc-show { display: none; }
details.stages-closed[open] .sc-hide { display: inline; }
details.stages-closed[open] > summary { border-bottom: 1px solid var(--border); }
details.hist > summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; cursor: pointer; list-style: none; }
details.hist > summary::-webkit-details-marker { display: none; }
details.hist > summary .more-hint { margin-left: auto; color: var(--muted); font-size: var(--fs-xs); }
details.hist[open] > summary { margin-bottom: 8px; }
details.hist[open] > summary .more-hint { display: none; }
.body-text { white-space: pre-wrap; tab-size: 4; margin-top: 10px; font-size: var(--fs); background: var(--soft); border-radius: 10px; padding: 10px 12px; word-break: break-word; }
.body-text.mono { white-space: pre; overflow: auto; word-break: normal; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: var(--fs-sm); max-height: 480px; }
.source-msg { border-left: 3px solid var(--accent); padding-left: 10px; margin: 8px 0; }
.source-msg .body-text { margin-top: 6px; }
.comment { padding: 8px 0; border-bottom: 1px solid var(--border); }
.comment:target { background: var(--accent-soft); border-radius: 8px; margin: 0 -8px; padding: 8px; }
.comment[id] { scroll-margin-top: 140px; }
.comment-head { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; font-size: var(--fs-sm); }
.comment-head .comment-del { margin-left: auto; }
.comment-del > summary { color: var(--muted); border-color: transparent; }        
.comment-text { margin-top: 3px; font-size: var(--fs); white-space: pre-wrap; overflow-wrap: anywhere; }
.comment-form { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.comment-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 6px 10px; }
.cm-count { margin-right: auto; font-variant-numeric: tabular-nums; }      
.cm-count.over { color: var(--danger-text); font-weight: 700; }
.cm-badge { font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; }
.row-tags .cm-badge { align-self: center; }
@media (min-width: 761px) { .comment-del .pop-form { left: auto; right: 0; width: 220px; } }   
@media (min-width: 761px) { .cancel-pop .pop-form { left: auto; right: 0; width: 220px; } }
.files { padding-left: 18px; font-size: var(--fs-sm); }
.history { list-style: none; padding: 0; margin: 0; }
.history > li { padding: 9px 0; border-bottom: 1px solid var(--border); font-size: var(--fs-ui); overflow-wrap: anywhere; }
.history > li:last-child { border-bottom: 0; }
.diff { margin: 4px 0 0; padding-left: 18px; font-size: var(--fs-sm); color: var(--muted); }
.pager { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 10px; }
.sessions, .aliases { list-style: none; padding: 0; margin: 0 0 12px; }
.sessions li, .aliases li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--border); font-size: var(--fs-ui); }
.aliases.people > li { flex-wrap: wrap; }
.aliases .person { flex: 1 1 200px; min-width: 0; word-break: break-word; }
details.pop.wide.person-edit { margin-top: 0; }
.person-edit[open] { flex-basis: 100%; }
.person-edit .pop-form label, .person-edit .pop-form input:not([type=checkbox]) { width: 100%; }
.person-edit .pop-form .btn { align-self: flex-start; }
.cabinets { list-style: none; padding: 0; margin: 10px 0 14px; }
.cabinets > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--border); font-size: var(--fs-ui); }
.cabinets > li:last-child { border-bottom: 0; }
.cab-main { display: flex; flex-direction: column; gap: 2px; min-width: 0; word-break: break-word; }
.cab-on { color: var(--ok); font-size: var(--fs-sm); font-weight: 650; }
.cab-off, .cabinets > li.off strong { color: var(--muted); }
details.pop.wide.cab-pop { margin-top: 0; }
.cab-pop[open] { grid-column: 1 / -1; }
.cab-pop .pop-form label { width: 100%; }
.cab-pop .pop-form input { width: 100%; }
.cab-pop .pop-form .btn { align-self: flex-start; }
.cab-back { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0; }
.cab-back input { flex: 1 1 170px; }
.cab-log > li { word-break: break-word; }
.voices { list-style: none; padding: 0; margin: 8px 0 10px; }
.voices > li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 10px;
  padding: 9px 0; border-bottom: 1px solid var(--border); }
.voices > li:last-child { border-bottom: 0; }
.voice-main { flex: 1 1 200px; min-width: 0; overflow-wrap: anywhere; }
.voice-keep { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 2px 0 4px; }
.files > li { overflow-wrap: anywhere; }                        
.files .gone { color: var(--muted); }
.work-top { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.work-top .card { margin-bottom: 0; }
.work-fact { font-size: var(--fs); font-weight: 700; }
.work-fact.bad { color: var(--danger-text); }
.work-fact.warn { color: var(--warm-text); }
.rate-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.rate-form input { flex: 1 1 240px; }
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -4px; padding: 0 4px; }
.work-table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: var(--fs-sm); }
.work-table th { text-align: left; font-size: var(--fs-xs); font-weight: 700; color: var(--muted); padding: 8px 8px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.work-table td { padding: 9px 8px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.work-table tr:last-child td { border-bottom: 0; }
.work-table tr.current td { background: var(--accent-soft); }
.work-table td.wk { font-weight: 700; }
.work-table.compact { min-width: 560px; }      
.work-line { font-size: var(--fs); font-weight: 700; margin: 2px 0 6px; text-wrap: pretty; }
.rlist { list-style: none; margin: 6px 0 0; padding: 0; }
.rlist > li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 7px 0;
              border-top: 1px solid var(--border); overflow-wrap: anywhere; }
.rlist .rid { color: var(--muted); font-size: var(--fs-xs); font-variant-numeric: tabular-nums; }
.rlist .rtitle { flex: 1 1 240px; min-width: 0; }
@media (min-width: 761px) {
  .rlist > li > .rtitle, .rlist > li > .rtitle ~ * { order: 1; }
  .rlist > li > .rtitle ~ .status-waiting { order: 0; }
}
details.fold > summary + .rlist { margin-top: 0; }
details.fold > summary + .rlist > li:first-child { border-top: 0; }
details.fold > summary > .rsum { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; }
:is(#sysremarks, #reports-timing, #outages) h3 { margin-top: 14px; }
.card-top h2.h-wrap { white-space: normal; min-width: 0; overflow-wrap: anywhere; }
.card-top .rate-now { min-width: 0; overflow-wrap: anywhere; }
.metric-link { display: block; color: var(--text); }
.metric-link:hover { text-decoration: none; border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
.metric-line { font-size: var(--fs); margin: 2px 0; }
.metric-line b { font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
.hint { color: var(--muted); font-size: var(--fs-sm); border-bottom: 1px dotted currentColor; cursor: help; white-space: nowrap; }
.rep-day h2 { margin-bottom: 6px; }
.rep-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: center; border-top: 1px solid var(--border); padding: 9px 0; }
.rep-link { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(0, 1.2fr) minmax(0, 1.6fr); gap: 4px 14px; align-items: center; color: var(--text); min-width: 0; }
.rep-link:hover { text-decoration: none; }
.rep-link:hover .rep-name b { color: var(--accent-text); }
.rep-name { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.rep-state { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; min-width: 0; }
.rep-figs { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: var(--fs-sm); font-weight: 700; }
.rep-figs i { font-style: normal; font-weight: 500; color: var(--muted); font-size: var(--fs-xs); }
.rep-status { display: inline-flex; border-radius: 999px; padding: 2px 9px; font-size: var(--fs-xs); font-weight: 750; white-space: nowrap; }
.rep-day1 h2 { margin: 0; }
.rep-day1-kind { color: var(--muted); font-size: var(--fs-sm); font-weight: 650; white-space: nowrap; }
.rep-day1-late { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; }
.rep-day1-open { font-size: var(--fs-sm); font-weight: 700; white-space: nowrap; }
.rep-howto > summary { cursor: pointer; color: var(--muted); font-size: var(--fs-xs); margin-top: 6px; }
.st-ok { color: var(--ok); background: var(--ok-soft); }
.st-warm { color: var(--warm-text); background: var(--warm); }
.st-wait { color: var(--accent-text); background: var(--accent-soft); }
.st-muted { color: var(--muted); background: var(--soft); }
.st-bad { color: var(--danger-text); background: var(--danger); }
.dstate-card { border-color: color-mix(in srgb, var(--warm-text) 35%, var(--border)); }
.inc { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; align-items: center; padding: 9px 0; border-top: 1px solid var(--border); }
.inc:first-child { border-top: 0; }
.inc-main { display: flex; flex-direction: column; gap: 2px; font-size: var(--fs-ui); min-width: 0; word-break: break-word; }
.inc-ok { color: var(--ok); font-size: var(--fs-sm); font-weight: 650; }
.inc-done { color: var(--muted); font-size: var(--fs-sm); }
.hb-quiet { color: var(--danger-text); font-weight: 700; }
.rep-rel { font-weight: 500; font-size: var(--fs-sm); color: var(--muted); white-space: nowrap; }
.rep-on { margin: 0 0 12px; font-size: var(--fs-ui); }
.rep-earlier-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.rep-earlier-row h2 { margin: 0; }
.rep-more { font-weight: 700; white-space: nowrap; }
.rep-date { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0; min-width: 0; max-width: 100%; }
.rep-date label { flex-direction: row; }
.rep-date-pick { display: flex; align-items: center; gap: 6px; min-width: 0; max-width: 100%; }
.rep-date-pick input { flex: 1 1 auto; min-width: 0; }
.rep-date-pick .btn { flex: 0 0 auto; }
.rep-earlier .tiny { margin: 8px 0 0; }
.report { max-width: 1080px; }
.rep-head-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.rep-head h1 { word-break: break-word; }
.rep-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 8px; }
.late-note { margin: 10px 0 0; background: var(--warm); color: var(--warm-text); border-radius: 9px; padding: 7px 10px; font-size: var(--fs-sm); }
.no-business { border-color: color-mix(in srgb, var(--warm-text) 35%, var(--border)); }
.big-reason { font-size: 18px; font-weight: 750; margin: 2px 0 6px; color: var(--warm-text); }
.not-released { margin: 4px 0; color: var(--warm-text); font-size: var(--fs-ui); }
details.dstate > summary { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; cursor: pointer; list-style: none; }
details.dstate > summary::-webkit-details-marker { display: none; }
details.dstate > summary h2 { white-space: nowrap; }
details.dstate > summary .more-hint { margin-left: auto; color: var(--muted); font-size: var(--fs-xs); }
details.dstate[open] > summary { margin-bottom: 10px; }
details.dstate[open] > summary .more-hint { display: none; }
.dstate-sum { font-size: var(--fs-sm); color: var(--ok); min-width: 0; overflow-wrap: anywhere; }
.dstate-sum.bad { color: var(--warm-text); font-weight: 650; background: var(--warm); border-radius: 7px; padding: 2px 8px; }
.dstate-sum.neutral { color: var(--muted); }   
.dstate-inc { margin-bottom: 10px; }
details.src-all { margin-top: 8px; }
details.src-all > summary { cursor: pointer; color: var(--accent-text); font-size: var(--fs-sm); font-weight: 650; margin-bottom: 6px; }
.rtable { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); }
.rtable.wide { min-width: 720px; }
.rtable th { text-align: left; font-size: var(--fs-xs); font-weight: 700; color: var(--muted); padding: 7px 8px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.rtable td { padding: 7px 8px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.rtable td.wrap { white-space: normal; min-width: 160px; }
.rtable tr:last-child td { border-bottom: 0; }
.rtable tr.main td { font-weight: 750; }
.rtable .num, .pgrid .num { text-align: right; font-variant-numeric: tabular-nums; }
.src-table { min-width: 640px; }
.src-stale td { background: color-mix(in srgb, var(--warm) 70%, transparent); }
.src-icon { font-size: var(--fs-sm); cursor: help; }
.src-ok .src-icon { color: var(--ok); }
.src-stale .src-icon { color: var(--warm-text); }
.src-off td, .src-off .src-icon { color: var(--muted); }
.off-note { margin: 8px 0 0; color: var(--muted); font-size: var(--fs-xs); word-break: break-word; }
.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin-bottom: 12px; }
.kpis.kpis3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 8px; }
.ads-line { margin: 0 0 6px; font-size: var(--fs-sm); }
.ads-line b { font-weight: 780; }
.cmp-line { margin: 0 0 10px; font-size: var(--fs-sm); }
.cmp-line.cmp-none { color: var(--muted); }
.kpi { background: var(--soft); border-radius: 11px; padding: 10px 12px; min-width: 0; }
.kpi.total { background: var(--accent-soft); }
.kpi-value { font-size: 20px; font-weight: 820; letter-spacing: -.02em; display: inline-block; }
.kpi-value.small { font-size: 16px; }
.kpi-value.hot { color: var(--warm-text); }
.money-totals { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; margin-bottom: 12px; }
.mc { --mc: var(--margin-none); display: inline-block; border-radius: 6px; padding: 1px 6px; font-weight: 750;
  background: color-mix(in srgb, var(--mc) 30%, transparent); box-shadow: inset 3px 0 0 var(--mc); }
.mc-none { --mc: var(--margin-none); box-shadow: none; }
.mc-0 { --mc: var(--margin-0); } .mc-1 { --mc: var(--margin-1); } .mc-2 { --mc: var(--margin-2); }
.mc-3 { --mc: var(--margin-3); } .mc-4 { --mc: var(--margin-4); } .mc-5 { --mc: var(--margin-5); }
.mc-6 { --mc: var(--margin-6); } .mc-7 { --mc: var(--margin-7); } .mc-8 { --mc: var(--margin-8); }
.mc-9 { --mc: var(--margin-9); } .mc-10 { --mc: var(--margin-10); }
.hot { color: var(--warm-text); font-weight: 750; }
.err-cell { color: var(--muted); border-bottom: 1px dotted currentColor; cursor: help; }
.tag.attn { color: var(--warm-text); background: var(--warm); font-size: var(--fs-xs); padding: 2px 7px; }
.tag.attn::before { display: none; }
.ptable-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -4px; padding: 0 4px; }
.ptable { min-width: 520px; font-size: var(--fs-sm); }
.pgrid { display: grid; grid-template-columns: minmax(100px, 1fr) 50px 100px 96px 74px 60px; gap: 8px; align-items: start; padding: 7px 6px; }
.phead { font-size: var(--fs-xs); font-weight: 700; color: var(--muted); border-bottom: 1px solid var(--border); padding-top: 4px; }
.prow { border-bottom: 1px solid var(--border); }
.prow > summary { cursor: pointer; list-style: none; }
.prow > summary::-webkit-details-marker { display: none; }
.prow > summary:hover { background: var(--soft); }
.prow[open] > summary { background: var(--accent-soft); }
.pname { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-width: 0; word-break: break-word; }   
.pname b::before { content: "▸ "; color: var(--muted); font-weight: 500; }
.prow[open] .pname b::before { content: "▾ "; }
.attn-row { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.pmore { background: var(--soft); }
.pmeta { margin: 0; padding: 8px 12px 0 22px; font-size: var(--fs-sm); color: var(--muted); word-break: break-word; }
.pmeta span + span::before { content: " · "; }
.pmeta .prev { color: var(--text); font-weight: 650; }
.unit { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 18px; margin: 0; padding: 8px 12px 12px 22px; background: var(--soft); font-size: var(--fs-sm); }
.unit > div { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px dashed var(--border); padding: 3px 0; }
.unit dt { color: var(--muted); }
.unit dd { margin: 0; font-variant-numeric: tabular-nums; white-space: nowrap; }
.profit-line { font-size: var(--fs); margin: 0 0 4px; }
.profit-line b { font-size: 18px; font-weight: 820; }
.stock-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.stock-grid h3 { margin-top: 4px; }
.rep-period { margin: 8px 0 0; font-size: var(--fs-sm); }
.obd-wrap { margin: 2px 0 10px; }
.obd { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.obd-day { background: var(--soft); border-radius: 9px; padding: 6px 8px; min-width: 0; }
.obd-day span { display: block; font-size: var(--fs-xs); color: var(--muted); }
.obd-day b { font-size: var(--fs-sm); font-weight: 780; white-space: nowrap; }
.obd-day.miss b { color: var(--muted); font-weight: 500; }
.p3d { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 1px 12px; font-size: var(--fs-xs); color: var(--muted); }
.p3d .d3 { white-space: nowrap; font-variant-numeric: tabular-nums; }
.p3d .d3.miss { cursor: help; border-bottom: 1px dotted currentColor; }
.hist { padding: 8px 12px 10px 22px; }
.hist h4 { margin: 0 0 4px; font-size: var(--fs-xs); font-weight: 750; color: var(--muted); }
.htable, .ctable { font-size: var(--fs-sm); }
.htable th, .htable td, .ctable th, .ctable td { padding: 4px 6px; }
.htable tr.miss td { color: var(--muted); }
.htable td.why { white-space: normal; }
.htable tr.cur td { font-weight: 700; }
.supply { margin-bottom: 12px; }
.sub-h { font-size: var(--fs-ui); margin-bottom: 6px; }
.supply-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 0 4px; font-size: var(--fs-sm); font-weight: 650; }
.supply-head .sig { border-radius: 6px; padding: 1px 7px; }
.supply-head .ok-text { color: var(--ok); }
.supply-note { margin: 2px 0; }
.stable { margin-top: 8px; }
.pgrid.sgrid { grid-template-columns: minmax(140px, 1fr) 92px 84px 64px 84px 76px; }
.chips { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 4px; padding-top: 2px; }
.chip { border-radius: 6px; padding: 1px 7px; font-size: var(--fs-xs); font-weight: 650; color: var(--text); white-space: nowrap; cursor: help; }
.sig-red { background: var(--sig-red); color: var(--text); }
.sig-yellow { background: var(--sig-yellow); color: var(--text); }
.ctable tr.sig-red td { background: var(--sig-red); }
.ctable tr.sig-yellow td { background: var(--sig-yellow); }
.ctable tr.sig-empty td { color: var(--muted-aa); }
.ctable td.cl-name { white-space: normal; }
.ctable { table-layout: fixed; }                    
.ctable th:first-child, .ctable td:first-child { width: 40%; }
.cover-table th { white-space: normal; vertical-align: bottom; }
.cover-table td { white-space: normal; }
.cover-table th:first-child, .cover-table td:first-child { width: 31%; }
.try-table td.num { white-space: nowrap; }
.tag.nov { color: var(--text); background: var(--sig-nov); font-size: var(--fs-xs); padding: 2px 7px; }
.tag.nov::before { display: none; }
.prow.worst-red > summary { box-shadow: inset 3px 0 0 var(--m-red); }
.prow.worst-yellow > summary { box-shadow: inset 3px 0 0 var(--m-yellow); }
details.skipd { margin-top: 6px; font-size: var(--fs-sm); }
details.skipd > summary { cursor: pointer; color: var(--muted); }
details.stock-more > summary h3 { margin: 0; }
.rating-sum { display: inline-flex; flex-wrap: wrap; gap: 2px 10px; color: var(--muted); }
.rating-head { margin: -4px 0 8px; }
.rating-table { font-size: var(--fs-sm); }
.rgrid { display: grid; grid-template-columns: minmax(120px, 1fr) 56px 104px 56px 112px;
  grid-template-areas: "name rate mark prev rev"; gap: 8px; align-items: baseline; padding: 7px 6px; }
.rhead { font-size: var(--fs-xs); font-weight: 700; color: var(--muted); border-bottom: 1px solid var(--border); padding-top: 4px; }
.rg-name { grid-area: name; min-width: 0; overflow-wrap: anywhere; }
.rg-rate { grid-area: rate; }
.rg-mark { grid-area: mark; min-width: 0; }
.rg-prev { grid-area: prev; }
.rg-rev { grid-area: rev; }
.rgrid .num { text-align: right; font-variant-numeric: tabular-nums; }
.rrow { border-bottom: 1px solid var(--border); }
.rrow:last-child { border-bottom: 0; }
.rt-big { font-size: 16px; font-weight: 820; }
.rrow.ch-down { box-shadow: inset 3px 0 0 var(--danger-text); }
.rrow.ch-down .rt-big, .rm-down { color: var(--danger-text); }
.rm-down { font-weight: 750; }
.rm-up { color: var(--muted); }
.rmark.rm-tag { display: inline-block; border-radius: 999px; padding: 2px 7px; font-size: var(--fs-xs); font-weight: 750;
  color: var(--muted); background: var(--soft); border: 1px solid var(--border); white-space: nowrap; }
.rmark.rm-warn { color: var(--warm-text); background: var(--warm); border-color: transparent; }
.rv-d { font-size: var(--fs-sm); color: var(--muted); }
.rv-d.hot { color: var(--warm-text); }
.rg-lbl { display: none; }
.rg-off { cursor: help; }
.rg-when { display: block; font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; cursor: help; }
.rating-warn { margin: 6px 0 0; }
.spp-head, .unit-head { margin: -4px 0 8px; }
.spp-table, .unit-table { font-size: var(--fs-sm); }
.spp-grid { display: grid; grid-template-columns: minmax(120px, 1fr) 88px 76px 88px 84px;
  grid-template-areas: "name price spp pos at"; gap: 8px; align-items: baseline; padding: 7px 6px; }
.unit-grid { display: grid; grid-template-columns: minmax(120px, 1fr) 96px 96px 96px 72px;
  grid-template-areas: "name price costs mrub mpct"; gap: 8px; align-items: baseline; padding: 7px 6px; }
.spp-hd, .unit-hd { font-size: var(--fs-xs); font-weight: 700; color: var(--muted); border-bottom: 1px solid var(--border);
  padding-top: 4px; }
.sg-name, .ug-name { grid-area: name; min-width: 0; overflow-wrap: anywhere; }
.sg-price, .ug-price { grid-area: price; }
.sg-spp { grid-area: spp; }
.sg-pos { grid-area: pos; }
.sg-at { grid-area: at; font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; }
.ug-costs { grid-area: costs; }
.ug-mrub { grid-area: mrub; }
.ug-mpct { grid-area: mpct; }
.spp-grid .num, .unit-grid .num { text-align: right; font-variant-numeric: tabular-nums; }
.spp-row, .unit-row { border-bottom: 1px solid var(--border); }
.spp-row:last-child, .unit-row:last-child { border-bottom: 0; }
.spp-row.spp-st-no_data, .spp-row.spp-st-not_in_rnp, .spp-row.spp-st-off { color: var(--muted); }
.unit-row.low { box-shadow: inset 3px 0 0 var(--danger-text); }
.unit-row.low .ug-mrub, .unit-row.low .ug-mpct { color: var(--danger-text); }
#spp .card-top h2, #unit .card-top h2 { white-space: normal; min-width: 0; }   
.sp-strat { font-size: var(--fs-xs); font-weight: 650; color: var(--muted-aa); overflow-wrap: anywhere; }
.sp-strat.off { flex-basis: 100%; padding-top: 2px; }
.sp-strat.on { display: inline-block; max-width: 100%; border: 1px solid var(--border); border-radius: 999px;
  padding: 0 7px; background: var(--soft); font-size: var(--fs-xs); }
.questions, .q-sec, .q-alert { max-width: 920px; }
.q-lead { margin: 0 0 6px; font-size: var(--fs); }
.q-alert { margin: 0 0 12px; padding: 10px 14px; border: 1px solid var(--border); border-radius: 12px;
  background: var(--danger); color: var(--danger-text); overflow-wrap: anywhere; }
.q-alert p { margin: 0; }
.q-alert a { color: inherit; text-decoration: underline; }
.q-draft { margin: 8px 0 0; padding: 8px 10px; border-radius: 9px; background: var(--surface); color: var(--text);
  font-size: var(--fs); white-space: pre-wrap; }
.q-alert .q-drop { margin-top: 8px; }
.q-drop[hidden] { display: none; }
.q-mute { max-width: 920px; margin: 0 0 12px; padding: 10px 14px; border: 1px solid var(--border); border-radius: 12px;
  background: var(--warm); color: var(--warm-text); overflow-wrap: anywhere; }
.q-mute p { margin: 0; }
.q-mute p + p { margin-top: 4px; }
.q-mute a, .q-mute .muted { color: inherit; }
.q-mute a { text-decoration: underline; }
.q-alert-card { margin: 8px 0 2px; }
.q-alert .q-changes, .q-alert .q-was { margin-top: 4px; font-size: var(--fs-sm); white-space: pre-wrap; }
.q-changed { padding-left: 8px; box-shadow: inset 3px 0 0 var(--danger-text); }
.q-sec > h2 { margin-bottom: 4px; }
.q-prio-h { margin: 14px 0 0; font-size: var(--fs-ui); font-weight: 800; }
.q-topic-h { margin: 12px 0 0; font-size: var(--fs-sm); font-weight: 750; color: var(--muted); }
.q-list { display: flex; flex-direction: column; }
.q-card { padding: 12px 4px 12px 10px; border-bottom: 1px solid var(--border); min-width: 0; overflow-wrap: anywhere; }
.q-card:last-child { border-bottom: 0; }
.q-card[id] { scroll-margin-top: 140px; }
.q-card.q-main { box-shadow: inset 3px 0 0 var(--warm-text); }
.q-top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: var(--fs-sm); color: var(--muted); }
.q-num { font-weight: 800; color: var(--text); }
.q-prio { border-radius: 999px; padding: 1px 8px; font-size: var(--fs-xs); font-weight: 750; background: var(--soft);
  color: var(--muted); }
.q-prio.q-prio-main { background: var(--warm); color: var(--warm-text); }
.q-prio.q-prio-confirm { background: var(--ok-soft); color: var(--ok); }
.q-text { margin: 6px 0 4px; font-size: var(--fs-h2); font-weight: 700; line-height: 1.4; white-space: pre-wrap; }
.q-prop { margin: 0 0 4px; font-size: var(--fs); white-space: pre-wrap; }
.q-facts { display: grid; gap: 4px; margin: 6px 0 4px; padding: 8px 12px; background: var(--soft); border-radius: 10px;
  font-size: var(--fs-sm); }
.q-facts > div { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px; }
.q-facts dt { color: var(--muted); }
.q-facts dd { margin: 0; min-width: 0; white-space: pre-wrap; }
.q-ans { margin: 6px 0 4px; padding: 8px 12px; border-radius: 10px; background: var(--ok-soft); font-size: var(--fs); }
.q-ans p { margin: 0; white-space: pre-wrap; }
.q-ans .q-ans-text { margin-top: 4px; }
.q-ans .q-ans-note { margin-top: 2px; font-size: var(--fs-sm); color: var(--muted); }
.q-closed { margin: 6px 0 0; font-size: var(--fs-sm); color: var(--muted); white-space: pre-wrap; }
.q-form { display: flex; flex-direction: column; gap: 6px; margin: 8px 0 2px; }
.q-hint { margin: 0; }                        
.q-quick { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.q-say { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: end; }
.q-say textarea { background: var(--surface); }
.q-card .btn { white-space: normal; text-align: left; max-width: 100%; }
.q-fold > summary { cursor: pointer; list-style: none; font-size: var(--fs-sm); font-weight: 650; color: var(--muted); }
.q-fold > summary::-webkit-details-marker { display: none; }
.q-fold > summary::before { content: "▸ "; }
.q-fold[open] > summary::before { content: "▾ "; }
.q-fix, .q-more { margin: 4px 0 0; }
.q-sec-fold > summary, .q-hist > summary { font-size: var(--fs-ui); font-weight: 800; color: var(--text); }
.q-manage { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 2px 16px; margin-top: 6px; }
.q-manage > .q-fold[open] { flex-basis: 100%; }
.q-eform { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 12px; align-items: end;
  margin: 6px 0 4px; padding: 10px 12px; background: var(--soft); border-radius: 10px; }
.q-eform .q-wide { grid-column: 1 / -1; }
.q-eform textarea, .q-eform input[name=note], .q-eform select { width: 100%; background: var(--surface); }
.q-eform .btn { justify-self: start; }
.q-log { margin-top: 8px; }
.q-log > li { overflow-wrap: anywhere; }
@media (min-width: 1200px) and (max-width: 1679px) {
  body.has-dlg .q-eform { grid-template-columns: minmax(0, 1fr); }
  body.has-dlg .q-facts > div { grid-template-columns: 110px minmax(0, 1fr); }
}
.strategies { max-width: 1180px; }
.st-lead { margin: 0 0 6px; font-size: var(--fs); }
.st-list { border-top: 1px solid var(--border); margin-top: 10px; }
.st-row { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(150px, .9fr) minmax(0, 1.7fr) auto;
  grid-template-areas: "name dec prop act" "more more more more"; gap: 4px 14px; align-items: start;
  padding: 10px 4px 10px 8px; border-bottom: 1px solid var(--border); }
.st-row:last-child { border-bottom: 0; }
.st-row.revisit { box-shadow: inset 3px 0 0 var(--warm-text); }
.st-name { grid-area: name; display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.st-off { cursor: help; }
.st-dec { grid-area: dec; display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow-wrap: anywhere; }
.st-label { font-size: var(--fs-ui); font-weight: 800; }
.st-label.st-unset { color: var(--muted); font-weight: 650; }
.st-season { font-size: var(--fs-sm); }
.st-note, .st-when { font-size: var(--fs-sm); color: var(--muted); overflow-wrap: anywhere; }   
.st-prop { grid-area: prop; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0;
  overflow-wrap: anywhere; font-size: var(--fs); }
.st-reason { font-size: var(--fs-sm); color: var(--muted); }
.st-stale { font-size: var(--fs-sm); color: var(--warm-text); }
.st-art-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-width: 0; }
.st-art { color: inherit; text-decoration-line: underline; text-decoration-style: dotted;
  text-decoration-color: var(--accent-text); text-underline-offset: 3px; overflow-wrap: anywhere; }
.st-art:hover, .st-art:focus-visible { color: var(--accent-text); text-decoration-style: solid; }
.st-cabs .tab { padding: 6px 11px; }
.st-found { margin: 0 0 10px; overflow-wrap: anywhere; }   
.st-how { margin: 0 0 4px; }
.st-how > p { margin: 6px 0 0; }
.st-stale-top { margin: 0 0 8px; }
.st-peek-fold { min-width: 0; max-width: 100%; }   
.st-peek { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px 18px; margin: 6px 0 4px;
  padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; min-width: 0; }
.st-peek-part { flex: 1 1 220px; min-width: 0; overflow-wrap: anywhere; }
.st-peek-days { flex: 1 1 100%; }
.st-peek .ovd { grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); }
.st-peek-h { margin: 0 0 6px; font-size: var(--fs-sm); }
.st-peek-h a { margin-left: 6px; }
.st-peek .ov-total { margin: 6px 0 2px; }
.st-peek-today { margin: 2px 0 0; }
.st-peek .unit.ov-unit { grid-template-columns: minmax(0, 1fr); margin-bottom: 4px; }
.st-peek .late-note { margin: 0 0 6px; }
.st-peek .ov-stock { padding: 0; }
.st-peek-foot { flex-basis: 100%; margin: 0; }
.st-peek-wait { margin: 6px 0 0; }
.st-peek-load, .st-peek-fail { display: none; }
.st-peek-wait[data-lazy-state="loading"] .st-peek-load, .st-peek-wait[data-lazy-state="failed"] .st-peek-fail { display: inline; }
.st-take { margin: 2px 0 0; max-width: 100%; }
.st-take .btn { white-space: normal; text-align: left; justify-content: flex-start; max-width: 100%;
  overflow-wrap: anywhere; }
.st-tag { display: inline-block; border-radius: 999px; padding: 1px 8px; font-size: var(--fs-xs); font-weight: 750;
  color: var(--warm-text); background: var(--warm); }
.st-tag.st-tag-ok { color: var(--ok); background: var(--ok-soft); }
.st-act { grid-area: act; margin: 0; width: 72px; display: flex; justify-content: flex-end; }   
.st-more { grid-area: more; display: flex; flex-wrap: wrap; align-items: flex-start; gap: 2px 16px; min-width: 0; }
.st-fold > summary { cursor: pointer; list-style: none; font-size: var(--fs-sm); font-weight: 650; color: var(--muted); }
.st-fold > summary::-webkit-details-marker { display: none; }
.st-fold > summary::before { content: "▸ "; }
.st-fold[open] > summary::before { content: "▾ "; }
.st-more > .st-fold[open] { flex-basis: 100%; }
.to-ship > .st-fold { margin: 4px 0 0; }
.to-ship p { margin: 4px 0 0; overflow-wrap: anywhere; }
.to-ship .unit { margin: 6px 0 0; border-radius: 9px; }
.to-ship .unit dd { margin: 0; }   
.st-facts { display: grid; gap: 4px; margin: 6px 0 4px; padding: 8px 12px; background: var(--soft); border-radius: 10px;
  font-size: var(--fs-sm); }
.st-facts > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 10px; }
.st-facts dt { color: var(--muted); }
.st-facts dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.st-facts > div.muted dd { color: var(--muted); }
.st-gens { margin: 4px 0 0; padding-left: 16px; }
.st-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 12px; align-items: end;
  margin: 6px 0 4px; padding: 10px 12px; background: var(--soft); border-radius: 10px; }
.st-form .st-wide { grid-column: 1 / -1; }
.st-form select, .st-form input { width: 100%; background: var(--surface); }
.st-form .btn { justify-self: start; }
.st-all > summary { list-style: none; }
.st-all > summary::-webkit-details-marker { display: none; }
.st-all-body { margin-top: 10px; }
.st-all-list { margin: 6px 0 10px; padding-left: 18px; font-size: var(--fs-sm); columns: 2 260px; }
.st-old > p { margin: 6px 0 0; }
.st-hist > summary, .st-old > summary { font-size: var(--fs-ui); font-weight: 800; color: var(--text); }
.st-log { margin-top: 8px; }
.st-log > li { overflow-wrap: anywhere; }
.st-basis { min-width: 0; max-width: 100%; }
.hx { margin: 8px 0 4px; min-width: 0; }
.hx-head { margin: 0 0 4px; font-size: var(--fs-sm); overflow-wrap: anywhere; }
.hx-empty { margin: 0; font-size: var(--fs-sm); color: var(--muted-aa); }
.hx-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--border);
  border-radius: 10px; background: var(--surface); direction: rtl; }
.hx-table { direction: ltr; border-collapse: separate; border-spacing: 0; width: max-content; min-width: 100%;
  font-size: var(--fs-sm); font-variant-numeric: tabular-nums; }
.hx-table th, .hx-table td { padding: 4px 8px; text-align: right; white-space: nowrap; vertical-align: top;
  border-bottom: 1px solid var(--border); }
.hx-table thead th, .hx-table thead td { font-size: var(--fs-xs); font-weight: 700; color: var(--muted-aa); background: var(--soft); }
.hx-table tr > :first-child { position: sticky; left: 0; z-index: 1; text-align: left; background: var(--surface);
  box-shadow: inset -1px 0 0 var(--border); }
.hx-table thead tr > :first-child, .hx-table tr.hx-total > :first-child { background: var(--soft); }
.hx-table tbody th { font-weight: 700; }
.hx-sub { display: block; max-width: 8em; white-space: normal; font-size: var(--fs-xs); font-weight: 500;
  color: var(--muted-aa); overflow-wrap: anywhere; }
.hx-table tr.hx-total > * { font-weight: 800; background: var(--soft); border-bottom: 0; }
.hx-table .hx-prev { color: var(--muted-aa); }
.hx-table .hx-cut { box-shadow: inset 2px 0 0 var(--border); }
.hx-table .hx-gap { box-shadow: inset 1px 0 0 var(--muted-aa); }     
.hx-table th.hx-warn { color: var(--warm-text); cursor: help; }
.hx-table td.hx-neg { color: var(--danger-text); }
.hx-table [title] { cursor: help; }
.hx-ref { font-size: var(--fs-xs); color: var(--muted-aa); }
.hx-notes { margin: 4px 0 0; padding: 0; list-style: none; font-size: var(--fs-xs); color: var(--muted-aa);
  overflow-wrap: anywhere; }
.hx-warns { color: var(--warm-text); }
.hx-fold { margin-top: 6px; }
.hx-fold[open] > summary { margin-bottom: 4px; }
.hx-cap { margin: 6px 0 0; font-size: var(--fs-xs); color: var(--muted-aa); overflow-wrap: anywhere; }
@media (min-width: 761px) and (max-width: 1000px) {
  .st-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    grid-template-areas: "name dec act" "prop prop prop" "more more more"; }
}
@media (min-width: 1200px) and (max-width: 1679px) {
  body.has-dlg .st-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    grid-template-areas: "name dec act" "prop prop prop" "more more more"; }
}
.oc { margin: 6px 0; }
.oc > p { margin: 0 0 4px; overflow-wrap: anywhere; }
.oc-impl { color: var(--text); }
.oc-gap { color: var(--warm-text); }
.oc-changed { color: var(--warm-text); }
.oc-item { margin: 6px 0; padding: 8px 10px; border-radius: 10px; background: var(--soft); overflow-wrap: anywhere; }
.oc-item p { margin: 0 0 4px; }
.oc-item.oc-ok { box-shadow: inset 3px 0 0 var(--ok); }
.oc-item.oc-bad { box-shadow: inset 3px 0 0 var(--danger-text); }
.oc-item.oc-unclear { box-shadow: inset 3px 0 0 var(--warm-text); }
.oc-tag { display: inline-block; padding: 1px 8px; border-radius: 999px; font-size: var(--fs-xs); font-weight: 750;
  vertical-align: 1px; color: var(--muted-aa); background: var(--surface); }
.oc-tag.ok { color: var(--ok); background: var(--ok-soft); }
.oc-tag.bad { color: var(--danger-text); background: var(--danger); }
.oc-tag.unclear { color: var(--warm-text); background: var(--warm); }
.oc-cmp, .oc-history, .oc-facts { margin-top: 6px; }
.oc-cmp > summary, .oc-history > summary, .oc-facts > summary { cursor: pointer; font-weight: 750; font-size: var(--fs-sm);
  color: var(--accent-text); }
.oc-table { width: 100%; border-collapse: collapse; margin: 6px 0; font-size: var(--fs-sm); }
.oc-table th, .oc-table td { padding: 4px 6px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top;
  overflow-wrap: anywhere; }
.oc-table thead th { color: var(--muted-aa); font-weight: 650; }
.oc-table tbody th { font-weight: 600; }
.oc-trend { white-space: nowrap; color: var(--muted-aa); }
.oc-trend.ok { color: var(--ok); }
.oc-trend.bad { color: var(--danger-text); }
.oc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.oc-actions { margin: 6px 0 2px; }
.oc-confirm { display: inline-flex; margin: 0; }
body.plain { min-height: 100vh; }
.login-wrap { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 16px; }
.login-card { width: 100%; max-width: 380px; padding: 26px; display: flex; flex-direction: column; gap: 12px; }
.login-card input { width: 100%; font-size: var(--fs); padding: 10px 11px; }
.login-card p { margin: 0; }
.login-theme { position: absolute; top: 12px; right: 16px; }  
@media (max-height: 560px) {                        
  .login-wrap { flex-direction: column; }
  .login-theme { position: static; align-self: flex-end; margin-bottom: 8px; }
}
.err-code { font-size: 40px; color: var(--muted); }
@media (max-width: 1100px) {
  .home-grid { grid-template-columns: minmax(0, 1fr) minmax(340px, 40%); }
  .week3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); }
  .week3 .focus-panel { grid-column: 1 / -1; min-height: 0; }
  .week3.day-empty .focus-panel { grid-column: auto; }                        
  .week3.day-empty .day-panel { grid-column: 1 / -1; }                        
}
@media (max-width: 900px) {
  .home-grid { grid-template-columns: minmax(0, 1fr); }
  .page-home .home-grid { gap: 0; }
  .page-home .col-main, .page-home .col-side { display: contents; }
  .page-home .col-side > .dialog { order: 1; }
  .page-home .col-main > .changes { order: 2; }
  .card-grid { grid-template-columns: minmax(0, 1fr); }
  .work-top { grid-template-columns: minmax(0, 1fr); }
  .rep-link { grid-template-columns: minmax(0, 1fr); }
  .stock-grid { grid-template-columns: minmax(0, 1fr); }
  .unit { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .sig-line { grid-template-columns: 8px minmax(0, 1fr); }
  .sig-act { grid-column: 2; flex-wrap: wrap; }
  .oc-table thead { display: none; }
  .oc-table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; column-gap: 8px;
    padding: 4px 0; border-bottom: 1px solid var(--border); }
  .oc-table th, .oc-table td { border-bottom: 0; padding: 2px 0; }
  .oc-table tbody th { grid-column: 1 / -1; }
  .oc-table td[data-l]::before { content: attr(data-l) ": "; color: var(--muted-aa); font-size: var(--fs-xs); display: block; }
  .lx-band-cards { grid-template-columns: minmax(0, 1fr); }   
  .top { height: auto; min-height: 56px; padding: 10px 16px; gap: 10px; flex-wrap: wrap; position: static; }
  [id] { scroll-margin-top: 12px; }
  .comment[id] { scroll-margin-top: 76px; }      
  .flashes { top: 10px; right: 16px; }
  .top-sub { order: 3; width: 100%; font-size: var(--fs-sm); }
  .who { display: none; }
  .frame { display: block; min-height: 0; }
  .nav { display: flex; overflow-x: auto; padding: 8px 12px; border-right: 0; border-bottom: 1px solid var(--border); gap: 3px; scrollbar-width: none; }
  .nav::-webkit-scrollbar { display: none; }
  .nav-label { display: none; }
  .nav-item { flex: 0 0 auto; margin: 0; padding: 7px 10px; }
  .nav-mark { display: none; }
  .nav-item { gap: 6px; }
  .nav-item.disabled small { display: none; }
  .canvas { padding: 12px 16px 80px; }
  .heading { flex-direction: column; align-items: flex-start; gap: 4px; }
  .summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 12px; }
  .summary .metric { margin-bottom: 0; padding: 10px 12px; }
  .metric-value { font-size: 17px; }
  .metric-note { font-size: var(--fs-xs); }
  .attention-link { margin-left: 0; }
  .week-strip { display: flex; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
  .week-strip::-webkit-scrollbar { display: none; }
  .day-tile { flex: 0 0 76px; scroll-snap-align: start; }
  .planner-body { grid-template-columns: minmax(0, 1fr); }
  .day-col { border-right: 0; border-bottom: 1px solid var(--border); }
  .planner-body.day-empty .day-col { border-left: 0; border-bottom: 0; border-top: 1px solid var(--border); }  
  .week3 { grid-template-columns: minmax(0, 1fr); }
  .week3 .card { min-height: 0; }
  .grid-form { grid-template-columns: minmax(0, 1fr); }
  .facts { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .facts dd { margin-bottom: 6px; }
  .task-line, .task-stamp, .task-head .facts, .task-head .body-text, .task-head .body-block { margin-left: 0; }
  .task-head .facts dd { margin-bottom: 0; }
  .task-page input, .task-page select, .task-page textarea { font-size: 16px; }
  .row { grid-template-columns: 18px minmax(0, 1fr) auto; grid-template-areas: "check main end" "check tags end"; row-gap: 4px; }
  .row > .check-form { grid-area: check; }
  .row > .row-main { grid-area: main; }
  .row > .row-tags { grid-area: tags; justify-content: flex-start; }
  .row > form.inline, .row > a.btn { grid-area: end; }
  .list .row.done { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "main end" "tags end"; }
  .stage { align-items: start; grid-template-columns: 26px minmax(0, 1fr); row-gap: 0; }
  .stage-name { white-space: normal; overflow-wrap: anywhere; padding-top: 3px; }
  .stage-side { grid-column: 2; flex-wrap: wrap; white-space: normal; padding: 1px 0 3px; }
  .stage-side:not(:has(> :not(:empty))) { padding: 0; }
  .lx-stages { grid-template-columns: minmax(0, 1fr); margin-left: 0; }
  .lx-canon { margin-left: 0; }
  .pop-form, .pop-body { position: fixed; top: auto; left: 16px; right: 16px; bottom: 76px; width: auto; z-index: 40; }
  .pop-body .pop-form { position: static; }
  .page-home .dock {
    display: flex; position: fixed; left: 16px; right: 16px; bottom: 12px; z-index: 20; gap: 8px; justify-content: flex-end;
  }
  .page-home .chat { max-height: min(42vh, 360px); max-height: min(42svh, 360px); }
  .page-home .dock.dock-off { display: none; }
  .page-home:has(.sigl-tile[open]) .dock { display: none; }
  .dock-btn {
    border: 1px solid var(--border); background: var(--text); color: var(--surface); border-radius: 12px; padding: 11px 14px;
    font-size: var(--fs-sm); font-weight: 780; box-shadow: 0 8px 22px rgba(15, 23, 42, .18);
  }
  .dock-btn:hover { text-decoration: none; }
  .dock-btn b { display: inline-flex; min-width: 18px; height: 18px; margin-left: 4px; align-items: center; justify-content: center; border-radius: 999px; background: var(--danger-text); color: var(--surface); font-size: var(--fs-xs); padding: 0 5px; }
  .dock-btn.secondary { background: var(--surface); color: var(--text); }
  .dlg-toggle {
    top: auto; bottom: 6px; right: 16px; transform: none; writing-mode: horizontal-tb; border-radius: 12px; padding: 10px 14px;
  }
  .dlg:not([open])::before {
    content: ""; position: fixed; left: 0; right: 0; bottom: 0; height: 52px; z-index: 25;
    background: var(--surface); border-top: 1px solid var(--border);
  }
  .dlg[open] > .dlg-toggle { top: 10px; bottom: auto; right: 16px; border-radius: 10px; padding: 7px 10px; z-index: 27; border-right: 1px solid var(--border); }
  .dlg-panel { top: 0; left: 0; width: auto; border-width: 0; padding: 12px 16px; box-shadow: none; }
  .dlg-panel .card-top { padding-right: 120px; }
  .say textarea, .answer input, textarea.brief-text { font-size: 16px; }
  .rep-item { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .inc { grid-template-columns: minmax(0, 1fr); }
  .cabinets > li { grid-template-columns: minmax(0, 1fr); }
  .kpis, .money-totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpis.kpis3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kpis.kpis3 > .kpi:first-child { grid-column: 1 / -1; }            
  .kpi-value { font-size: 17px; }
  .ptable { min-width: 0; font-size: var(--fs-xs); }
  .pgrid { grid-template-columns: minmax(30px, .6fr) minmax(62px, 1.25fr) minmax(62px, 1.25fr) minmax(50px, .9fr) minmax(40px, .8fr); gap: 3px 6px; padding: 7px 2px; }
  .pgrid > .pname, .phead > span:first-child { grid-column: 1 / -1; }
  .pmore { position: sticky; left: 0; max-width: calc(100vw - 68px); }   
  .pmeta { padding-left: 12px; }
  .unit { grid-template-columns: minmax(0, 1fr); padding-left: 12px; }
  .obd { grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); }
  .pgrid.sgrid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .chip { white-space: normal; }
  .hist { padding: 8px 2px 10px; }
  .htable, .ctable { font-size: var(--fs-xs); }
  .htable th, .htable td, .ctable th, .ctable td { padding: 4px 2px; }
  .htable .num { font-variant-numeric: normal; }
  .htable .mc { padding: 1px 3px; }
  .htable td:first-child, .ctable td, .ctable th { white-space: normal; }   
  .cover-table th:first-child, .cover-table td:first-child { width: 38%; }
  .cover-table th:nth-child(2):nth-last-child(3), .cover-table td:nth-child(2):nth-last-child(3) { width: 14%; }
  .try-table th:first-child, .try-table td:first-child { width: 31%; }   
  .spp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "name name" "price spp" "pos at";
    gap: 2px 6px; padding: 7px 2px 7px 6px; }
  .unit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-areas: "name name" "price costs" "mrub mpct";
    gap: 2px 6px; padding: 7px 2px 7px 6px; }
  .spp-hd > span:not(.sg-name), .unit-hd > span:not(.ug-name) { display: none; }
  .spp-grid .num, .unit-grid .num { text-align: left; }
  .rating-table { font-size: var(--fs-xs); }
  .rgrid { grid-template-columns: minmax(0, 1fr) 56px 104px; grid-template-areas: "name rate mark" "name prev rev";
    gap: 2px 6px; padding: 7px 2px 7px 6px; }                   
  .rhead.rgrid { grid-template-areas: "name rate mark"; }
  .rhead .rg-prev, .rhead .rg-rev { display: none; }
  .rg-mark { text-align: right; }
  .rg-lbl { display: inline; color: var(--muted); }
  .rmark.rm-tag { white-space: normal; }
  .q-card { padding: 10px 2px 10px 8px; }
  .q-card[id] { scroll-margin-top: 76px; }        
  .q-say { grid-template-columns: minmax(0, 1fr); }
  .q-say > .btn { justify-self: start; }
  .q-facts { padding: 8px 10px; }
  .q-facts > div { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .q-eform { grid-template-columns: minmax(0, 1fr); padding: 10px; }
  .q-form textarea, .q-eform textarea, .q-eform input, .q-eform select { font-size: 16px; }
  .nav-badge { margin-left: 0; }
  .st-row { grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "name act" "dec dec" "prop prop" "more more"; gap: 4px 8px; padding: 10px 2px 10px 8px; }
  .st-dec { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
  .st-facts { padding: 8px 10px; }
  .st-facts > div { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .st-form { grid-template-columns: minmax(0, 1fr); padding: 10px; }
  .st-form select, .st-form input { font-size: 16px; }
  .st-all > summary.btn { white-space: normal; text-align: left; }
  .hx-table { font-size: var(--fs-xs); }
  .hx-table th, .hx-table td { padding: 4px 6px; }
  .hx-sub { max-width: 6em; }
}
.rec-about, .rec-group, .rec-alert, .rec-filter, .rec-thin, .rec-summary { max-width: 920px; }
.rec-about .rec-line { margin: 0 0 6px; }
.rec-about p:last-child { margin-bottom: 0; }
.rec-skip { margin: 6px 0 0; color: var(--warm-text); }
.rec-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin: 0 0 10px; }
.rec-filter .chip-link { margin: 0; }
.rec-filter .chip-link.on { background: var(--accent-soft); color: var(--accent-text);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border)); }
.rec-sku { overflow-wrap: anywhere; color: var(--muted); }
.rec-thin { margin: 0 0 10px; padding: 8px 12px; border-radius: 11px; background: var(--warm); color: var(--warm-text);
  overflow-wrap: anywhere; }
.rec-thin a { color: inherit; text-decoration: underline; }
.rec-summary { margin: 0 0 8px; }
.rec-group { margin-bottom: 14px; }
.rec-product { margin: 4px 0 8px; overflow-wrap: anywhere; }
.rec-product .muted { font-weight: 500; }
.card.rec { overflow-wrap: anywhere; }
.card.rec.rec-new { box-shadow: inset 3px 0 0 var(--warm-text), var(--shadow); }   
.card.rec[id] { scroll-margin-top: 140px; }      
.rec-top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-bottom: 6px; }
.tag.rec-kind::before { display: none; }
.tag.rec-status { color: var(--muted); background: var(--soft); }
.tag.rec-status.rs-new { color: var(--warm-text); background: var(--warm); }
.tag.rec-status.rs-accepted, .tag.rec-status.rs-changed, .tag.rec-status.rs-task { color: var(--ok); background: var(--ok-soft); }
.tag.rec-status.rs-rejected { color: var(--danger-text); background: var(--danger); }
.rec-conf { font-size: var(--fs-xs); color: var(--muted); }
.rec-conf.conf-high { color: var(--ok); }
.rec-conf.conf-low { color: var(--warm-text); }
.rec-line { margin: 0 0 6px; font-size: var(--fs); }
.rec-lead { padding: 8px 10px; border-radius: 10px; background: var(--accent-soft); }
.rec-branches { margin: 4px 0 0; padding-left: 20px; font-size: var(--fs); }
.rec-when { margin: 0 0 4px; }
.rec-decided { margin: 6px 0; padding: 8px 10px; border-radius: 10px; background: var(--soft); }
.rec-decided p { margin: 0 0 4px; }
.rec-decided p:last-child { margin-bottom: 0; }
.rec-alert { margin: 8px 0; padding: 10px 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--danger);
  color: var(--danger-text); overflow-wrap: anywhere; }
.rec-alert p { margin: 0; }
.rec-alert a { color: inherit; text-decoration: underline; }
.rec-draft { margin: 8px 0 0; padding: 8px 10px; border-radius: 9px; background: var(--surface); color: var(--text);
  font-size: var(--fs); white-space: pre-wrap; }
.rec-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; margin: 8px 0 4px; }
.rec-actions .btn { white-space: normal; }
.rec-actions details.rec-pop[open] { flex-basis: 100%; }
.rec-pop .pop-form { position: static; width: auto; max-width: 640px; box-shadow: none; margin-top: 8px; }
.rec-form label:not(.rec-opt):not(.rec-check) { width: 100%; }
.rec-form > .btn { align-self: flex-start; }
.rec-form input:not([type=radio]):not([type=checkbox]):not([type=date]), .rec-form select { width: 100%; }
.rec-opts { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rec-opts legend { padding: 0; margin-bottom: 4px; color: var(--muted); }
label.rec-opt, label.rec-check { flex-direction: row; align-items: flex-start; gap: 8px; color: var(--text); font-size: var(--fs-sm); }
.rec-opt input, .rec-check input { margin-top: 3px; flex: 0 0 auto; }
.rec-mine { font-size: var(--fs-xs); font-weight: 750; color: var(--ok); }
.rec-later, .rec-row { display: flex; flex-wrap: wrap; gap: 6px; }
.rec-row label { flex: 1 1 160px; }
.rec-fb { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.rec-more { margin-top: 8px; border-top: 1px solid var(--border); padding-top: 8px; }
.rec-more > summary { cursor: pointer; font-weight: 750; font-size: var(--fs-sm); color: var(--accent-text); }
.rec-more h3 { margin: 10px 0 4px; }
.rec-facts { margin: 0 0 4px; padding-left: 18px; font-size: var(--fs-sm); }
.rec-facts > li { margin-bottom: 3px; }
.rec-all > li { margin-bottom: 6px; }
.rec-pass-card .card-top { margin-bottom: 6px; }
.rec-pass { list-style: none; margin: 0; padding: 0; }
.rec-pass > li { padding: 6px 0; border-bottom: 1px solid var(--border); font-size: var(--fs); overflow-wrap: anywhere; }
.rec-pass > li:last-child { border-bottom: 0; }
.rec-mark { margin-left: 6px; font-weight: 750; color: var(--warm-text); white-space: nowrap; }
.rec-from { white-space: nowrap; }                
.rec-settings { display: flex; flex-direction: column; gap: 10px; align-items: flex-start; max-width: 520px; }
.rec-settings label:not(.rec-check) { width: 100%; }
.rec-settings .rec-opts { flex-direction: row; flex-wrap: wrap; gap: 6px 14px; }
@media (max-width: 760px) {
  .rec-form textarea, .rec-form input:not([type=radio]):not([type=checkbox]), .rec-form select, .rec-settings select { font-size: 16px; }
  .card.rec[id] { scroll-margin-top: 76px; }
}
.exp-stats { margin: 0 0 10px; }
.exp-error { background: var(--danger); color: var(--danger-text); border: 1px solid color-mix(in srgb, var(--danger-text) 25%, transparent);
  border-radius: 11px; padding: 9px 14px; font-size: var(--fs-sm); overflow-wrap: anywhere; margin: 0 0 10px; }
.exp-list { list-style: none; margin: 0; padding: 0; }
.exp-list > li { padding: 8px 0; border-bottom: 1px solid var(--border); font-size: var(--fs); overflow-wrap: anywhere; }
.exp-list > li:last-child { border-bottom: 0; }
.exp-list > li[id] { scroll-margin-top: 140px; }
.exp-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.exp-title { font-weight: 700; color: var(--text); overflow-wrap: anywhere; }
.exp-title:hover { color: var(--accent-text); }
.exp-text { margin: 4px 0; font-size: var(--fs); overflow-wrap: anywhere; white-space: pre-wrap; }
.exp-months { margin: 2px 0 4px; overflow-wrap: anywhere; }
.exp-foot { margin-top: 4px; justify-content: space-between; align-items: flex-start; }
.exp-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px; margin: 6px 0 4px; }
.exp-actions .btn { white-space: normal; }
.exp-actions details.exp-pop[open] { flex-basis: 100%; }
.exp-pop .pop-form { position: static; width: auto; max-width: 640px; box-shadow: none; margin-top: 8px; }
.exp-form label { width: 100%; }
.exp-form > .btn { align-self: flex-start; }
.exp-form input:not([type=radio]):not([type=checkbox]), .exp-form select, .exp-form textarea { width: 100%; }
.exp-radios { border: 0; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; min-width: 0; }
.exp-radios legend { padding: 0; margin-bottom: 4px; color: var(--muted); width: 100%; }
.exp-radios label { width: auto; flex-direction: row; align-items: baseline; gap: 6px; color: var(--text); }
.exp-tabs { margin: 0 0 8px; font-size: var(--fs-sm); overflow-wrap: anywhere; }
.exp-tabs b { color: var(--text); }
.exp-pick { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; margin: 0 0 8px; }
.exp-pick select { max-width: 100%; }
.case-card { overflow-wrap: anywhere; }
.case-head { margin-bottom: 8px; }
.case-title { margin: 0 0 6px; font-size: var(--fs-h1); overflow-wrap: anywhere; }
.case-meta { line-height: 1.5; }
.tag.case-tag { color: var(--muted); background: var(--soft); }
.tag.case-tag::before { display: none; }
.tag.case-tag.draft { color: var(--warm-text); background: var(--warm); }
.tag.case-tag.confirmed, .tag.case-tag.success { color: var(--ok); background: var(--ok-soft); }
.tag.case-tag.rejected, .tag.case-tag.problem { color: var(--danger-text); background: var(--danger); }
.tag.case-tag.warn { color: var(--warm-text); background: var(--warm); white-space: normal; }
.case-fields { display: grid; grid-template-columns: minmax(140px, 220px) minmax(0, 1fr); gap: 6px 14px; margin: 0 0 10px; }
.case-fields dt { color: var(--muted-aa); font-size: var(--fs-sm); font-weight: 650; }
.case-fields dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.case-text { white-space: pre-wrap; }
.case-empty { font-size: var(--fs-sm); }
.case-facts, .case-links { margin: 0; padding-left: 18px; font-size: var(--fs-sm); }
.case-facts > li, .case-links > li { margin-bottom: 3px; overflow-wrap: anywhere; }
.case-flabel { color: var(--muted-aa); }
.case-broken { margin: 0 0 4px; }
.case-prev > summary { cursor: pointer; color: var(--accent-text); width: max-content; max-width: 100%; }
.case-prev ul { margin: 4px 0; padding-left: 18px; font-size: var(--fs-sm); }
.case-log > li { overflow-wrap: anywhere; }
.case-decisions .case-h { margin: 10px 0 4px; font-size: var(--fs-ui); }
.case-list > li { overflow-wrap: anywhere; }
.case-save { margin-left: 6px; }
.case-in { white-space: nowrap; }
@media (max-width: 760px) {
  .case-fields { grid-template-columns: minmax(0, 1fr); }
  .case-fields dt { margin-top: 6px; }
  .exp-form textarea, .exp-form input:not([type=radio]):not([type=checkbox]), .exp-form select, .exp-pick select { font-size: 16px; }
  .exp-pick { flex-direction: column; align-items: stretch; }
  .exp-pick label { width: 100%; align-items: stretch; }
  .exp-pick select { width: 100%; }
  .exp-pick .btn { align-self: flex-start; }
}
.upd-about .upd-all { margin-top: 10px; }
.upd-about p { margin: 0; }
.upd-about .upd-alert { margin: 10px 0 0; }
.upd { overflow-wrap: anywhere; }
.upd-top { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 10px; margin-bottom: 6px; }
.upd-at { color: var(--muted); font-size: var(--fs-sm); font-variant-numeric: tabular-nums; white-space: nowrap; }
h2.upd-title { font-size: var(--fs-h2); overflow-wrap: anywhere; }
.upd-text { margin-top: 8px; }
.upd-text p { margin: 0 0 10px; }
.upd-text ul { margin: 0 0 10px; padding-left: 20px; }
.upd-text li { margin: 0 0 6px; }
.upd-text a { color: var(--accent-text); overflow-wrap: anywhere; }
.upd-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 2px; }
.upd-sec { font-size: var(--fs-h2); margin: 18px 0 10px; }
.upd-old > summary { cursor: pointer; overflow-wrap: anywhere; }
.upd-old > summary .upd-title { font-weight: 650; }
.upd-old[open] > summary { margin-bottom: 4px; }
details.done-pop[hidden] { display: none; }
.done-pop > summary { font-weight: 650; }
.flash .flash-act { display: block; margin-top: 6px; }
.flash .flash-act > summary { list-style: none; display: inline-block; }
.flash .flash-act > summary::-webkit-details-marker { display: none; }
.flash .flash-form { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; cursor: default; }
.flash .flash-form.inline { display: inline-flex; margin: 0 0 0 6px; }
.comment-head .comment-edit { margin-left: auto; }
.comment-head .comment-edit + .comment-del { margin-left: 0; }
.comment-edit > summary { list-style: none; color: var(--muted); border-color: transparent; }
.comment-edit > summary::-webkit-details-marker { display: none; }
.comment-edit .ce-hide, .comment-edit[open] .ce-show { display: none; }
.comment-edit[open] .ce-hide { display: inline; }
.comment-head .comment-edit[open] { flex-basis: 100%; order: 5; margin-left: 0; }
.comment-head .comment-edit[open] + .comment-del { margin-left: auto; }
.comment:has(.comment-edit[open]) > .comment-text { display: none; }
.comment-edit .q-alert { margin-top: 6px; }
.comment-prev { margin-top: 4px; }
.comment-prev > summary { cursor: pointer; }
.comment-old { margin-top: 4px; padding-left: 8px; border-left: 2px solid var(--border); }
.comment-old .comment-text { color: var(--muted); }
.ov-launch { gap: 4px 12px; overflow-wrap: anywhere; min-width: 0; }   
.ov-launch > * { min-width: 0; max-width: 100%; }
.ovd { display: grid; grid-template-columns: repeat(auto-fill, minmax(88px, 1fr)); gap: 5px; }
.ovd-day { background: var(--soft); border-radius: 9px; padding: 6px 5px 6px 6px; min-width: 0; }
.ovd-day span { display: block; font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ovd-day b { display: block; font-size: var(--fs-sm); font-weight: 780; white-space: nowrap; }
.ovd-day .ovd-fact { color: var(--text); white-space: normal; }   
.ovd-day.miss b { color: var(--muted); font-weight: 500; }
.ovd-day.miss span:last-child { white-space: normal; }
.ov-total { margin: 8px 0 2px; }
.ov-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; margin-bottom: 12px; }
.ov-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.ov-grid .card { margin-bottom: 0; }
.ov-card .facts { grid-template-columns: minmax(0, 1fr); gap: 2px; }
.ov-scroll { max-width: 100%; overflow-x: auto; }
.ov-price th { white-space: normal; vertical-align: bottom; }
.ov-price td { padding: 5px 6px; }
.ov-price td.ov-co { color: var(--muted); white-space: normal; }
.ov-price tr.cur td { font-weight: 700; }
.ov-arrow { color: var(--muted); font-weight: 700; }
.ov-rnp { margin: 8px 0 2px; }
.unit.ov-unit { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 8px 12px; border-radius: 9px; margin-bottom: 6px; }
.ov-card .pmeta { padding-left: 0; }
@media (max-width: 900px) {
  .ov-grid { display: flex; flex-direction: column; gap: 12px; }
  .ov-col { display: contents; }
  .ov-grid #hours { order: 3; }
}
@media (max-width: 760px) {
  .ov-price thead { display: none; }
  .ov-price, .ov-price tbody { display: block; }
  .ov-price tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 6px; padding: 5px 0;
    border-bottom: 1px solid var(--border); }
  .ov-price td, .ov-price td.num { border-bottom: 0; padding: 1px 0; text-align: left; white-space: normal; }
  .ov-price td:first-child { grid-column: 1 / -1; font-weight: 650; }
  .ov-price td[data-l]::before { content: attr(data-l); display: block; color: var(--muted-aa); font-size: var(--fs-xs); font-weight: 400; }
  .unit.ov-unit { grid-template-columns: minmax(0, 1fr); }
  .ov-price.ov-co4 tr { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.ov-kpis { margin-bottom: 6px; }
.ov-kpis .kpi { cursor: help; }
.ov-sources { margin: 0 0 8px; }
.ov-more { margin-top: 8px; }
.ov-more > .ovd { margin-top: 4px; }
.ov-more .htable, .ov-more .ptable-wrap { margin-top: 8px; }
.ov-stock { padding-top: 0; color: var(--text); }
.ovc { margin: 2px 0 10px; max-width: 400px; }
.ovc-svg { display: block; width: 100%; height: auto; overflow: visible; }
.ovc-lbl { fill: var(--muted); font-size: var(--fs-xs); }
.ovc-end { text-anchor: end; }
.ovc-base { stroke: var(--border); stroke-width: 1; }
.ovc-bar { fill: var(--accent); }
.ovc-gap { fill: var(--muted); opacity: .45; }
.ovc-line { fill: none; stroke: var(--text); stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.ovc-pt { fill: var(--text); }
.ovc-dot { fill: var(--warm-text); stroke: var(--surface); stroke-width: 2; }
.ovc-hit { fill: var(--text); fill-opacity: 0; cursor: help; }
.ovc-hit:hover { fill-opacity: .06; }
.ovc figcaption { margin-top: 2px; }
.ovc-key { white-space: nowrap; }
@media (hover: none) { .ovc-hint { display: none; } }   
.ovc-k { display: inline-block; vertical-align: middle; margin-right: 2px; }
.ovc-k-bar { width: 7px; height: 10px; border-radius: 2px 2px 0 0; background: var(--accent); }
.ovc-k-line { width: 12px; height: 2px; background: var(--text); }
.ovc-k-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--warm-text); }
.ov-tip { margin: 0 0 8px; padding: 8px 10px; background: var(--soft); border-radius: 9px; font-size: var(--fs-sm); overflow-wrap: anywhere; }
.ov-tip-k { font-weight: 700; }
.ov-tip-few { color: var(--muted); }
.ov-try { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 0 8px; min-width: 0; }
.ov-try input { width: 6.5em; max-width: 100%; font-size: var(--fs); }
.ov-try-k { font-weight: 650; }
.ov-try-res { min-width: 0; overflow-wrap: anywhere; font-size: var(--fs-sm); }
.ov-try .late-note { margin: 0; }
.ovh-src { cursor: help; }
.ovh-dip { color: var(--danger-text); background: var(--danger); cursor: help; }
.ovh-line { margin: 2px 0 6px; }
.ovh-chart { display: block; width: 100%; height: auto; max-height: 140px; }
.ovh-chart line, .ovh-chart polyline { fill: none; vector-effect: non-scaling-stroke; }
.ovh-chart .ovh-grid { stroke: var(--border); stroke-width: 1; }
.ovh-chart .ovh-base { stroke: var(--muted); stroke-width: 1; }
.ovh-chart .ovh-avg { stroke: var(--muted); stroke-width: 1.5; stroke-dasharray: 4 3; }
.ovh-chart .ovh-today { stroke: var(--accent-text); stroke-width: 2.5; }
.ovh-chart .ovh-today.dip { stroke: var(--danger-text); }
.ovh-chart .ovh-dot { fill: var(--accent-text); }
.ovh-chart .ovh-dot.dip { fill: var(--danger-text); }
.ovh-legend { margin: 4px 0 0; }
.ovh-key { display: inline-block; width: 14px; height: 0; border-top: 2px solid var(--accent-text); vertical-align: middle; }
.ovh-key.avg { border-top: 2px dashed var(--muted); }
.ovh-key.dip { border-top-color: var(--danger-text); }
.t88-inline { margin: 0 0 8px; min-width: 0; }
.t88-inline .ov-try-k { margin: 0 0 4px; }
.t88-wrap { max-width: 100%; overflow-x: auto; }
.t88-table th { white-space: normal; vertical-align: bottom; }
.t88-table td { vertical-align: top; }
.t88-table td:first-child { font-weight: 650; }
.t88-table input { width: 7em; max-width: calc(100% - 1.4em); font-size: var(--fs); text-align: right; }
.t88-table td:nth-child(3) input { width: 4.5em; }
.t88-sub { display: block; font-size: var(--fs-xs); color: var(--muted); font-weight: 400; }
.t88-act { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 6px 0 4px; }
.t88-form .late-note { margin: 0 0 6px; }
@media (max-width: 760px) {
  .t88-table thead { display: none; }
  .t88-table, .t88-table tbody { display: block; }
  .t88-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 10px; padding: 6px 0;
    border-bottom: 1px solid var(--border); }
  .t88-table tr:last-child { border-bottom: 0; }
  .t88-table td, .t88-table td.num { min-width: 0; padding: 0; border-bottom: 0; text-align: left; white-space: normal;
    overflow-wrap: anywhere; }
  .t88-table td:first-child { grid-column: 1 / -1; }
  .t88-table td[data-l]::before { content: attr(data-l); display: block; color: var(--muted-aa); font-size: var(--fs-xs);
    font-weight: 400; }
  .t88-table input, .t88-table td:nth-child(3) input { width: 100%; }
}
.promo-table td.neg { color: var(--danger-text); }
@media (max-width: 760px) {
  .rtable.wide.promo-table { display: block; min-width: 0; }
  .rtable.wide.promo-table > thead { display: none; }
  .rtable.wide.promo-table > tbody { display: block; }
  .rtable.promo-table > tbody > tr.promo-row { display: flex; flex-direction: column; gap: 2px; padding: 8px 0;
    border-bottom: 1px solid var(--border); }
  .rtable.promo-table > tbody > tr.promo-row:last-child { border-bottom: 0; }
  .rtable.promo-table > tbody > tr.promo-row > td[data-label] { order: 2; min-width: 0; padding: 0; border-bottom: 0;
    text-align: left; white-space: normal; overflow-wrap: anywhere; }
  .rtable.promo-table > tbody > tr.promo-row > td[data-label]::before { content: attr(data-label) ": "; display: inline;
    color: var(--muted-aa); font-size: var(--fs-xs); font-weight: 400; }
  .rtable.promo-table > tbody > tr.promo-row > td[data-label]:first-child { order: 0; font-size: var(--fs);
    font-weight: 650; }
  .rtable.promo-table > tbody > tr.promo-row > td[data-label]:first-child::before { content: none; }
  .rtable.promo-table > tbody > tr.promo-row > td.promo-profit[data-label] { order: 1; font-weight: 650; }
  .rtable.promo-table > tbody > tr.promo-row > td.promo-profit[data-label] br { display: none; }
  .rtable.promo-table > tbody > tr.promo-row > td.promo-profit[data-label] .tiny { margin-left: 6px; font-weight: 400; }
}
@media (max-width: 760px) {
  #prices .rtable, #money .rtable.wide, .rtable.src-table { display: block; min-width: 0; }
  #prices .rtable > thead, #money .rtable.wide > thead, .rtable.src-table > thead { display: none; }
  #prices .rtable > tbody, #money .rtable.wide > tbody, .rtable.src-table > tbody { display: block; }
  #prices .rtable tr, #money .rtable.wide tr, .rtable.src-table tr {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 8px; padding: 8px 0;
    border-bottom: 1px solid var(--border); }
  #prices .rtable tr:last-child, #money .rtable.wide tr:last-child, .rtable.src-table tr:last-child { border-bottom: 0; }
  #prices .rtable td, #money .rtable.wide td, .rtable.src-table td {
    min-width: 0; padding: 0; border-bottom: 0; text-align: left; white-space: normal; overflow-wrap: anywhere; }
  #prices .rtable td:first-child, #money .rtable.wide td:first-child, .rtable.src-table td:first-child {
    grid-column: 1 / -1; font-weight: 650; }
  #prices .rtable td::before, #money .rtable.wide td::before, .rtable.src-table td::before {
    display: block; color: var(--muted-aa); font-size: var(--fs-xs); font-weight: 400; }
  @supports selector(:has(a)) {
    .rtable:has(tr[id^="promo-"]) { display: block; min-width: 0; }
    .rtable:has(tr[id^="promo-"]) > thead { display: none; }
    .rtable:has(tr[id^="promo-"]) > tbody { display: block; }
    .rtable tr[id^="promo-"] {
      display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 8px; padding: 8px 0;
      border-bottom: 1px solid var(--border); }
    .rtable tr[id^="promo-"]:last-child { border-bottom: 0; }
    .rtable tr[id^="promo-"] > td {
      min-width: 0; padding: 0; border-bottom: 0; text-align: left; white-space: normal; overflow-wrap: anywhere; }
    .rtable tr[id^="promo-"] > td:first-child { grid-column: 1 / -1; font-weight: 650; }
    .rtable tr[id^="promo-"] > td::before { display: block; color: var(--muted-aa); font-size: var(--fs-xs); font-weight: 400; }
    .rtable tr[id^="promo-"] > td:nth-child(2)::before { content: "Кабинет"; }
    .rtable tr[id^="promo-"] > td:nth-child(3)::before { content: "Цена сейчас"; }
    .rtable tr[id^="promo-"] > td:nth-child(4)::before { content: "Цена акции"; }
    .rtable tr[id^="promo-"] > td:nth-child(5)::before { content: "Разница"; }
    .rtable tr[id^="promo-"] > td:nth-child(6)::before { content: "Акция"; }
    .rtable tr[id^="promo-"] > td:nth-child(7)::before { content: "Вход"; }
    .rtable tr[id^="promo-"] > td:nth-child(8)::before { content: "Итог"; }
    [id^="night-"] .rtable tr[id^="promo-"] > td:nth-child(8)::before,
    .rtable tr[id^="promo-"] > td:nth-child(9)::before { content: "Маржа по UNIT'ке"; }
    .rtable tr[id^="promo-"] > td:nth-child(n+3):nth-child(-n+5) { order: 1; }
    .rtable tr[id^="promo-"] > td:nth-child(2), .rtable tr[id^="promo-"] > td:nth-child(n+7) { order: 2; }
    .rtable tr[id^="promo-"] > td:nth-child(6) { order: 3; grid-column: 1 / -1; }
  }
  #prices .rtable td:nth-child(2)::before { content: "Кабинет"; }
  #prices .rtable td:nth-child(3)::before { content: "Было"; }
  #prices .rtable td:nth-child(4)::before { content: "Стало"; }
  #prices .rtable td:nth-child(5)::before { content: "Изменение"; }
  #prices .rtable td:nth-child(6)::before { content: "Когда"; }
  #prices .rtable td:nth-child(7)::before { content: "Причина"; }
  #prices .rtable td:nth-child(8)::before { content: "Сообщение"; }
  #prices .rtable td:nth-child(n+3):nth-child(-n+5) { order: 1; }
  #prices .rtable td:nth-child(2), #prices .rtable td:nth-child(6), #prices .rtable td:nth-child(8) { order: 2; }
  #prices .rtable td:nth-child(7) { order: 3; grid-column: 1 / -1; }
  #money .rtable.wide td:nth-child(2)::before { content: "Итого"; }
  #money .rtable.wide td:nth-child(3)::before { content: "В поставке"; }
  #money .rtable.wide td:nth-child(4)::before { content: "На складе"; }
  #money .rtable.wide td:nth-child(5)::before { content: "В пути к покупателю"; }
  #money .rtable.wide td:nth-child(6)::before { content: "На ФФ"; }
  #money .rtable.wide td:nth-child(7)::before { content: "Доля"; }
  .rtable.src-table tr { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rtable.src-table td:nth-child(2)::before { content: "Кабинет"; }
  .rtable.src-table td:nth-child(3)::before { content: "Метка в таблице"; }
  .rtable.src-table td:nth-child(4)::before { content: "Статус"; }
  .rtable.src-table td:nth-child(5)::before { content: "Почему"; }
  .rtable.src-table td:nth-child(4) { order: 1; grid-column: 1 / -1; }
  .rtable.src-table td:nth-child(2), .rtable.src-table td:nth-child(3) { order: 2; }
  .rtable.src-table td:nth-child(5) { order: 3; grid-column: 1 / -1; }
  .rtable.src-table td:empty { display: none; }
  .rtable.src-table .src-icon::after { content: " " attr(title); }
  .rtable.src-table tr.src-stale { padding: 8px; border-radius: 8px; background: color-mix(in srgb, var(--warm) 70%, transparent); }
  .rtable.src-table .src-stale td { background: none; }
  .day-tile { padding-left: 4px; padding-right: 4px; display: flex; flex-direction: column; }
  .day-tile span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; white-space: normal;
    overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; margin-bottom: 4px; }
  .day-tile i { align-self: center; margin-top: auto; }
  .page-home:not(:has(#review .review-item)) .dock-btn b { background: var(--muted); }
  .top-sub { white-space: normal; overflow-wrap: anywhere; }
}
@media (pointer: coarse) {
  .row > .check-form .check, .task > .check-form .check, .lx-stage > .check-form .check, .star { position: relative; }
  .row > .check-form .check::before, .task > .check-form .check::before, .lx-stage > .check-form .check::before {
    content: ""; position: absolute; inset: -9px -9px -9px -11px; }
  .star::before { content: ""; position: absolute; inset: -6px -8px; }
  label:has(> input[type=checkbox]):not(.say-about), label:has(> input[type=radio]) { min-height: 24px; }
}
.u28-later { position: relative; margin-left: auto; }
.u28-later-d > summary { list-style: none; cursor: pointer; white-space: nowrap; color: var(--muted); font-size: var(--fs-sm);
  font-weight: 650; background: var(--soft); border: 1px solid var(--border); border-radius: 999px; padding: 3px 12px; }
.u28-later-d > summary::-webkit-details-marker { display: none; }
.u28-later-d > summary::after, .u28-more-n > summary::after, .u28-more > summary::after { content: " ▾"; }
.u28-later-d[open] > summary::after, .u28-more-n[open] > summary::after, .u28-more[open] > summary::after { content: " ▴"; }
.u28-later-panel, .u28-more-panel { position: absolute; z-index: 20; top: calc(100% + 4px); background: var(--surface);
  color: var(--text); border: 1px solid var(--border); border-radius: 11px; padding: 4px 6px; font-size: var(--fs-sm);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .16); }
.u28-later-panel { right: 0; width: max-content; min-width: 220px; max-width: min(340px, calc(100vw - 32px)); }
.u28-later-row, .u28-more-link { display: block; padding: 6px 8px; color: var(--accent-text); font-weight: 650;
  border-radius: 8px; overflow-wrap: anywhere; }
.u28-later-row + .u28-later-row, .u28-more-link + .u28-more-link { border-top: 1px solid var(--border); border-radius: 0; }
.u28-later-row:hover, .u28-more-link:hover, .u28-later-row:focus-visible, .u28-more-link:focus-visible {
  background: var(--soft); text-decoration: none; }
.u28-plate { position: relative; container-type: inline-size; }
.u28-more-n { flex: 1 1 0; min-width: 0; }
.u28-more-n > summary { list-style: none; cursor: pointer; }
.u28-more-n > summary::-webkit-details-marker { display: none; }
.u28-more-n > summary::after { color: var(--danger-text); }
.u28-more-hint { display: none; font-weight: 750; color: var(--danger-text); }
@container (min-width: 330px) { .u28-more-hint { display: inline; } }
.u28-more-panel { left: 0; right: 0; max-height: min(320px, 60vh); overflow-y: auto; overscroll-behavior: contain; }
.u28-acts { flex: 1 1 100%; min-width: 0; margin: 0; padding: 0; list-style: none; }
.u28-acts a { display: flex; align-items: baseline; gap: 8px; min-width: 0; color: inherit; }
.u28-acts a:hover { text-decoration: none; }
.u28-acts a:hover b { text-decoration: underline; text-underline-offset: 2px; }
.u28-acts b { flex: 0 1 auto; min-width: 0; color: var(--text); font-weight: 650; white-space: nowrap; overflow: hidden;
  text-overflow: ellipsis; }
.u28-acts span { flex: none; white-space: nowrap; }
.attention.off.u28-late { background: var(--warm); color: var(--warm-text);
  border-color: color-mix(in srgb, var(--warm-text) 25%, transparent); }
.u28-late .attention-text a { color: var(--text); }
.u28-late .attention-text b { font-weight: 650; }
.u28-late .attention-link.u28-ok { display: inline-flex; min-width: 0; flex: 0 50 auto; font-weight: 400; }
.u28-ok-l { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.u28-ok-t { flex: none; white-space: pre; }
@media (min-width: 901px) {
  .page-home [data-home="slice"].u28-late { display: grid; grid-template-columns: auto minmax(0, max-content) minmax(auto, 1fr); }
  .u28-late .attention-link.u28-ok { margin-left: 0; min-width: auto; pointer-events: none; }
  .u28-late .u28-ok-l { flex: 1 1 0; width: 0; text-align: right; }
  .u28-late .u28-ok-l > span, .u28-late .u28-ok-t { pointer-events: auto; }
}
.u28-ctx { margin: 2px 0 6px; color: var(--muted); font-size: var(--fs-sm); overflow-wrap: anywhere; }
.u28-more > summary { list-style: none; }
.u28-more > .pop-body { max-height: min(70vh, 520px); overflow-y: auto; overscroll-behavior: contain; }
.u28-more-row { display: flex; flex-wrap: wrap; gap: 4px; padding-bottom: 10px; }
.u28-more-row + .pop-form { border-top: 1px solid var(--border); padding-top: 10px; }
.u28-more .pop-form .btn { align-self: flex-start; }
@media (min-width: 761px) { .u28-more > .pop-body { width: 300px; } }
@media (max-width: 760px) { .u28-later { margin-left: 0; } .u28-later-panel { left: 0; right: auto; } }
@media (max-width: 900px) {
  .u28-late .attention-text { flex: 1 1 0; min-width: 0; }
  .u28-late .attention-link.u28-ok { flex: 1 1 100%; }
}
details.u28-data > summary h2 { white-space: normal; min-width: 0; overflow-wrap: anywhere; }
.u28-delayed { margin: 0 0 8px; }
.u28-dl { margin: 0 0 4px; font-size: var(--fs-ui); overflow-wrap: anywhere; }
.u28-dl-line { margin: 0 0 4px 14px; overflow-wrap: anywhere; }
.u28-inc { margin-bottom: 6px; }
h3.u28-sys { margin: 12px 0 0; }
.u28-links { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 10px 0 0; font-size: var(--fs-sm); }
.u28-last-line { margin: 6px 0 0; overflow-wrap: anywhere; }
.u28-calm .attention-text { overflow-wrap: anywhere; }
.u28-quality a { color: inherit; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }
.u28-marks { margin: 0 0 8px; overflow-wrap: anywhere; }
.u28-guide { margin: 8px 0 0; }
.u28-held-line { margin: 0 0 4px; overflow-wrap: anywhere; }
.u28-last { margin: 6px 0 0; }
details.u28-r3-more:not([open]) + .u28-htable tr.u28-early { display: none; }
details.u28-r3-more { margin: 0 0 2px; }
details.u28-r3-more > summary, details.u28-clusters > summary, details.u28-costs > summary {
  cursor: pointer; color: var(--accent-text); font-size: var(--fs-sm); font-weight: 650; overflow-wrap: anywhere; }
details.u28-r3-more > summary { font-size: var(--fs-xs); padding: 2px 0 4px; }
details.u28-clusters > summary, details.u28-costs > summary { padding: 6px 12px 0 22px; }
details.u28-costs:not([open]) { padding-bottom: 10px; }
.u28-ads span span::before { content: none; }       
.u28-r3-note { padding-top: 2px; }
@media (max-width: 760px) {
  details.u28-clusters > summary, details.u28-costs > summary { padding-left: 12px; }
}
.st-list .st-row.u28-prow { grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  grid-template-areas: "head nums" "why why" "sig sig" "more more"; gap: 4px 16px; align-items: center; }
.u28-p-head { grid-area: head; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; min-width: 0;
  overflow-wrap: anywhere; }
.u28-p-name { font-size: var(--fs); min-width: 0; }
.u28-p-mark { font-size: var(--fs-xs); font-weight: 700; padding: 1px 8px; border-radius: 999px; background: var(--soft);
  color: var(--text); }
.u28-p-mark.u28-p-unset { color: var(--muted); font-weight: 600; }
.u28-p-nums { grid-area: nums; display: grid; grid-template-columns: repeat(3, minmax(84px, auto)); gap: 2px 14px;
  margin: 0; }
.u28-p-nums > div { min-width: 0; text-align: right; }
.u28-p-nums dt { font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; }
.u28-p-nums dd { margin: 0; font-size: var(--fs-ui); white-space: nowrap; }
.u28-p-why { grid-area: why; margin: 0; overflow-wrap: anywhere; }
.u28-p-sig { grid-area: sig; margin: 0; font-size: var(--fs-sm); overflow-wrap: anywhere; }
.u28-p-sig.u28-p-warn { color: var(--warm-text); font-weight: 650; }
.u28-p-line { margin: 6px 0 0; overflow-wrap: anywhere; }
.u28-p-acts { margin: 6px 0 2px; }
.u28-p-period { margin: 6px 0 0; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .st-list .st-row.u28-prow { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "nums" "why" "sig" "more"; }
  .u28-p-nums { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .u28-p-nums > div { text-align: left; }
  .u28-p-nums dt { white-space: normal; }
}
.c11-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 6px 0 4px; }
.c11-periods { display: inline-flex; flex-wrap: wrap; gap: 4px; }
.c11-note { margin: 4px 0; color: var(--warm-text); overflow-wrap: anywhere; }
.c11-legend { margin: 2px 0 6px; }
.c11-head, .st-list .st-row.c11-row > .c11-grid { display: grid; gap: 2px 14px; align-items: center;
  grid-template-columns: minmax(0, 1.6fr) minmax(104px, .8fr) minmax(120px, .9fr) minmax(104px, .8fr) minmax(90px, .8fr); }
.c11-head { font-size: var(--fs-xs); color: var(--muted); padding: 4px 0 6px; border-bottom: 1px solid var(--border); }
.c11-head .num, .c11-num { text-align: right; }
.st-list .st-row.c11-row { display: block; }
.c11-name { display: flex; flex-direction: column; gap: 1px; min-width: 0; overflow-wrap: anywhere; }
.c11-num { display: flex; flex-direction: column; gap: 1px; white-space: nowrap; min-width: 0; }
.c11-num b { font-size: var(--fs-ui); }
.c11-num > span { font-size: var(--fs-xs); color: var(--muted); }
.c11-num > span.mc { color: inherit; align-self: flex-end; }
.c11-sig { text-align: right; font-size: var(--fs-xs); min-width: 0; }
.c11-sig-t { display: inline-block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  padding: 1px 8px; border-radius: 999px; background: var(--soft); vertical-align: middle; }
.c11-sig-t.u28-p-warn { background: var(--warm); color: var(--warm-text); font-weight: 650; }
.c11-why { margin: 2px 0 0; overflow-wrap: anywhere; }
.c11-mark { font-weight: 650; }
.c11-label { white-space: nowrap; }
.c11-ads-more { display: none; margin: 2px 0 0; }
@media (max-width: 1250px) {
  .c11-head, .st-list .st-row.c11-row > .c11-grid {
    grid-template-columns: minmax(0, 1.6fr) minmax(104px, .8fr) minmax(120px, .9fr) minmax(90px, .8fr); }
  .c11-head .c11-ads, .c11-grid > .c11-ads { display: none; }
  .c11-ads-more { display: block; }
}
@media (max-width: 1700px) {
  body.has-dlg .c11-head, body.has-dlg .st-list .st-row.c11-row > .c11-grid {
    grid-template-columns: minmax(0, 1.6fr) minmax(104px, .8fr) minmax(120px, .9fr) minmax(90px, .8fr); }
  body.has-dlg .c11-head .c11-ads, body.has-dlg .c11-grid > .c11-ads { display: none; }
  body.has-dlg .c11-ads-more { display: block; }
}
@media (max-width: 760px) {
  .c11-head { display: none; }
  .st-list .st-row.c11-row > .c11-grid, body.has-dlg .st-list .st-row.c11-row > .c11-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c11-name { grid-column: 1 / -1; }
  .c11-num, .c11-sig { text-align: left; }
  .c11-num > span.mc { align-self: flex-start; }
}
.c11-bases { padding-top: 12px; padding-bottom: 12px; }
.c11-try { margin: 4px 0 12px; }
.c11-ref { margin: 8px 0 0; overflow-wrap: anywhere; }
.c11-pr .table-wrap { overflow-x: auto; }
.c11-prt { font-size: var(--fs-sm); }
.c11-prt td, .c11-prt th { vertical-align: top; }
.c11-prt td.num { white-space: nowrap; }
.c11-prt tr.miss td.why { color: var(--muted); }
.c11-pr-today { margin: 8px 0 4px; overflow-wrap: anywhere; }
.c11-graph { margin: 0 0 8px; }
.c11-graph > summary { list-style: none; display: inline-flex; }
.c11-graph > summary::-webkit-details-marker { display: none; }
.c11-graph .c11-g-on, .c11-graph[open] .c11-g-off { display: none; }
.c11-graph[open] .c11-g-on { display: inline; }
.c11-graph[open] ~ .table-wrap { display: none; }
.c11g { margin: 8px 0 0; max-width: none; overflow-x: auto; }   
.c11g .ovc-svg { min-width: 560px; }   
.c11g-fact { fill: var(--accent); fill-opacity: .35; }
.c11g-pos { fill: var(--ok); fill-opacity: .7; }
.c11g-neg { fill: var(--danger-text); fill-opacity: .7; }
.c11g-card { fill: none; stroke: var(--accent); stroke-width: 2; stroke-dasharray: 4 3; }
.c11g-cardpt { fill: var(--accent); }
.c11g-date { text-anchor: middle; }
.u28-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; margin: 12px 0 4px; }
.u28-card { display: flex; flex-direction: column; gap: 2px; }
.u28-card .metric-label { margin-bottom: 4px; overflow-wrap: anywhere; }
.u28-main, .u28-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-width: 0; }
.u28-k { color: var(--muted); font-size: var(--fs-sm); }
.u28-chip { display: inline-block; border: 1px solid var(--border); border-radius: 999px; padding: 0 7px;
  font-size: var(--fs-xs); color: var(--muted); white-space: nowrap; }
.u28-src { overflow-wrap: anywhere; }
.u28-note { margin: 0 0 6px; }
.u28-price { margin: 8px 0 0; }
.u28-pline { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; margin: 0 0 4px; overflow-wrap: anywhere; }
.u28-fold { margin: 4px 0 0; }
.u28-about > summary { cursor: pointer; list-style: none; overflow-wrap: anywhere; }
.u28-about > summary::-webkit-details-marker { display: none; }
.u28-about > summary::before { content: "▸ "; color: var(--muted); }
.u28-about[open] > summary::before { content: "▾ "; }
.u28-about-h { font-weight: 750; }
.u28-recs { margin-top: 10px; }
.u28-try-inline { margin-bottom: 12px; }            
.u28-lx-top .u28-lx-cab { color: var(--muted); font-size: var(--fs-sm); font-weight: 650; overflow-wrap: anywhere; }
.u28-lx-top .u28-lx-sku { color: var(--muted); font-size: var(--fs-sm); overflow-wrap: anywhere; }
.u28-lx-top .tag.u28-lx-unlinked { color: var(--warm-text); background: var(--warm); white-space: normal; }
.u28-lx-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; }
.u28-lx-line > * { min-width: 0; overflow-wrap: anywhere; }
.u28-lx-more { margin: 4px 0 0 20px; }
.u28-lx-more .lx-legend { margin: 4px 0 0; }
.u28-lx-diag { margin-top: 8px; padding-top: 6px; border-top: 1px solid var(--border); }
.u28-lx-diag > summary { cursor: pointer; width: fit-content; font-size: var(--fs-sm); font-weight: 650; color: var(--muted); }
.u28-lx-diag p { margin: 4px 0; overflow-wrap: anywhere; }
details.u28-lx-empty > summary { cursor: pointer; width: fit-content; font-size: var(--fs-sm); font-weight: 650;
  color: var(--muted); }
details.u28-lx-empty .lx-band-empty { margin: 0; padding: 4px 0 0; color: var(--muted); font-size: var(--fs-sm);
  overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .u28-lx-more { margin-left: 0; }
}
.u28-tmenu { align-self: center; }
.u28-tmenu > summary { padding: 2px 9px; line-height: 1.25; font-weight: 750; }
.u28-tmenu > .u28-tmenu-body { display: flex; flex-direction: column; gap: 6px; }
.u28-tmenu:not([open]) > .u28-tmenu-body { display: none; }
@media (min-width: 761px) { .u28-tmenu > .u28-tmenu-body { left: auto; right: 0; width: 250px; } }
.u28-tmenu-h { margin: 0; }
.u28-tmenu-body .actions { gap: 4px; margin: 0; }
.u28-tmenu-link { display: block; padding: 3px 2px; font-size: var(--fs-sm); font-weight: 650; }
.u28-tmenu-focus { display: block; }
.u28-tmenu-focus .btn { width: 100%; text-align: left; }
.u28-hs-src { margin: 0 0 12px; }
details.u28-hs h3 { margin: 10px 0 6px; font-size: var(--fs-sm); color: var(--muted); font-weight: 700; }
@media (max-width: 760px) {
  .row > details.u28-tmenu { grid-area: end; }
}
.week-line.u28-none { display: flex; flex-wrap: wrap; align-items: center; column-gap: 8px; row-gap: 2px; }
.week-line.u28-none > b { flex: 0 0 52px; }
.week-line.u28-none > span { flex: 1 1 auto; min-width: 0; white-space: normal; }
.week-line.u28-none > .count { display: none; }
.task-meta a.u28-launch { color: inherit; font-weight: 650; }
.u28-q-past { color: var(--muted); }
.u28-q-enter { margin: 0 0 2px; }
.u28-q-accept a { overflow-wrap: anywhere; }
.u28-upd-top h2 { margin-bottom: 6px; }
.u28-upd-row + .u28-upd-row { margin-top: 10px; }
.u28-upd-row h3 { margin: 0 0 4px; font-size: var(--fs-ui); font-weight: 800; }
.u28-upd-list { margin: 0; padding-left: 20px; }
.u28-upd-list li { margin: 0 0 4px; overflow-wrap: anywhere; }
.u28-upd-top p { margin: 6px 0 0; }
.u28-upd-st { display: inline-block; max-width: 100%; border-radius: 999px; padding: 0 8px; font-size: var(--fs-xs);
  font-weight: 700; background: var(--soft); color: var(--muted); overflow-wrap: anywhere; }
.u28-upd-st.u28-upd-check { background: var(--warm); color: var(--warm-text); }
.u28-upd-st.u28-upd-accepted { background: var(--ok-soft); color: var(--ok); }
.u28-upd-go { display: inline-block; max-width: 100%; overflow-wrap: anywhere; }  
.u28-upd-more { margin-top: 6px; }
.u28-upd-more > summary { cursor: pointer; list-style: none; font-size: var(--fs-sm); font-weight: 650; color: var(--muted); }
.u28-upd-more > summary::-webkit-details-marker { display: none; }
.u28-upd-more > summary::before { content: "▸ "; }
.u28-upd-more[open] > summary::before { content: "▾ "; }
.c12-top { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
.c12-top h2 { margin: 0; }
.c12-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 12px 14px; margin: 12px 0 6px; }
.c12-cell { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.c12-k { color: var(--muted); font-size: var(--fs-sm); }
.c12-v { font-size: var(--fs-h2); }
.c12-note { margin: 6px 0 0; }
.c12-line { margin: 6px 0 0; }
.c12-line .c12-k { margin-right: 4px; }
.ov-grid.c12-one { grid-template-columns: minmax(0, 1fr); }
.c12-group .c12-top .c11-periods { margin-left: auto; }
.c12-now .c12-top { justify-content: space-between; }
.c12-more { margin-top: 6px; }
.c11-sel td { background: var(--accent-soft); }
.c11-sel td:first-child a { font-weight: 600; }
.c11g-selday { fill: var(--accent); fill-opacity: .12; }
