.seg {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 2px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: var(--r-pill);
  background: var(--surface-card);
}
.seg[hidden] {
  display: none;
}
.seg button {
  min-height: 36px;
  padding: 0 var(--sp-4);
  border: 0;
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--muted);
  font: inherit;
  font-size: var(--text-sm);
  font-weight: 560;
  cursor: pointer;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  transition: background-color 200ms ease, color 200ms ease;
}
.seg button:hover {
  color: var(--ink);
}
.seg button[aria-pressed=true] {
  background: var(--ink);
  color: var(--surface-card);
}
.sol-works {
  display: grid;
  gap: clamp(56px, 8vw, 112px);
}
.sol-work .h3 {
  font-size: var(--text-2xl);
  line-height: 1.2;
  letter-spacing: -.02em;
  margin-bottom: var(--sp-4);
  max-width: 22ch;
}
.sol-work > div > p {
  color: var(--muted);
  font-size: var(--text-md);
  line-height: 1.6;
  max-width: 46ch;
}
.sol-work .check-line {
  font-size: var(--text-base);
}
.sol-work .text-link {
  margin-top: var(--sp-4);
}
.sol-caption {
  margin-top: var(--sp-3);
  font-size: var(--text-xs);
  color: var(--faint);
  line-height: 1.5;
}
.sol-hero .h1 em {
  font-style: normal;
  color: var(--muted);
}
.sol-hero .detail-visual {
  padding: var(--sp-4);
}
.pf {
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  background: var(--surface-card);
  box-shadow: var(--sh-2);
  overflow: hidden;
}
.pf-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-2) var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--line-soft);
  font-size: var(--text-sm);
}
.pf-grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-2);
  padding: var(--sp-3);
}
.pf-tile {
  display: grid;
  gap: var(--sp-2);
  padding: var(--sp-3);
  border-radius: var(--r-md);
  background: var(--surface-card);
  font-size: var(--text-xs);
  color: var(--muted);
}
.pf-tile[hidden] {
  display: none;
}
.pf-tile[data-state=danger] {
  background: var(--important-fill);
}
.pf-tile[data-state=warning] {
  background: var(--warning-fill);
}
.pf-head {
  display: contents;
}
.pf-head b {
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--ink);
  line-height: 1.3;
}
.pf-head .pf-flag {
  order: 1;
}
.pf-row {
  display: flex;
  justify-content: space-between;
  gap: var(--sp-2);
  font-variant-numeric: tabular-nums;
}
.pf-row b {
  font-weight: 560;
  color: var(--ink);
}
.pf-row em {
  font-style: normal;
  font-weight: 600;
}
.pf-bar {
  --fill:0%;
  --mark:58%;
  position: relative;
  height: 6px;
  border-radius: var(--r-pill);
  background: var(--bg-alt);
}
.pf-bar i {
  position: absolute;
  inset: 0 auto 0 0;
  width: min(var(--fill), 100%);
  border-radius: inherit;
  background: var(--info-solid);
}
.pf-bar b {
  position: absolute;
  top: -3px;
  bottom: -3px;
  left: var(--mark);
  width: 2px;
  border-radius: 1px;
  background: var(--ink);
  opacity: .5;
}
.pf-tile[data-state=danger] .pf-bar i {
  background: var(--important-solid);
}
.pf-flag {
  justify-self: start;
  padding: 2px 8px;
  border-radius: var(--r-pill);
  background: var(--success-fill);
  color: var(--success-text);
  font-weight: 600;
}
[data-state=warning] .pf-flag {
  background: var(--warning-fill);
  color: var(--warning-text);
}
[data-state=danger] .pf-flag {
  background: var(--surface-card);
  color: var(--important-text);
}
.pf-foot {
  display: flex;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-4) var(--sp-3);
  font-size: var(--text-xs);
  color: var(--faint);
}
.pf-legend {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.pf-legend::before {
  content: "";
  width: 2px;
  height: 10px;
  border-radius: 1px;
  background: var(--ink);
  opacity: .5;
}
.sol-matrix-scroll {
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
  margin-inline: calc(var(--sp-1) * -1);
  padding-inline: var(--sp-1);
}
.sol-matrix-scroll {
  background:
    linear-gradient(
      to right,
      var(--surface-card) 40%,
      transparent) left/24px 100% no-repeat local,
    linear-gradient(
      to left,
      var(--surface-card) 40%,
      transparent) right/24px 100% no-repeat local,
    radial-gradient(
      farthest-side at 0 50%,
      var(--shadow-scroll),
      transparent) left/10px 100% no-repeat scroll,
    radial-gradient(
      farthest-side at 100% 50%,
      var(--shadow-scroll),
      transparent) right/10px 100% no-repeat scroll;
}
.sol-matrix-scroll:focus-visible {
  outline-offset: var(--focus-offset-inset);
}
.sol-matrix {
  width: 100%;
  min-width: 500px;
  border-collapse: collapse;
  font-size: var(--text-sm);
}
.sol-matrix th {
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--faint);
  padding: 0 4px var(--sp-2);
  text-align: center;
  vertical-align: bottom;
  line-height: 1.25;
}
.sol-matrix th:first-child,
.sol-matrix td:first-child {
  text-align: left;
  padding-left: 0;
}
.sol-matrix td {
  padding: 9px 4px;
  border-top: 1px solid var(--line-soft);
  text-align: center;
  white-space: nowrap;
}
.sol-matrix td:last-child {
  text-align: right;
  padding-right: 0;
  font-size: var(--text-xs);
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.sol-matrix .dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  vertical-align: middle;
}
.sol-matrix td.is-zero {
  color: var(--success-text);
}
.sol-matrix td.is-some {
  color: var(--warning-text);
}
.sol-matrix td.is-many {
  color: var(--important-text);
}
:is(.sol-matrix, .sol-legend) .dot--warning {
  background: var(--warning-solid);
}
:is(.sol-matrix, .sol-legend) .dot--danger {
  background: var(--important-solid);
}
.sol-legend {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2) var(--sp-4);
  margin-top: var(--sp-4);
  font-size: var(--text-xs);
  color: var(--muted);
}
.sol-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.motion .sol-matrix .dot {
  transform: scale(0);
  transition: transform 360ms var(--ease-out-expo);
  transition-delay: calc(var(--row,0) * 90ms + 200ms);
}
.sol-matrix tr:nth-child(2) {
  --row:1;
}
.sol-matrix tr:nth-child(3) {
  --row:2;
}
.sol-matrix tr:nth-child(4) {
  --row:3;
}
.sol-matrix tr:nth-child(5) {
  --row:4;
}
.motion .is-visible .sol-matrix .dot {
  transform: none;
}
.sol-report {
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  background: var(--bg-alt);
  box-shadow: var(--sh-2);
  overflow: hidden;
}
.sol-report-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4);
  background: var(--surface-card);
  border-bottom: 1px solid var(--line-soft);
  font-size: var(--text-sm);
}
.sol-report-top small {
  display: block;
  font-size: var(--text-xs);
  color: var(--faint);
}
.sol-pager {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  font-size: var(--text-xs);
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.sol-pager[hidden] {
  display: none;
}
.sol-pager button {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface-card);
  color: var(--ink);
  font: inherit;
  font-size: var(--text-md);
  cursor: pointer;
  transition: border-color 160ms ease, background-color 160ms ease;
}
.sol-pager button:hover:not(:disabled) {
  border-color: var(--faint);
  background: var(--bg-alt);
}
.sol-pager button:disabled {
  opacity: .4;
  cursor: default;
}
.sol-pages {
  display: grid;
  gap: var(--sp-3);
  padding: var(--sp-4);
}
.sol-page {
  display: grid;
  gap: var(--sp-3);
  align-content: start;
  padding: var(--sp-5);
  border-radius: var(--r-md);
  background: var(--surface-card);
  box-shadow: var(--sh-1);
}
.sol-page h4 {
  font-size: var(--text-md);
  font-weight: 600;
}
.sol-page-n {
  font: 500 var(--text-xs) var(--font-mono);
  color: var(--faint);
}
.sol-report.is-paged .sol-page {
  grid-area: 1/1;
  transition: opacity 320ms ease, transform 420ms var(--ease-out-expo);
}
.sol-report.is-paged .sol-page:not(.is-current) {
  opacity: 0;
  transform: translateX(var(--from,24px));
  visibility: hidden;
  transition:
    opacity 320ms ease,
    transform 420ms var(--ease-out-expo),
    visibility 0s 420ms;
}
.sol-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-2);
}
.sol-kpis div {
  padding: var(--sp-3);
  border-radius: var(--r-sm);
  background: var(--bg-alt);
  font-size: var(--text-xs);
  color: var(--muted);
}
.sol-kpis strong {
  display: block;
  margin-top: 2px;
  font-size: var(--text-lg);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.sol-kpis em {
  font-style: normal;
  font-weight: 600;
}
.sol-spaces {
  display: grid;
  gap: var(--sp-3);
}
.sol-space {
  padding: var(--sp-4) var(--sp-5);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-lg);
  background: var(--surface-card);
  box-shadow: var(--sh-1);
}
.sol-space-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-3);
}
.sol-space-head b {
  font-size: var(--text-md);
}
.sol-people {
  display: flex;
  align-items: center;
}
.sol-people span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  margin-left: -6px;
  border: 2px solid var(--surface-card);
  border-radius: 50%;
  background: var(--primary-dim);
  color: var(--primary-text);
  font-size: var(--text-xs);
  font-weight: 650;
}
.sol-people span:first-child {
  margin-left: 0;
  background: var(--ink);
  color: var(--surface-card);
}
.sol-space ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sol-space li {
  padding: 4px 10px;
  border-radius: var(--r-pill);
  background: var(--bg-alt);
  font-size: var(--text-xs);
  color: var(--muted);
}
.sol-space p {
  margin-top: var(--sp-3);
  font-size: var(--text-xs);
  color: var(--faint);
}
.sol-quota {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-5);
  border-radius: var(--r-md);
  background: var(--bg-alt);
  font-size: var(--text-sm);
  color: var(--muted);
}
.sol-quota b {
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.sol-log {
  list-style: none;
  display: grid;
  gap: var(--sp-2);
}
.sol-log li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px var(--sp-4);
  align-items: center;
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: var(--surface-card);
}
.sol-log li[hidden] {
  display: none;
}
.sol-log-src {
  grid-column: 1/-1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px var(--sp-2);
  font-size: var(--text-xs);
  color: var(--muted);
}
.sol-log-src .dot {
  flex: none;
}
.sol-log b {
  font-size: var(--text-sm);
  font-weight: 550;
  line-height: 1.4;
}
.sol-log em {
  justify-self: end;
  font-style: normal;
  font-size: var(--text-xs);
  font-weight: 600;
  padding: 3px 10px;
  border-radius: var(--r-pill);
  background: var(--bg-alt);
  color: var(--muted);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.sol-log em.good {
  color: var(--success-text);
  background: var(--success-fill);
}
.sol-log em.bad {
  color: var(--warning-text);
  background: var(--warning-fill);
}
.sol-log small {
  grid-column: 1;
  font-size: var(--text-xs);
  color: var(--faint);
}
.sol-morning {
  list-style: none;
  position: relative;
  display: grid;
  gap: var(--sp-3);
  padding: var(--sp-2) 0 var(--sp-2) 72px;
}
.sol-morning::before {
  content: "";
  position: absolute;
  left: 55px;
  top: 18px;
  bottom: 18px;
  width: 1px;
  background: var(--line);
}
.sol-morning li {
  position: relative;
  padding: var(--sp-3) var(--sp-4);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-md);
  background: var(--surface-card);
  box-shadow: var(--sh-1);
  font-size: var(--text-sm);
  color: var(--muted);
}
.sol-morning li::before {
  content: "";
  position: absolute;
  left: -21px;
  top: 18px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--info-solid);
}
.sol-morning li:last-child::before {
  background: var(--info-solid);
}
.sol-morning time {
  position: absolute;
  right: calc(100% + 28px);
  top: 13px;
  font: 500 var(--text-xs) var(--font-mono);
  color: var(--faint);
  white-space: nowrap;
  text-align: right;
}
.sol-morning b {
  display: block;
  color: var(--ink);
  font-weight: 600;
  margin: 6px 0 2px;
}
.sol-morning .sev,
.sol-morning .status-tag {
  display: inline-block;
}
.sol-morning-act {
  display: flex;
  gap: var(--sp-2);
  margin-top: var(--sp-2);
}
.sol-morning-act span {
  padding: 4px 12px;
  border-radius: var(--r-sm);
  font-size: var(--text-xs);
  font-weight: 560;
  background: var(--bg-alt);
  color: var(--ink);
}
.sol-morning-act span:first-child {
  background: var(--primary);
  color: var(--primary-ink);
}
.sq {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: var(--sp-5);
  align-items: start;
}
.sq-data {
  border: 1px solid var(--line);
  border-radius: var(--r-xl);
  background: var(--surface-card);
  box-shadow: var(--sh-2);
  overflow: hidden;
}
.sq-top {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  padding: var(--sp-3) var(--sp-4);
  border-bottom: 1px solid var(--line-soft);
  font-size: var(--text-sm);
  font-weight: 600;
}
.sq-top img {
  border-radius: var(--r-xs);
}
.sq-top small {
  margin-left: auto;
  font-weight: 400;
  font-size: var(--text-xs);
  color: var(--faint);
  text-align: right;
}
.sq-table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
}
.sq-table th {
  padding: var(--sp-2) var(--sp-3);
  border-bottom: 1px solid var(--line-soft);
  font-size: var(--text-xs);
  font-weight: 500;
  color: var(--muted);
  text-align: right;
  white-space: nowrap;
}
.sq-table td {
  padding: 0 var(--sp-3);
  border-bottom: 1px solid var(--line-soft);
  text-align: right;
  white-space: nowrap;
  transition: background-color 240ms ease;
}
.sq-table :is(th, td):first-child {
  width: 44px;
  padding-right: 0;
  text-align: center;
}
.sq-table :is(th, td):nth-child(2) {
  text-align: left;
  white-space: normal;
}
.sq-table tfoot td {
  font-weight: 600;
  border-bottom: 0;
  padding-block: 10px;
}
.sq-table label {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  flex-wrap: wrap;
  min-height: 44px;
  padding-block: 6px;
  cursor: pointer;
}
.sq-table input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--primary);
  cursor: pointer;
}
.sq-table input:disabled {
  cursor: default;
}
.sq-table td:first-child label {
  justify-content: center;
}
.sq-tag {
  padding: 1px 8px;
  border-radius: var(--r-pill);
  background: var(--neutral-fill);
  color: var(--neutral-text);
  font-size: var(--text-xs);
  font-weight: 560;
  white-space: nowrap;
}
.sq-table tr.is-scan td {
  background: var(--info-fill);
}
.sq-table tr.is-picked td {
  background: var(--neutral-fill);
}
.sq-table tr.is-picked .sq-tag {
  background: var(--surface-card);
}
.sq-table tr:not(.is-picked) .sq-tag {
  background: var(--bg-alt);
  color: var(--muted);
}
.sq-side {
  display: grid;
  gap: var(--sp-4);
}
.sq-sum {
  padding: var(--sp-5);
  border-radius: var(--r-lg);
  background: var(--surface-card);
  border: 1px solid var(--line-soft);
}
.sq-sum span {
  display: block;
  font-size: var(--text-sm);
  color: var(--muted);
}
.sq-sum strong {
  display: block;
  margin: var(--sp-1) 0;
  font-size: var(--text-3xl);
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
}
.sq-sum small {
  display: block;
  font-size: var(--text-sm);
  color: var(--muted);
  min-height: 1.5em;
}
.sq-sum small.is-warn {
  color: var(--warning-text);
}
.sq-after {
  display: grid;
  gap: var(--sp-2);
  padding: var(--sp-4) var(--sp-5);
  border-radius: var(--r-lg);
  border: 1px dashed var(--line);
  font-size: var(--text-sm);
  color: var(--muted);
}
.sq-after .effect-row {
  margin: 0;
}
.sq-after p {
  font-size: var(--text-xs);
  color: var(--faint);
  line-height: 1.5;
}
.sq-hint {
  font-size: var(--text-xs);
  color: var(--faint);
}
.sq-hint[hidden] {
  display: none;
}
.sol-places {
  display: grid;
  gap: 6px;
}
.sol-place {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: var(--sp-3);
  align-items: center;
  padding: var(--sp-2) var(--sp-3);
  border-radius: var(--r-sm);
  background: var(--bg-alt);
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
}
.sol-place span:first-child {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.sol-place em {
  font-style: normal;
  font-size: var(--text-xs);
  color: var(--important-text);
  font-weight: 600;
}
.sol-place.is-ok em {
  color: var(--success-text);
}
.sol-checks {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-2);
  margin-top: var(--sp-2);
}
.sol-checks li {
  display: grid;
  gap: 4px;
  padding: var(--sp-3);
  border-radius: var(--r-md);
  background: var(--bg-alt);
  font-size: var(--text-xs);
  color: var(--muted);
}
.sol-checks b {
  font: 600 var(--text-xs) var(--font-mono);
  color: var(--faint);
}
.sol-checks strong {
  font-size: var(--text-md);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.sol-checks li.is-good strong {
  color: var(--success-text);
}
.sol-checks li.is-wait {
  background: transparent;
  border: 1px dashed var(--line);
}
.sol-rules {
  list-style: none;
  display: grid;
  gap: var(--sp-2);
}
.sol-rules li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px var(--sp-3);
  align-items: center;
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--r-md);
  background: var(--surface-card);
  border: 1px solid var(--line-soft);
  font-size: var(--text-xs);
  color: var(--muted);
}
.sol-rules b {
  font-size: var(--text-sm);
  font-weight: 560;
  color: var(--ink);
}
.sol-rules .sev {
  grid-column: 2;
  grid-row: 1/span 2;
}
.sol-plan .window-body {
  display: grid;
  gap: var(--sp-5);
}
.sol-plan-sum {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: var(--sp-4);
  flex-wrap: wrap;
}
.sol-plan-sum strong {
  display: block;
  font-size: var(--text-3xl);
  letter-spacing: -.02em;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.sol-plan-sum span {
  font-size: var(--text-sm);
  color: var(--muted);
}
.sol-scale {
  position: relative;
  height: 14px;
  border-radius: var(--r-pill);
  background: var(--bg-alt);
}
.sol-scale i {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  border-radius: inherit;
}
.sol-scale .is-fact {
  width: var(--fact);
  background: var(--info-solid);
  z-index: 1;
}
.sol-scale .is-forecast {
  width: var(--forecast);
  background:
    repeating-linear-gradient(
      135deg,
      var(--info-solid) 0 4px,
      var(--info-fill) 4px 8px);
}
.sol-scale.is-over .is-forecast {
  background:
    repeating-linear-gradient(
      135deg,
      var(--warning-solid) 0 4px,
      var(--warning-fill) 4px 8px);
}
.sol-scale b {
  position: absolute;
  top: -5px;
  bottom: -5px;
  width: 2px;
  border-radius: 1px;
  background: var(--ink);
  z-index: 2;
}
.sol-scale .is-today {
  left: var(--today);
  opacity: .45;
}
.sol-scale .is-plan {
  left: var(--plan,calc(100% - 2px));
}
.sol-scale-legend {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sp-1) var(--sp-4);
  margin-top: var(--sp-2);
  font-size: var(--text-xs);
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.sol-scale-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.sol-scale-legend i {
  width: 10px;
  height: 10px;
  border-radius: 3px;
  background: var(--info-solid);
}
.sol-scale-legend i.is-forecast {
  background:
    repeating-linear-gradient(
      135deg,
      var(--info-solid) 0 3px,
      var(--info-fill) 3px 6px);
}
.sol-channels {
  display: grid;
  gap: var(--sp-3);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--line-soft);
}
.sol-channel {
  display: grid;
  grid-template-columns: minmax(0, 9rem) minmax(0, 1fr) auto;
  gap: var(--sp-3);
  align-items: center;
  font-size: var(--text-sm);
  font-variant-numeric: tabular-nums;
}
.sol-channel > span:first-child {
  white-space: nowrap;
}
.sol-channel .sol-scale {
  height: 8px;
}
.sol-channel .sol-scale b {
  top: -4px;
  bottom: -4px;
}
.sol-channel .status-tag {
  justify-self: end;
  padding: 3px 8px;
}
.status-tag--danger {
  background: var(--warning-fill);
  color: var(--warning-text);
}
.sol-cpa {
  display: grid;
  gap: var(--sp-2);
  padding: var(--sp-4);
  border-radius: var(--r-md);
  background: var(--bg-alt);
  font-size: var(--text-sm);
  color: var(--muted);
}
.sol-cpa-head {
  display: flex;
  justify-content: space-between;
  gap: var(--sp-3);
}
.sol-cpa-head b {
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.sol-cpa-track {
  position: relative;
  height: 8px;
  border-radius: var(--r-pill);
  background:
    linear-gradient(
      90deg,
      var(--success-fill) 0 var(--target),
      var(--warning-fill) var(--target) 100%);
}
.sol-cpa-track b {
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: var(--target);
  width: 2px;
  background: var(--ink);
  opacity: .5;
  border-radius: 1px;
}
.sol-cpa-track i {
  position: absolute;
  top: 50%;
  left: var(--value);
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border-radius: 50%;
  background: var(--success-solid);
}
.motion .sol-scale i,
.motion .sol-cpa-track i {
  transition: transform 1000ms var(--ease-out-expo) 300ms, opacity 400ms ease 300ms;
}
.motion .sol-scale i {
  transform-origin: left;
}
.motion [data-reveal]:not(.is-visible) .sol-scale i {
  transform: scaleX(0);
}
.motion [data-reveal]:not(.is-visible) .sol-cpa-track i {
  opacity: 0;
  transform: translateX(-24px);
}
.sol-changes {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: start;
}
.sol-changes-panel {
  display: grid;
  gap: var(--sp-4);
  padding: var(--sp-5);
  border-radius: var(--r-xl);
  background: var(--bg-alt);
}
.alt .sol-changes-panel {
  background: var(--surface-card);
  border: 1px solid var(--line-soft);
  box-shadow: var(--sh-2);
}
.sol-changes-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--sp-3);
}
.sol-changes-sum {
  font-size: var(--text-sm);
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}
.sol-changes-sum b {
  color: var(--ink);
}
.alt .sol-changes-panel .sol-log li {
  background: var(--bg-alt);
  border-color: transparent;
}
.sol-phone {
  max-width: 360px;
}
.sol-phone .tg-chat {
  min-height: 0;
}
.sol-loss {
  display: grid;
  gap: var(--sp-3);
}
.sol-loss-card {
  padding: var(--sp-5);
  border-radius: var(--r-lg);
  background: var(--surface-card);
  border: 1px solid var(--line-soft);
  box-shadow: var(--sh-2);
}
.sol-loss-card strong {
  display: block;
  margin: var(--sp-2) 0 var(--sp-1);
  font-size: var(--text-3xl);
  letter-spacing: -.02em;
  color: var(--warning-text);
  font-variant-numeric: tabular-nums;
}
.sol-loss-card p {
  font-size: var(--text-sm);
  color: var(--muted);
}
.sol-loss-kinds {
  list-style: none;
  display: grid;
  gap: 6px;
}
.sol-loss-kinds li {
  display: flex;
  justify-content: space-between;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-4);
  border-radius: var(--r-sm);
  background: var(--bg-alt);
  font-size: var(--text-sm);
  color: var(--muted);
}
.sol-loss-kinds li b {
  font-weight: 560;
  color: var(--ink);
}
.sol-loss-kinds li.is-no {
  background: transparent;
  border: 1px dashed var(--line);
  text-decoration: line-through;
  text-decoration-color: var(--faint);
}
.contact-option-meta {
  display: flex;
  align-items: center;
  gap: var(--sp-2);
  margin-top: var(--sp-3);
  font-size: var(--text-xs);
  color: var(--faint);
}
.contact-option-meta::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--success-solid);
}
.contact-next {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-5);
  counter-reset: next;
}
.contact-next li {
  counter-increment: next;
  padding-top: var(--sp-4);
  border-top: 1px solid var(--line);
}
.contact-next li::before {
  content: counter(next, decimal-leading-zero);
  display: block;
  margin-bottom: var(--sp-3);
  font: 500 var(--text-sm) var(--font-mono);
  color: var(--primary-text);
}
.contact-next h3 {
  font-size: var(--text-lg);
  margin-bottom: var(--sp-2);
}
.contact-next p {
  color: var(--muted);
  font-size: var(--text-base);
}
.contact-form .field-error {
  margin-top: 6px;
  font-size: var(--text-sm);
  color: var(--important-text);
}
.contact-form .field-error[hidden] {
  display: none;
}
.contact-done {
  display: grid;
  justify-items: start;
  gap: var(--sp-3);
  padding-block: var(--sp-6);
}
.contact-done[hidden] {
  display: none;
}
.contact-done-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--success-fill);
  color: var(--success-text);
  font-size: var(--text-xl);
  font-weight: 700;
}
.contact-done h2 {
  margin: 0;
}
.contact-done p {
  color: var(--muted);
  max-width: 44ch;
}
.contact-done:focus {
  outline: none;
}
.motion .contact-done:not([hidden]) {
  animation: contact-in 420ms var(--ease-out-expo) both;
}
@keyframes contact-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
}
@media (max-width: 1000px) {
  .sq,
  .sol-changes {
    grid-template-columns: minmax(0, 1fr);
  }
  .sol-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 800px) {
  .contact-next {
    grid-template-columns: 1fr;
    gap: var(--sp-4);
  }
  .sol-work .h3 {
    font-size: var(--text-xl);
  }
}
@media (max-width: 560px) {
  .pf-grid {
    gap: 6px;
    padding: var(--sp-2);
  }
  .pf-tile {
    padding: var(--sp-2) 10px;
    gap: 6px;
  }
  .pf-row {
    flex-wrap: wrap;
    gap: 0 var(--sp-2);
  }
  .pf-foot {
    flex-direction: column;
    gap: 2px;
  }
  .pf-top .seg {
    width: 100%;
  }
  .pf-top .seg button {
    flex: 1;
  }
  .sol-kpis {
    grid-template-columns: minmax(0, 1fr);
  }
  .sol-kpis div {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: var(--sp-2);
  }
  .sol-kpis strong {
    font-size: var(--text-md);
  }
  .sol-morning {
    padding-left: 20px;
  }
  .sol-morning::before {
    left: 3px;
  }
  .sol-morning li::before {
    left: -21px;
    background: var(--info-solid);
  }
  .sol-morning time {
    position: static;
    display: block;
    text-align: left;
  }
  .sq-table :is(th, td) {
    padding-inline: var(--sp-2);
  }
  .sq-table :is(th, td):first-child {
    width: 36px;
  }
  .sq-sum strong {
    font-size: var(--text-2xl);
  }
  .sol-log li {
    grid-template-columns: minmax(0, 1fr);
  }
  .sol-log em {
    justify-self: start;
  }
  .sol-channel {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .sol-channel .sol-scale {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .sol-changes-head .seg {
    width: 100%;
  }
  .sol-changes-head .seg button {
    flex: 1;
    padding-inline: var(--sp-2);
  }
  .sol-place {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .sol-place em {
    grid-column: 1/-1;
  }
}
.sol-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.dot {
  display: inline-block;
  flex: none;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--faint);
}
.dot--ok {
  background: var(--success-solid);
}
.dot--warning {
  background: var(--warning-solid);
}
.dot--danger {
  background: var(--important-solid);
}
.dot--primary {
  background: var(--info-solid);
}
.dot--muted {
  background: var(--neutral-solid);
}
.sol-finding {
  font-size: var(--text-lg);
  line-height: 1.3;
  margin-bottom: var(--sp-2);
}
.sol-finding-text {
  font-size: var(--text-sm);
  color: var(--muted);
  line-height: 1.55;
}
.sol-evidence {
  display: grid;
  gap: 6px;
  margin-top: var(--sp-4);
}
.sol-evidence > span {
  font-size: var(--text-xs);
  color: var(--faint);
}
.sol-evidence .sol-place em {
  color: var(--muted);
  font-weight: 500;
}
.sol-changes .h2 {
  margin: var(--sp-3) 0 var(--sp-4);
  max-width: 18ch;
}
.sol-changes-lede {
  color: var(--muted);
  font-size: var(--text-md);
  line-height: 1.6;
  margin-bottom: var(--sp-2);
}
.contact-form {
  align-self: start;
}
.sq-tag {
  transition: opacity 300ms ease, background-color 240ms ease;
}
.sq.is-waiting tr:not(.is-picked) .sq-tag {
  opacity: 0;
}
