.furniture-projects-view {
  display: grid;
  gap: 18px;
}

.furniture-projects-hero {
  display: grid;
  grid-template-columns: 1.6fr minmax(280px, 0.9fr);
  gap: 18px;
  padding: 26px 28px;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(246, 191, 123, 0.32), transparent 28%),
    linear-gradient(135deg, rgba(13, 49, 58, 0.96), rgba(21, 96, 88, 0.94) 58%, rgba(228, 169, 87, 0.76));
  color: #f8fffb;
  box-shadow: 0 28px 80px rgba(8, 28, 35, 0.22);
}

.furniture-projects-hero h2 {
  margin: 4px 0 10px;
  font-size: 34px;
  line-height: 1.04;
  color: #f8fffb;
}

.furniture-projects-hero p {
  margin: 0;
  max-width: 780px;
  color: rgba(248, 255, 251, 0.86);
}

.furniture-projects-hero-note {
  display: grid;
  gap: 8px;
  align-content: end;
  padding: 18px 20px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(14px);
}
.furniture-projects-kpis,
.furniture-projects-layout,
.furniture-project-meta{
  display: grid;
  gap: 14px;
}

.furniture-projects-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.furniture-projects-layout {
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.92fr);
  align-items: start;
}

.furniture-projects-layout > *,
.furniture-project-drawer-card > *,
.furniture-plan-card > * {
  min-width: 0;
}

.furniture-projects-contract summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  color: #123f43;
}

.furniture-projects-contract summary::marker {
  color: #c58a36;
}

.furniture-projects-contract summary b {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(197, 138, 54, 0.12);
  color: #8d5a13;
  font-size: 12px;
}

.furniture-projects-contract-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.furniture-projects-contract-grid article {
  padding: 14px 16px;
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(18, 92, 86, 0.07), rgba(215, 163, 87, 0.08));
}

.furniture-projects-contract-grid p {
  margin: 6px 0 0;
  color: var(--muted, #66757f);
  line-height: 1.45;
}

/* Контракт навигации (NAVIGATION-CONSUMER-CONTRACT.md): маршрутная навигация —
   ссылки естественной ширины, 13px, цель 34px, зазор 6px, без крупной карточки-
   контейнера и без принудительно равных колонок. Прежний auto-fit minmax(180px,1fr)
   растягивал плитки на всю ширину и был назван в контракте одним из трёх
   подтверждённых источников растягивания. Все существующие ссылки сохранены. */
.furniture-view-tabs {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  padding: 4px;
  border-radius: 10px;
  background: rgba(17, 76, 75, 0.05);
  overflow-x: auto;
  scrollbar-width: thin;
}

.furniture-view-tab {
  position: relative;
  display: grid;
  gap: 2px;
  flex: 0 0 auto;
  min-height: 34px;
  align-content: center;
  padding: 6px 12px;
  border-radius: 8px;
  white-space: nowrap;
  color: #35575a;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.furniture-view-tab kbd {
  position: absolute;
  top: 10px;
  right: 10px;
  min-width: 20px;
  padding: 2px 5px;
  border: 1px solid rgba(16, 78, 75, .12);
  border-radius: 6px;
  background: rgba(255, 255, 255, .72);
  color: #60736f;
  font: 700  12px/1.2 ui-monospace, SFMono-Regular, Menlo, monospace;
  text-align: center;
}

.furniture-view-tab span {
  color: var(--muted, #66757f);
  font-size: 12px;
}

.furniture-view-tab:hover,
.furniture-view-tab.is-active {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(16, 58, 62, 0.10);
}

.furniture-kanban {
  display: grid;
  grid-template-columns: repeat(6, minmax(220px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding: 2px 2px 14px;
}

.furniture-kanban-column {
  min-height: 420px;
  padding: 14px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(19, 88, 83, 0.07), rgba(248, 250, 249, 0.96));
}

.furniture-kanban-column > header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 12px;
}

.furniture-kanban-column > header span {
  min-width: 26px;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(20, 92, 87, 0.10);
  text-align: center;
}

.furniture-kanban-column > div,
.furniture-kanban-card {
  display: grid;
  gap: 9px;
}

.furniture-kanban-card {
  margin-bottom: 10px;
  padding: 14px;
  border: 1px solid rgba(18, 80, 78, 0.08);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.96);
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 30px rgba(20, 48, 51, 0.08);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.furniture-kanban-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(20, 48, 51, 0.13);
}

.furniture-kanban-card span,
.furniture-kanban-card small {
  color: var(--muted, #66757f);
}

.furniture-portfolio-gantt {
  display: grid;
  overflow: hidden;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 22px 60px rgba(13, 37, 41, 0.10);
}

.furniture-portfolio-gantt > header,
.furniture-portfolio-gantt-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(150px, 0.7fr) minmax(300px, 1.5fr) 70px;
  gap: 14px;
  align-items: center;
  padding: 14px 18px;
}

.furniture-portfolio-gantt > header {
  background: #153f43;
  color: #f7fffb;
}

.furniture-portfolio-gantt-row {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(18, 80, 78, 0.07);
  animation: furniture-rise 260ms ease both;
  animation-delay: calc(var(--furniture-delay) * 10ms);
}

.furniture-progress {
  display: grid;
  gap: 6px;
}

.furniture-progress::before {
  content: "";
  height: 8px;
  border-radius: 999px;
  background: rgba(18, 80, 78, 0.09);
}

.furniture-progress i {
  width: var(--furniture-progress);
  height: 8px;
  margin-top: -14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1a8a78, #e5ac57);
}

@keyframes furniture-rise {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .furniture-view-tab,
  .furniture-kanban-card,
  .furniture-portfolio-gantt-row {
    animation: none;
    transition: none;
  }
}

.furniture-project-card,
.furniture-project-drawer-card {
  color: inherit;
  text-decoration: none;
}

.furniture-project-card {
  display: grid;
  gap: 16px;
  padding: 22px;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 249, 248, 0.98)),
    linear-gradient(140deg, rgba(229, 176, 99, 0.08), rgba(24, 102, 96, 0.08));
  border: 1px solid rgba(22, 89, 91, 0.08);
  box-shadow: 0 22px 60px rgba(13, 37, 41, 0.12);
}
.furniture-project-drawer-head{
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}
.furniture-project-meta span,
.furniture-gantt-label span,
.furniture-gantt-meta,
.furniture-component span,
.furniture-approval span,
.furniture-ai-candidates span,
.furniture-projects-drawer-empty span,
.furniture-projects-drawer-loading span{
  color: var(--muted, #66757f);
}
.furniture-project-drawer-head h3{
  margin: 0;
}
.furniture-project-meta{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.furniture-project-meta span{
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(20, 81, 76, 0.04);
}
.furniture-project-meta b{
  font-size: 16px;
  color: #11373c;
}

.furniture-projects-drawer {
  position: sticky;
  top: 18px;
}

.furniture-projects-drawer-backdrop {
  display: none;
}

.furniture-project-drawer-open {
  overflow: hidden;
}

.furniture-project-drawer-card,
.furniture-projects-drawer-empty,
.furniture-projects-drawer-loading {
  display: grid;
  gap: 14px;
  padding: 22px;
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 251, 250, 0.98));
  box-shadow: 0 22px 72px rgba(12, 31, 36, 0.14);
  border: 1px solid rgba(22, 89, 91, 0.08);
}

.furniture-gantt,
.furniture-bottlenecks,
.furniture-components,
.furniture-timeline,
.furniture-ai-candidates {
  display: grid;
  gap: 10px;
}

.furniture-gantt-row {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr) minmax(0, 0.45fr);
  gap: 12px;
  align-items: center;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(16, 78, 75, 0.05);
}

.furniture-gantt-label,
.furniture-gantt-meta {
  min-width: 0;
  overflow-wrap: anywhere;
}

.furniture-gantt-row.is-done {
  background: linear-gradient(90deg, rgba(26, 132, 111, 0.10), rgba(255, 255, 255, 0.96));
}

.furniture-gantt-row.is-active {
  background: linear-gradient(90deg, rgba(232, 176, 78, 0.16), rgba(255, 255, 255, 0.96));
}

.furniture-gantt-bar {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.furniture-gantt-bar span {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  font-size: 12px;
}

.furniture-bottleneck,
.furniture-component,
.furniture-approval,
.furniture-timeline article,
.furniture-ai-candidates article {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(245, 248, 247, 0.96);
}

.furniture-bottleneck.bad {
  background: rgba(198, 66, 56, 0.08);
}

.furniture-bottleneck.warn {
  background: rgba(223, 157, 40, 0.09);
}

.furniture-source-state {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 15px 18px;
  border: 1px solid rgba(19, 125, 108, .16);
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(239, 249, 246, .98), rgba(255, 255, 255, .96));
  box-shadow: 0 12px 34px rgba(23, 70, 64, .06);
}
.furniture-source-state.is-blocked { border-color: rgba(176, 83, 40, .20); background: linear-gradient(135deg, rgba(255, 248, 238, .98), #fff); }
.furniture-source-state p { margin: 3px 0 0; color: var(--muted, #667a76); line-height: 1.45; }
.furniture-source-icon { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 12px; background: rgba(19, 125, 108, .10); color: #137d6c; font-weight: 950; }
.furniture-source-state.is-blocked .furniture-source-icon { background: rgba(176, 83, 40, .10); color: #a24d25; }
.furniture-source-badge { padding: 7px 11px; border-radius: 999px; background: rgba(19, 125, 108, .09); color: #137d6c; font-size: 12px; font-weight: 850; white-space: nowrap; }
.furniture-source-state.is-blocked .furniture-source-badge { background: rgba(176, 83, 40, .09); color: #934720; }
.furniture-unavailable { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; align-items: center; min-height: 188px; padding: 28px; border: 1px solid rgba(176, 83, 40, .14); border-radius: 26px; background: radial-gradient(circle at 90% 10%, rgba(229, 176, 99, .13), transparent 36%), #fff; box-shadow: 0 18px 50px rgba(26, 49, 47, .08); }
.furniture-unavailable.is-empty { border-color: rgba(19, 125, 108, .14); }
.furniture-unavailable h3 { margin: 0 0 7px; }
.furniture-unavailable p { margin: 0 0 7px; color: #4f6665; line-height: 1.5; }
.furniture-unavailable small { color: var(--muted, #667a76); }
.furniture-unavailable-mark { display: grid; place-items: center; width: 58px; height: 58px; border-radius: 20px; background: rgba(229, 176, 99, .16); color: #986721; font-size: 26px; }

.furniture-evidence-list { display: grid; gap: 10px; }
.furniture-evidence-empty { display: grid; gap: 4px; padding: 12px 2px; }
.furniture-evidence-empty p { margin: 0; max-width: 680px; line-height: 1.48; }
.furniture-project-operations { display: grid; gap: 16px; }
.furniture-operation-summary { display: grid; grid-template-columns: repeat(auto-fit,minmax(144px,1fr)); gap: 10px; }
.furniture-operation-summary > div { display: grid; gap: 2px; padding: 14px; border: 1px solid rgba(16,78,75,.12); border-radius: 16px; background: linear-gradient(145deg,#fff,rgba(238,247,244,.82)); }
.furniture-operation-summary span,.furniture-operation-summary small,.furniture-task-row small,.furniture-spec-row small,.furniture-spec-empty span { color: var(--muted,#667a76); font-size: 12px; }
.furniture-operation-summary b { color: #137d6c; font-size: 24px; }
.furniture-operation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.furniture-operation-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.furniture-operation-actions button { min-height: 40px; border: 0; border-radius: 13px; padding: 9px 14px; background: #137d6c; color: #fff; font-weight: 850; cursor: pointer; }
.furniture-operation-actions button:disabled { opacity: .62; cursor: default; }
.furniture-operation-grid > article { display: grid; align-content: start; gap: 10px; padding: 14px; border: 1px solid rgba(16,78,75,.12); border-radius: 18px; background: rgba(255,255,255,.7); }
.furniture-operation-grid h5 { margin: 0; font-size: 14px; }
.furniture-spec-list,
.furniture-task-registry{ display: grid; gap: 8px; }
.furniture-task-row,.furniture-spec-row { display: grid; grid-template-columns: minmax(0,1.65fr) minmax(132px,.55fr) auto; gap: 12px; align-items: center; padding: 12px; border: 1px solid rgba(16,78,75,.10); border-radius: 13px; background: rgba(16,78,75,.045); }
.furniture-task-row > div,.furniture-spec-row > div,.furniture-spec-empty { display: grid; gap: 2px; min-width: 0; }
.furniture-task-row > div b,.furniture-spec-row > div b { overflow-wrap: anywhere; }
.furniture-task-title > .pill { width: fit-content; font-size: 12px; }
.furniture-task-title small,.furniture-task-deadline small { color: var(--muted,#667a76); font-size:  12px; }
.furniture-task-deadline { justify-items: start; }
.furniture-task-deadline b { font-size: 12px; color: #25494a; }
.furniture-task-row.is-bad { border-color: rgba(169,66,57,.28); background: rgba(169,66,57,.055); }
.furniture-task-row.is-warn { border-color: rgba(174,121,43,.28); background: rgba(174,121,43,.055); }
.furniture-task-actions { display: flex !important; justify-content: flex-end; align-items: center; gap: 8px; }
.furniture-task-action { min-height: 32px; padding: 7px 10px; border: 1px solid rgba(19,125,108,.24); border-radius: 10px; background: #fff; color: #137d6c; font: inherit; font-size: 12px; font-weight: 800; cursor: pointer; }
.furniture-task-action:hover { background: rgba(19,125,108,.08); }
.furniture-task-registry-contained { margin-top: 2px; }
.furniture-spec-row { grid-template-columns: minmax(0,1fr) auto auto; }
.furniture-spec-empty { padding: 18px 4px; }
.furniture-evidence-card { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; padding: 14px 16px; border: 1px solid rgba(16,78,75,.12); border-radius: 18px; background: linear-gradient(135deg,rgba(255,255,255,.98),rgba(239,247,244,.9)); box-shadow: 0 12px 30px rgba(24,64,58,.06); }
.furniture-evidence-card > div:first-child { display: grid; gap: 4px; min-width: 0; }
.furniture-evidence-card span,.furniture-evidence-card small { color: var(--muted,#64746f); font-size: 12px; }
.furniture-evidence-card b { overflow-wrap: anywhere; }
.furniture-evidence-actions { display: flex; gap: 8px; }
.furniture-evidence-actions button { border: 0; border-radius: 999px; padding: 9px 14px; background: #166d60; color: #fff; font-weight: 700; cursor: pointer; }
.furniture-evidence-actions button.is-reject { background: rgba(170,58,51,.1); color: #9b3732; }
.furniture-evidence-card.is-accepted { border-color: rgba(22,109,96,.25); }
.furniture-evidence-card.is-rejected { border-color: rgba(155,55,50,.22); background: rgba(155,55,50,.04); }
.furniture-evidence-status { padding: 7px 11px; border-radius: 999px; background: rgba(16,78,75,.08); font-weight: 800; }
.furniture-evidence-dialog { width: min(560px,calc(100vw - 32px)); border: 0; border-radius: 26px; padding: 0; color: inherit; box-shadow: 0 34px 90px rgba(15,39,35,.28); }
.furniture-evidence-dialog::backdrop { background: rgba(8,25,23,.56); backdrop-filter: blur(8px); }
.furniture-evidence-dialog form { display: grid; gap: 18px; padding: 24px; background: linear-gradient(145deg,#fff,#f3f8f6); }
.furniture-evidence-dialog-head { display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.furniture-evidence-dialog-head span { color: #137d6c; font-size:  12px; font-weight: 900; letter-spacing: .14em; }
.furniture-evidence-dialog-head h4 { margin: 5px 0 0; font-size: 22px; }
.furniture-evidence-dialog-head button { width: 36px; height: 36px; border: 0; border-radius: 50%; background: rgba(16,78,75,.08); font-size: 24px; cursor: pointer; }
.furniture-evidence-dialog-task { margin: 0; padding: 14px 16px; border-radius: 16px; background: #fff; font-weight: 800; }
.furniture-evidence-warning { margin: 0; padding: 12px 14px; border-radius: 14px; background: rgba(223,157,40,.12); color: #76551a; }
.furniture-evidence-dialog label { display: grid; gap: 8px; font-weight: 800; }
.furniture-evidence-dialog textarea { min-height: 96px; resize: vertical; }
.furniture-evidence-dialog textarea,.furniture-evidence-dialog input,.furniture-evidence-dialog select { border: 1px solid rgba(16,78,75,.18); border-radius: 14px; padding: 12px; font: inherit; background: #fff; }
.furniture-ai-candidates article { gap: 10px; }
.furniture-ai-candidates details { padding: 10px 12px; border-radius: 12px; background: rgba(16,78,75,.055); }
.furniture-ai-candidates summary { cursor: pointer; font-weight: 800; }
.furniture-ai-candidates ul { margin: 8px 0; padding-left: 20px; }
.furniture-ai-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.furniture-ai-actions button { min-height: 38px; border: 0; border-radius: 11px; padding: 8px 12px; background: #137d6c; color: #fff; font-weight: 800; cursor: pointer; }
.furniture-ai-actions button.is-reject { background: rgba(178,55,48,.1); color: #a23833; }
.furniture-evidence-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; }
.furniture-milestone-control { display: grid; gap: 10px; }
.furniture-milestone-control-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid rgba(16,78,75,.12); border-radius: 18px; background: rgba(255,255,255,.72); }
.furniture-milestone-control-row.is-ready { border-color: rgba(19,125,108,.35); box-shadow: 0 10px 30px rgba(19,125,108,.09); }
.furniture-milestone-control-row > div { display: grid; gap: 3px; }
.furniture-milestone-control-row span,.furniture-milestone-control-row small { color: var(--muted,#667a76); }
.furniture-milestone-control-row button { border: 0; border-radius: 13px; padding: 10px 14px; background: #137d6c; color: #fff; font-weight: 850; cursor: pointer; }
.furniture-filter-bar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: end; margin-bottom: 16px; padding: 16px; border: 1px solid rgba(16,78,75,.13); border-radius: 22px; background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(238,247,244,.92)); box-shadow: 0 16px 40px rgba(24,64,58,.07); }
.furniture-filter-bar label { display: grid; gap: 7px; min-width: 0; }
.furniture-filter-bar label > span { color: var(--muted,#667a76); font-size:  12px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.furniture-filter-bar input,.furniture-filter-bar select { width: 100%; min-height: 42px; border: 1px solid rgba(16,78,75,.16); border-radius: 13px; padding: 9px 12px; background: #fff; color: inherit; font: inherit; outline: none; }
.furniture-filter-bar input:focus,.furniture-filter-bar select:focus { border-color: #137d6c; box-shadow: 0 0 0 3px rgba(19,125,108,.12); }
.furniture-filter-result { display: grid; grid-template-columns: auto auto; gap: 0 6px; align-items: baseline; padding: 4px 2px; white-space: nowrap; }
.furniture-filter-result b { color: #137d6c; font-size: 24px; }
.furniture-filter-result span { color: var(--muted,#667a76); font-size: 12px; }
.furniture-filter-result button { grid-column: 1/-1; border: 0; padding: 5px 0 0; background: transparent; color: #137d6c; cursor: pointer; font-weight: 800; text-align: left; }
.furniture-filter-bar input,.furniture-filter-bar select,.furniture-filter-result button { scroll-margin-top: 96px; }
.furniture-active-filters { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 7px; min-height: 30px; align-items: center; padding-top: 2px; border-top: 1px solid rgba(16,78,75,.08); color: var(--muted,#667a76); font-size: 12px; }
.furniture-active-filters button { min-height: 30px; border: 1px solid rgba(19,125,108,.16); border-radius: 999px; padding: 5px 10px; background: rgba(19,125,108,.08); color: #116f61; font: inherit; font-weight: 750; cursor: pointer; }
.furniture-active-filters button:hover,.furniture-active-filters button:focus-visible { border-color: rgba(19,125,108,.42); background: rgba(19,125,108,.13); outline: none; }
.furniture-filter-shortcuts { grid-column: 1 / -1; margin: -4px 0 0; color: var(--muted,#667a76); font-size:  12px; }
.furniture-filter-shortcuts kbd { display: inline-grid; min-width: 22px; place-items: center; padding: 2px 5px; border: 1px solid rgba(16,78,75,.14); border-bottom-width: 2px; border-radius: 6px; background: #fff; color: #415a57; font: 700  12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace; }
.furniture-filter-empty { text-align: center; }
.furniture-pagination { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 16px; padding: 12px; border-radius: 16px; background: rgba(255,255,255,.78); }
.furniture-pagination span { color: var(--muted,#667a76); font-size: 13px; }
.furniture-pagination button { border: 1px solid rgba(19,125,108,.18); border-radius: 12px; padding: 9px 13px; background: #fff; color: #137d6c; font-weight: 800; cursor: pointer; }
.furniture-pagination button:disabled { opacity: .4; cursor: default; }
.furniture-control-queue { display: grid; gap: 10px; }
.furniture-control-row { display: grid; grid-template-columns: 34px minmax(220px,1.25fr) minmax(210px,1fr) 78px; gap: 14px; align-items: center; padding: 15px 16px; border: 1px solid rgba(16,78,75,.12); border-radius: 19px; background: linear-gradient(135deg,#fff,rgba(241,248,246,.94)); color: inherit; text-decoration: none; box-shadow: 0 10px 28px rgba(24,64,58,.05); transition: transform .16s ease,box-shadow .16s ease; }
.furniture-control-row:hover { transform: translateY(-2px); box-shadow: 0 16px 34px rgba(24,64,58,.1); }
.furniture-control-rank { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; background: rgba(19,125,108,.09); color: #137d6c; font-weight: 900; }
.furniture-control-row > div { display: grid; gap: 3px; min-width: 0; }
.furniture-control-row p,.furniture-control-row small { margin: 0; color: var(--muted,#667a76); font-size: 12px; overflow-wrap: anywhere; }
.furniture-control-question span { color: var(--muted,#667a76); font-size:  12px; text-transform: uppercase; letter-spacing: .04em; }
.furniture-control-score { justify-items: center; padding: 9px; border-radius: 14px; }
.furniture-control-score b { font-size: 22px; }.furniture-control-score span { font-size: 12px; }
.furniture-control-score.is-critical { background: rgba(178,55,48,.1); color: #a23833; }.furniture-control-score.is-warning { background: rgba(223,157,40,.12); color: #8a621c; }.furniture-control-score.is-calm { background: rgba(19,125,108,.1); color: #137d6c; }
.furniture-gantt-row.is-critical { border-left: 3px solid #a23833; }
.furniture-gantt-row.is-delayed .furniture-gantt-meta { color: #a23833; font-weight: 800; }

.furniture-registry {
  max-width: 100%;
  overflow: auto;
  border: 1px solid rgba(16,78,75,.12);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(24,64,58,.08);
  scrollbar-gutter: stable;
}
.furniture-registry table { width: 100%; min-width: 1080px; border-collapse: separate; border-spacing: 0; }
.furniture-registry th { position: sticky; top: 0; z-index: 2; padding: 11px 14px; border-bottom: 1px solid rgba(16,78,75,.12); background: #edf5f3; color: #536964; font-size: 12px; font-weight: 900; letter-spacing: .07em; text-align: left; text-transform: uppercase; white-space: nowrap; }
.furniture-registry td { padding: 12px 14px; border-bottom: 1px solid rgba(16,78,75,.07); color: #263d3a; font-size: 13px; vertical-align: middle; }
.furniture-registry tbody tr:last-child td { border-bottom: 0; }
.furniture-registry tbody tr:hover td { background: rgba(19,125,108,.035); }
.furniture-registry td:first-child { min-width: 250px; }
.furniture-registry td:first-child button { display: grid; width: 100%; gap: 3px; border: 0; padding: 0; background: transparent; color: #116f61; font: inherit; text-align: left; cursor: pointer; }
.furniture-registry td:first-child button:hover b,.furniture-registry td:first-child button:focus-visible b { text-decoration: underline; text-underline-offset: 3px; }
.furniture-registry td:first-child button:focus-visible { border-radius: 6px; outline: 3px solid rgba(19,125,108,.18); outline-offset: 4px; }
.furniture-registry td:first-child span,.furniture-registry td:nth-child(2) span { color: var(--muted,#667a76); font-size:  12px; }
.furniture-registry td:nth-child(2) { min-width: 170px; }
.furniture-risk-count { display: inline-grid; min-width: 28px; min-height: 28px; place-items: center; border-radius: 9px; background: rgba(19,125,108,.08); color: #137d6c; font-weight: 850; }
.furniture-risk-count.has-risk { background: rgba(178,55,48,.1); color: #a23833; }

.furniture-project-card,
.furniture-control-row,
.furniture-kanban-card { position: relative; overflow: hidden; }
.furniture-project-card,
.furniture-control-row,
.furniture-kanban-card,
.furniture-portfolio-gantt-row {
  width: 100%;
  border: 0;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.furniture-project-card::before,
.furniture-control-row::before,
.furniture-kanban-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: linear-gradient(#1a8a78, #e5ac57); opacity: .72; }
.furniture-project-card:hover,
.furniture-project-card:focus-visible { transform: translateY(-3px); box-shadow: 0 28px 72px rgba(13, 37, 41, .16); }
.furniture-project-card,
.furniture-view-tab,
.furniture-control-row,
.furniture-kanban-card { outline: none; }
.furniture-project-card:focus-visible,
.furniture-view-tab:focus-visible,
.furniture-control-row:focus-visible,
.furniture-kanban-card:focus-visible,
.furniture-operation-actions button:focus-visible,
.furniture-evidence-actions button:focus-visible { box-shadow: 0 0 0 4px rgba(19, 125, 108, .20), 0 18px 46px rgba(13, 37, 41, .12); }

.furniture-projects-view.has-open-project .furniture-projects-layout { grid-template-columns: minmax(0, 1fr); }
.furniture-projects-view.has-open-project .furniture-projects-drawer {
  position: fixed;
  z-index: 1002;
  top: 14px;
  right: 14px;
  bottom: 14px;
  width: min(760px, calc(100vw - 28px));
  max-height: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  border-radius: 28px;
  outline: none;
  box-shadow: 0 32px 100px rgba(6, 25, 31, .32);
}
.furniture-projects-view.has-open-project .furniture-projects-drawer-backdrop {
  display: block;
  position: fixed;
  z-index: 1001;
  inset: 0;
  width: 100%;
  border: 0;
  background: rgba(7, 27, 31, .42);
  backdrop-filter: blur(5px);
  cursor: pointer;
}
.furniture-projects-view.has-open-project .furniture-projects-drawer::-webkit-scrollbar { width: 8px; }
.furniture-projects-view.has-open-project .furniture-projects-drawer::-webkit-scrollbar-thumb { background: rgba(19, 125, 108, .24); border-radius: 999px; }

/* Рабочие места проекта — обычные экраны, а не содержимое сайдбара.
   Карточка открывает их по отдельным URL и занимает всю рабочую ширину. */
.furniture-projects-screen-project .furniture-projects-layout,
.furniture-projects-screen-plan .furniture-projects-layout,
.furniture-projects-screen-evidence .furniture-projects-layout,
.furniture-projects-screen-work .furniture-projects-layout,
.furniture-projects-screen-specifications .furniture-projects-layout,
.furniture-projects-screen-history .furniture-projects-layout {
  grid-template-columns: minmax(0, 1fr);
}

.furniture-screen-nav { grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); }
.furniture-screen-nav .furniture-view-tab { min-height: 46px; align-content: center; }
.furniture-project-page { display: grid; gap: 16px; min-width: 0; }
.furniture-project-page-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 24px 26px; border: 1px solid rgba(18, 92, 86, .14); border-radius: 24px; background: linear-gradient(135deg, rgba(237, 249, 246, .94), rgba(255, 251, 242, .94)); }
.furniture-project-page-head h3 { margin: 4px 0 7px; font-size: clamp(24px, 3vw, 36px); line-height: 1.08; color: #153d41; }
.furniture-project-page-head p { margin: 0; color: var(--muted, #66757f); }
.furniture-project-page-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.furniture-specification-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 16px; color: var(--muted, #66757f); }
.furniture-specification-toolbar button { border: 0; border-radius: 12px; padding: 10px 14px; background: #137d6c; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }

@media (max-width: 760px) {
  .furniture-project-page-head { flex-direction: column; padding: 18px; border-radius: 18px; }
  .furniture-project-page-grid { grid-template-columns: 1fr; }
}

@media (min-width: 1201px) {
  .furniture-filter-bar { grid-template-columns: minmax(240px, 1.35fr) repeat(4, minmax(145px, .7fr)) auto; }
  .furniture-filter-result { min-width: 132px; }
  .furniture-projects-view.has-open-project .furniture-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .furniture-projects-view.has-open-project .furniture-filter-result { grid-column: 1 / -1; }
}

@media (max-width: 1400px) {
  .furniture-projects-view.has-open-project .furniture-projects-layout { grid-template-columns: 1fr; }
  .furniture-projects-view.has-open-project .furniture-projects-drawer { position: fixed; max-height: none; overflow-y: auto; }
}

@media (max-width: 1200px) {
  .furniture-control-row { grid-template-columns: 34px minmax(0,1fr); }
  .furniture-control-question,.furniture-control-score { grid-column: 2; }
.furniture-projects-layout,
.furniture-projects-kpis,
.furniture-projects-hero,
.furniture-project-meta,
.furniture-gantt-row{
    grid-template-columns: 1fr;
  }
  .furniture-operation-summary,.furniture-operation-grid { grid-template-columns: 1fr; }
  .furniture-task-row { grid-template-columns: 1fr; align-items: start; }
  .furniture-task-actions { justify-content: flex-start; }

  .furniture-projects-view:not(.has-open-project) .furniture-projects-drawer { position: static; }

  .furniture-projects-contract-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .furniture-portfolio-gantt > header,
  .furniture-portfolio-gantt-row {
    grid-template-columns: minmax(180px, 1fr) minmax(140px, 0.7fr) minmax(260px, 1.2fr) 60px;
  }
}

@media (max-width: 760px) {
  .furniture-projects-hero { padding: 22px; border-radius: 22px; }
  .furniture-projects-hero h2 { font-size: 28px; }
  .furniture-source-state { grid-template-columns: auto minmax(0, 1fr); }
  .furniture-source-badge { grid-column: 2; justify-self: start; }
  .furniture-filter-bar,
  .furniture-projects-contract-grid,
  .furniture-operation-summary,
  .furniture-operation-grid { grid-template-columns: 1fr; }
  .furniture-projects-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .furniture-project-card,
  .furniture-project-drawer-card { padding: 18px; }
.furniture-project-drawer-head,
.furniture-milestone-control-row{ align-items: stretch; flex-direction: column; }
  .furniture-evidence-card { grid-template-columns: 1fr; }
  .furniture-evidence-actions { justify-content: stretch; }
  .furniture-evidence-actions button { flex: 1; }
  .furniture-view-tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .furniture-view-tab { min-width: 150px; scroll-snap-align: start; }
  .furniture-view-tab span,.furniture-view-tab kbd,.furniture-filter-shortcuts { display: none; }
  .furniture-registry { overflow: visible; border: 0; box-shadow: none; background: transparent; }
  .furniture-registry table,.furniture-registry thead,.furniture-registry tbody,.furniture-registry tr,.furniture-registry td { display: block; min-width: 0; }
  .furniture-registry thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .furniture-registry tr { margin-bottom: 10px; padding: 14px; border: 1px solid rgba(16,78,75,.12); border-radius: 16px; background: #fff; box-shadow: 0 10px 28px rgba(24,64,58,.06); }
  .furniture-registry td { display: grid; grid-template-columns: 118px minmax(0,1fr); gap: 10px; min-width: 0 !important; padding: 7px 0; border: 0; }
  .furniture-registry td::before { content: attr(data-label); color: var(--muted,#667a76); font-size: 12px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
  .furniture-registry td:first-child { display: block; padding-bottom: 10px; border-bottom: 1px solid rgba(16,78,75,.08); }
}

/* Просрочка в реестре: срок сделки прошёл. Своего цвета у неё не было —
   строка молчала о том, ради чего её открывают. */
.furniture-late { color: #a23833; font-weight: 700; }
.furniture-fact-loop { border-left: 3px solid #c9a227; }
.furniture-fact-loop h3 { margin: 0 0 8px; }
.furniture-fact-loop p { margin: 0 0 8px; max-width: 78ch; }

/* Project context stays compact; portfolio summaries belong to portfolio screens. */
.furniture-projects-view[class*="furniture-projects-screen-"]:not(.furniture-projects-screen-portfolio) .furniture-projects-hero { padding: 16px 20px; grid-template-columns: 1fr; }
.furniture-projects-view:not(.furniture-projects-screen-portfolio) .furniture-projects-hero-note { display: none; }
.furniture-projects-view:not(.furniture-projects-screen-portfolio) .furniture-projects-hero h2 { font-size: 24px; }
.furniture-projects-view:not(.furniture-projects-screen-portfolio) .furniture-projects-contract { display: none; }
.furniture-projects-screen-board .furniture-projects-kpis { grid-template-columns: repeat(5,minmax(0,1fr)); }
.furniture-projects-screen-board .furniture-projects-layout { grid-template-columns: minmax(0,1fr); }
.furniture-projects-screen-board .furniture-source-state { padding: 8px 14px; }
.furniture-projects-screen-board .furniture-source-state p { font-size: 12px; }
.furniture-fact-loop summary { cursor: pointer; font-weight: 700; }
.furniture-fact-loop { padding: 12px 18px; }
.furniture-card-open { display: block; border: 0; background: transparent; padding: 0; text-align: left; color: inherit; width: 100%; cursor: pointer; }
.furniture-card-open h3 { margin: 5px 0; font-size: 17px; }
.furniture-card-open > span { font-size:  12px; color: var(--muted,#667a76); }
.furniture-card-state { display: grid; gap: 5px; font-size: 12px; margin-top: 12px; }
.furniture-card-next,.furniture-card-risk { font-size: 12px; margin: 12px 0 0; }
.furniture-card-risk { color: #a23833; }
.furniture-card-links { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 14px; }
.furniture-card-links a { display: inline-flex; align-items: center; min-height: 36px; border: 1px solid #d5e1dc; border-radius: 8px; padding: 4px 8px; font-size: 12px; }
.furniture-project-card { cursor: default; padding: 18px; overflow-wrap: anywhere; }
.furniture-kanban { grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); }
.furniture-kanban-card { width: 100%; margin: 0; }
.furniture-kanban-column > div { display: grid; gap: 12px; }
.furniture-evidence-dialog input { width: 100%; min-height: 42px; box-sizing: border-box; }
@media (max-width: 760px) {
  .furniture-projects-screen-board .furniture-projects-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .furniture-kanban { grid-template-columns: minmax(0,1fr); }
}
.furniture-kanban-column > div { grid-template-columns: repeat(auto-fit,minmax(min(250px,100%),1fr)); align-items: start; }
.furniture-card-open:focus-visible,.furniture-card-links a:focus-visible { outline: 3px solid #137d6c; outline-offset: 3px; }

/* Keep the board's first project within the working viewport. */
.furniture-projects-screen-board { gap: 4px; }
.furniture-projects-screen-board #furnitureFactLoop:empty { display: none; }
.furniture-projects-screen-board .furniture-projects-hero { padding: 6px 18px !important; border-radius: 18px; }
.furniture-projects-screen-board .furniture-projects-hero h2 { margin-bottom: 6px; }
.furniture-projects-screen-board #furnitureProjectsSummary .ek-plitki {
  flex-wrap: nowrap;
  overflow-x: auto;
  padding: 4px 6px;
  scrollbar-width: thin;
}
.furniture-projects-screen-board #furnitureProjectsSummary .ek-plitki > .ek-chip.ek-s1 {
  flex: 0 0 auto;
  padding: 2px 10px;
}
.furniture-projects-screen-board .kpi-card { min-height: 0; padding: 8px 10px; }
.furniture-projects-screen-board .kpi-card .big { font-size: 22px; line-height: 1.2; }
.furniture-projects-screen-board .furniture-screen-nav { padding: 4px; }
.furniture-projects-screen-board .furniture-screen-nav .furniture-view-tab { min-height: 36px; padding: 6px 10px; }
.furniture-projects-screen-board .furniture-filter-bar { padding: 10px; gap: 8px; margin-bottom: 10px; }
.furniture-projects-screen-board .furniture-filter-shortcuts { display: none; }
.furniture-kanban-card { display: block; }
.furniture-kanban-card .furniture-card-state { margin-top: 8px; }
.furniture-kanban-card .furniture-card-links { margin-top: 10px; }
@media (min-width: 1100px) {
  .furniture-projects-screen-board .furniture-filter-bar { grid-template-columns: minmax(180px,1.4fr) repeat(4,minmax(0,1fr)); }
  .furniture-projects-screen-board .furniture-filter-result { grid-column: 3 / -1; grid-row: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; padding: 0; }
  .furniture-projects-screen-board .furniture-active-filters { grid-column: 1 / 3; grid-row: 2; border: 0; }
}
.furniture-filter-disclosure { min-width: 0; }
.furniture-filter-disclosure > summary { cursor: pointer; padding: 10px 12px; font-weight: 700; border: 1px solid #d5e1dc; border-radius: 10px; margin-bottom: 10px; }
@media (min-width: 761px) { .furniture-filter-disclosure > summary { display: none; } }
/* The board is an operational view: keep its first project actionable before
   the fold. Its full filter rail remains available here and via the / key. */
.furniture-filter-disclosure.is-compact > summary { display: flex; align-items: center; min-height: 34px; box-sizing: border-box; margin: 0; color: var(--text, #173b39); }
.furniture-filter-disclosure.is-compact:not([open]) > .furniture-filter-bar { display: none; }
.furniture-filter-disclosure.is-compact[open] > summary { margin-bottom: 8px; }
@media (max-width: 760px) {
  .furniture-projects-screen-board .furniture-projects-kpis { display: flex; overflow-x: auto; gap: 8px; padding-bottom: 4px; }
  .furniture-projects-screen-board .kpi-card { flex: 0 0 140px; box-sizing: border-box; }
  .furniture-projects-screen-board .furniture-source-state { gap: 8px; }
  .furniture-projects-screen-board .furniture-source-badge { grid-column: auto; }
  .furniture-projects-screen-board .furniture-filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .furniture-projects-screen-board .furniture-filter-bar > label:first-child { grid-column: 1 / -1; }
}
.furniture-projects-view { min-width: 0; }
.furniture-projects-view > *, .furniture-projects-summary, .furniture-projects-kpis { min-width: 0; }
.furniture-project-operations,
.furniture-project-operations > *,
.furniture-operation-summary,
.furniture-operation-summary > div { min-width: 0; max-width: 100%; box-sizing: border-box; }

.furniture-projects-screen-board .furniture-fact-loop { padding: 6px 14px; }
.furniture-projects-screen-board .furniture-kanban-column { padding: 10px; }
.furniture-projects-screen-board .furniture-kanban-column > header { margin-bottom: 8px; }

.furniture-source-explanation summary { cursor: pointer; font-size: 12px; line-height: 1.4; }
.furniture-source-explanation summary span { color: var(--muted,#667a76); }
.furniture-projects-screen-board .furniture-source-explanation:not([open]) { margin: 0; }

/* Кнопки «Сохранить вид» и «Сбросить» в строке результата отбора рендерились 26px
   при требовании ТЗ ~34px (допуск 30-44). Высота не была задана вовсе — размер
   складывался из padding и строки текста. */
.furniture-filter-result button {
  min-height: 34px;
  box-sizing: border-box;
  padding: 6px 12px;
}
