
/* FTN / First-model UI. All production logic remains in the original modules.
   Only visible hierarchy, interaction affordances and density are redesigned. */
:root {
  color-scheme: dark;
  --bg: #10191e;
  --panel: #17232a;
  --panel2: #1c2a31;
  --panel3: #223039;
  --border: #3b525d;
  --muted: #b7c7cc;
  --text: #f1f3ef;
  --soft: #93a7b1;
  --mint: #a0bfa9;
  --cyan: #add0d9;
  --amber: #dcb777;
  --red: #f2a69b;
  --shadow: none;
  font-family: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  font-variant-numeric: tabular-nums;
}
* { box-sizing: border-box; }
body {
  background: linear-gradient(180deg,#111a20 0,#0f181d 440px,#10181c 100%);
  color:var(--text);
}
.shell { max-width:1700px; margin-inline:auto; padding:22px 24px 34px; }
.top {
  display:flex;
  gap:12px;
  padding:3px 0 17px;
  margin-bottom:0;
  border-bottom:1px solid #3c4d55;
  align-items:center;
}
.brand { display:flex;align-items:center;gap:13px; min-width:0; }
.logo {
  flex-shrink:0;
  display:grid;
  place-items:center;
  width:49px;
  height:46px;
  border:1px solid #e9c88b;
  border-radius:6px;
  background:#dcb468;
  color:#14212b;
  box-shadow:none;
}
.logo svg { width:27px;height:27px;display:block;stroke:#15222b; }
.brand h1 {margin:0;font-size:22px;font-weight:780;letter-spacing:-.6px;}
.brand h1 span {color:inherit;}
.brand .ey,.brand [data-t="subtitle"] {display:none!important;}
.brand .unofficial-badge {
  display:inline-block;
  margin-top:3px;
  font-size:10px;
  padding:1px 0;
  border:0;
  background:transparent;
  color:#97aeb9;
}
.top-right {
  margin-left:auto;
  display:flex;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.top-right #projectTag {
  background:transparent;
  border:0;
  color:#aec8bc;
  text-align:right;
  font-size:12px;
  padding:6px 7px;
  max-width:190px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.btn,.v29-factory-bar button {
  min-height:36px;
  border:1px solid #46616b;
  background:#22343d;
  color:#eaf1ef;
  border-radius:5px;
  padding:8px 12px;
  font-size:12px;
  font-weight:680;
  box-shadow:none;
}
.btn:hover,.v29-factory-bar button:hover {background:#2c4350;border-color:#779399;}
.btn.primary,#plannerAutoGenerate,#fdFromAuto {
  color:#19242a;
  background:#dcb777;
  border:1px solid #e9c994;
  font-weight:780;
}
.btn.primary:hover,#plannerAutoGenerate:hover,#fdFromAuto:hover {background:#f0cb8d;color:#162027;}
.btn:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible {
  outline:2px solid #e9c994; outline-offset:2px;
}
.top-right #v28ProjectsBtn {border-color:#526f73;}
.top-right .language {
  background:#1a2b33;
  border:1px solid #43565c;
  padding:2px;
  border-radius:5px;
}
.top-right .language button {border-radius:3px;padding:6px 9px;}
.top-right .language .active {background:#3a5957;color:#f0f3e9;}
.banner,#kpis {
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:0!important;
  overflow:hidden!important;clip-path:inset(50%);
  white-space:nowrap;
}
.ftn-front { margin:16px 0 19px; }
.ftn-kpis {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px;
}
.ftn-kpi {
  min-width:0; display:grid; gap:9px;
  padding:17px 22px;
  border:1px solid #41545e;
  border-radius:5px;
  background:linear-gradient(160deg,#17232b,#1b2a32);
  box-shadow:inset 0 1px #ffffff08;
}
.ftn-kpi small {font-size:11px;color:#b6cad2;letter-spacing:.045em;font-weight:620;}
.ftn-kpi strong {font-size:clamp(23px,3vw,35px);font-weight:730;line-height:1;letter-spacing:-.7px;color:#f6f7f5;}
.ftn-income-details {
  margin-top:10px;
  color:#b9cad1;
  font-size:11px;
}
.ftn-income-details > summary {
  cursor:pointer;
  display:inline-block;
  color:#a7bcc3;
  font-size:11px;
  padding:6px 2px;
}
.ftn-income-details > div {
  padding:6px 2px;
  display:flex;
  align-items:center;
  gap:8px;
}
.ftn-income-details strong {
  font-size:15px;
  color:#f0f4f0;
}
#productionLive .diagnosis.good p,
#productionLive .diagnosis.good ul { display:none; }
.ftn-worktools {
  margin-top:18px;
  border-top:1px solid #2e434c;
  padding-top:12px;
}
.ftn-worktools .v29-factory-bar {
  position:static;
  width:100%;
  border:0;
  border-radius:0;
  margin:0;
  padding:0;
  background:transparent;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
}
.v29-factory-bar .v29-main {background:#293f43;border-color:#637f76;color:#f0f6eb;}
.v29-factory-bar .v29-upgrades.warn {background:#393024;border-color:#88724e;color:#edd3a3;}
.v29-factory-bar .v29-upgrades.good {background:#233b31;border-color:#64836d;}
.v29-factory-bar .v29-import {margin-left:0;}
.ftn-worktools .v29-dirty {margin-left:auto;letter-spacing:.03em;}
.layout {
  display:grid;
  grid-template-columns:minmax(245px,300px) minmax(400px,1fr) minmax(260px,310px);
  grid-template-areas:"side content live";
  align-items:start;
  gap:14px;
}
.side {grid-area:side;min-width:0;}
.content {grid-area:content;min-width:0;}
.live {grid-area:live;min-width:0;}
.side,.content {gap:13px;}
.card {
  padding:16px;
  background:#18262e;
  border:1px solid #3d525e;
  border-radius:6px;
  box-shadow:none;
}
.card h2 {font-size:15px;font-weight:750;letter-spacing:-.15px;}
.card .head {gap:9px;margin-bottom:12px;}
.card .head .subtitle,.card .head .tag:not(#flowStatus),
.fd-help,.fd-disclaimer,.v29-touch-note,
.card > .note,.side > .card > .note,
#optimSettings + .note {display:none;}
#flowStatus {display:inline-flex;}
#plannerAutoGenerate,#fdFromAuto {padding:10px 17px;min-height:42px;font-size:13px;border-radius:5px;white-space:normal;}
#addChain {white-space:nowrap;}
main.content > section.card:first-child > .head {flex-wrap:wrap;}
main.content > section.card:first-child > .head > div:first-child {margin-right:auto;}
main.content > section.card:first-child > .head h2 {font-size:17px;}
.chain-tabs {margin:11px 0;}
.chain-tabs button {border-radius:4px;}
.tag,.metric,.node,.note,.notice,.diagnosis,.modal,.resultbox {border-radius:5px;box-shadow:none;}
.item-row {margin:5px 0;}
.section-label {font-size:10px;letter-spacing:.06em;color:#c9cbb9;}
.adjust, .field, .rank {margin-top:7px;margin-bottom:7px;}
.ftn-advanced {
  border:1px solid #40515b;
  border-radius:5px;
  background:#17242b;
  margin-top:0;
}
.ftn-advanced > summary {
  list-style:none;cursor:pointer;
  font-size:12px;font-weight:700;
  padding:13px 15px;color:#b9d1d0;
}
.ftn-advanced > summary::-webkit-details-marker {display:none;}
.ftn-advanced .card {border:0;border-top:1px solid #344c58;border-radius:0;margin:0;}
#productionLive .head {align-items:center;}
#productionLive #flow {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
#productionLive .node {min-height:75px;}
#productionLive .node span {font-size:9px;}
#productionLive .node b {font-size:13px;margin:5px 0;}
#productionLive .node small {font-size:9px;}
#productionLive .diagnosis {padding:11px;}
#productionLive .diagnosis .symbol {font-size:17px;}
#productionLive .diagnosis p {line-height:1.45;}
#productionLive .ledger {gap:6px;}
#productionLive .ledger .pill {padding:6px;font-size:10px;}
.ftn-monitor-details {border-top:1px solid #324753;margin-top:12px;padding-top:9px;}
.ftn-monitor-details > summary {cursor:pointer;color:#b6d0d3;font-size:11px;font-weight:710;}
.ftn-monitor-details > div {padding-top:11px;}
.fd-designer-mode .ftn-front {margin:7px 0 10px;}
.fd-designer-mode .ftn-showcase {display:none;}
.fd-designer-mode .ftn-worktools {padding-top:2px;border:0;margin-top:0;}

/* Do not repeat Designer and monitoring information in neighboring panels. */
#designerCard > .head { display:none; }
#designerCard .fd-work-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
#designerCard .fd-work-stats > div:last-child { display:none; }
#fdPaletteBody > p.fd-side-hint,
#fdInspectBody > p.fd-side-hint { display:none; }
#productionLive .diagnosis.good { display:none; }
.fd-designer-mode .fd-page-nav {background:#1b2a31;border:1px solid #415963;border-radius:5px;}
.fd-designer-mode .fd-page-nav button.active {color:#17252a;background:#dcb777;}
.fd-designer-mode #designerCard {
  background:#17262f;
  border:1px solid #425964;
  border-radius:6px;
}
.fd-designer-mode .fd-designer-heading {border-radius:5px;padding:8px 4px;}
.fd-designer-mode .fd-designer-heading h2 {font-size:19px;}
.fd-designer-mode .fd-designer-heading .ey,
.fd-designer-mode .fd-designer-heading p {display:none;}
.fd-designer-mode .fd-page-columns {grid-template-columns:minmax(160px,200px) minmax(0,1fr) minmax(245px,300px);gap:10px;}
.fd-work-toolbar {gap:6px;align-items:center;}
.fd-work-toolbar .btn {border-radius:5px;}
.fd-work-toolbar label {font-size:10px;}
.fd-work-node {border-radius:5px;box-shadow:0 5px 13px #0005;background:#1e3740;}
.fd-work-stats > div {border-radius:5px;background:#1e323b;}
.fd-viewport {border-radius:5px;background:#14232a;}
.fd-side-title {color:#d6bd87;font-size:11px;}
.fd-palette-btn {border-radius:4px;}
.v29-drawer,.v29-dialog,.modal {background:#192a32;color:#edf2f0;border-color:#506670;}
.footer {border-top:1px solid #324650;padding-top:15px;font-size:10px;}
.footer > [data-t="footer"],
.footer > [data-t="limitations"] {display:none;}
.legal-links {display:flex;flex-wrap:wrap;gap:12px;}
.legal-links a {font-size:10px;color:#9fb6bc;}
@media(max-width:1150px) {
  .layout {grid-template-columns:minmax(210px,270px) minmax(0,1fr);grid-template-areas:"content content" "side live";}
  .live {position:static;max-height:none;overflow:visible;}
  .fd-designer-mode .fd-page-columns {grid-template-columns:minmax(160px,1fr) minmax(0,3fr);}
  .fd-designer-mode .fd-right {grid-column:1/-1;}
}
@media(max-width:760px) {
  .shell,.shell.fd-designer-mode {padding:10px 12px 28px;}
  .top {align-items:stretch;flex-direction:column;gap:10px;}
  .brand h1 {font-size:19px;}
  .logo {width:43px;height:42px;}
  .top-right {margin-left:0;width:100%;justify-content:flex-start;gap:6px;}
  .top-right .btn {padding:6px 9px;min-height:34px;}
  .top-right #projectTag {margin-right:auto;text-align:left;max-width:130px;padding-left:0;}
  .ftn-front {margin:12px 0;}
  .ftn-kpis {grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
  .ftn-kpi {padding:11px 7px;gap:8px;}
  .ftn-kpi small {font-size:9px;letter-spacing:0;}
  .ftn-kpi strong {font-size:clamp(16px,5vw,23px);letter-spacing:-.4px;}
  .ftn-worktools {margin-top:12px;padding-top:10px;}
  .ftn-worktools .v29-factory-bar {gap:6px;}
  .ftn-worktools .v29-factory-bar button {font-size:11px;padding:7px 8px;}
  .ftn-worktools .v29-dirty {margin-left:0;}
  .layout {grid-template-columns:minmax(0,1fr);grid-template-areas:"content" "live" "side";gap:10px;}
  .card {padding:12px;}
  .fd-designer-mode .fd-page-columns {grid-template-columns:minmax(0,1fr);}
  .fd-designer-mode .fd-right {grid-column:auto;}
  .fd-designer-mode #fdMainColumn {order:-1;min-width:0;}
  .fd-designer-mode .fd-palette {position:static;max-height:none;}
  .fd-designer-mode .fd-viewport {height:58dvh;min-height:365px;}
  .fd-designer-mode #fdFromAuto {flex:1 1 100%;width:100%;}
  .fd-designer-mode .fd-work-stats {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {transition:none!important;animation:none!important;scroll-behavior:auto!important;}
}


/* FTN Workspace: deliberate navigation and one focused editing surface.
   This replaces the old three-column presentation, not its calculation logic. */
.ftn-workspace {
  max-width:1430px;
  margin:12px auto 40px;
  padding:0;
  scroll-margin-top:16px;
}
.ftn-workspace-nav {
  display:flex;
  align-items:center;
  gap:3px;
  min-height:51px;
  padding:0 5px;
  border-bottom:1px solid #3d4d52;
}
.ftn-worktab {
  font:inherit;
  font-size:13px;
  font-weight:670;
  border:0;
  border-bottom:3px solid transparent;
  border-radius:0;
  background:transparent;
  color:#a9bdc2;
  padding:12px 19px 11px;
  margin-bottom:-1px;
  cursor:pointer;
}
.ftn-worktab:hover {color:#f4e7ca;}
.ftn-worktab[aria-current="page"] {
  border-bottom-color:#ddba7a;
  color:#f6f1e8;
  background:#233039;
}
.ftn-workspace-alert {
  margin-left:auto;
  padding:6px 10px;
  border-left:2px solid #d8af73;
  font-size:11px;
  color:#f2d3a6;
  max-width:32ch;
  line-height:1.3;
}
.ftn-workspace-alert[hidden],.ftn-pane[hidden]{display:none!important;}
.ftn-workspace-panes{padding-top:16px;}
.ftn-pane{width:100%;max-width:1320px;margin:0 auto;}
.ftn-pane > .card {
  border:1px solid #354c54;
  background:#162329;
  border-radius:5px;
  box-shadow:none;
  padding:clamp(17px,2vw,32px);
}
.ftn-pane-production > .card > .head h2,
.ftn-pane-harvest > .card > .head h2,
.ftn-pane-results > .card > .head h2,
.ftn-pane-optimize > .card > .head h2{display:none;}
.ftn-pane-production > .card > .head {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding-bottom:17px;
  border-bottom:1px solid #354750;
}
.ftn-pane-production > .card > .head > div:first-child{margin-right:auto;}
.ftn-pane-production #plannerAutoGenerate {
  min-width:215px;
  min-height:43px;
  font-size:13px;
}
.ftn-pane-production .chain-tabs {
  padding:3px 0 12px;
  border-bottom:1px solid #334750;
}
.ftn-pane-production .chain-tabs button{min-height:34px;}
.ftn-pane-production #chainEditor{padding-top:14px;}
.ftn-pane-production .target{display:flex;flex-wrap:wrap;gap:6px;}
.ftn-pane-production .target button{
  flex:1 1 128px;
  min-width:100px;
  min-height:51px;
  border-radius:4px;
}
.ftn-pane-production .chain-setting{
  padding:12px 13px;
  border-radius:5px;
}
.ftn-pane-production .chain-setting .transport-note,
.ftn-pane-production .chain-setting .weight-info {display:none;}
.ftn-pane-production .setting-top{min-height:24px;}
.ftn-pane-production .chain-results{border-radius:4px;}
.ftn-pane-harvest .head{justify-content:flex-end;}
.ftn-pane-harvest .head > div:first-child{margin-right:auto;}
.ftn-pane-harvest #harvestRows,
.ftn-pane-harvest #generatorRows,
.ftn-pane-harvest #globalControls{max-width:890px;}
.ftn-pane-results #productionLive{width:100%;}
.ftn-pane-results #flow{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.ftn-pane-results #flow .node{min-height:90px;}
.ftn-pane-results .diagnosis{margin-top:14px;}
.ftn-pane-optimize .actionbar{display:flex;gap:10px;flex-wrap:wrap;}
.ftn-pane-settings .ftn-advanced{border:0;background:transparent;}
.ftn-pane-settings .ftn-advanced > summary{display:none;}
.ftn-pane-settings .ftn-advanced .card {
  margin:0 0 14px;
  border:1px solid #364c57;
  border-radius:5px;
}
.ftn-pane-optimize .head .tag,
.ftn-pane-settings .note{display:none;}
.ftn-income-details{margin:8px 0 4px;}
.ftn-income-details > summary{display:none!important;}
.ftn-income-details > div {
  display:flex;
  font-size:11px;
  gap:8px;
  color:#aabbc0;
}
.ftn-income-details > div strong{font-size:12px;color:#e8d1a5;}
/* Keep legacy nodes in the DOM for connected calculation callbacks. */
.ftn-workspace-ready .layout{display:none!important;}
.fd-designer-mode .ftn-workspace{display:none!important;}
/* Factory Designer: large canvas, compact inspector, bottom machine shelf. */
.fd-designer-mode .fd-page-columns {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,300px);
  grid-template-areas:'canvas inspector' 'shelf shelf';
  gap:13px;
}
.fd-designer-mode #fdMainColumn{grid-area:canvas;min-width:0;}
.fd-designer-mode .fd-right{
  grid-area:inspector;
  position:relative;
  top:0;
  max-height:none;
}
.fd-designer-mode .fd-palette {
  grid-area:shelf;
  position:relative;
  top:0;
  max-height:none;
  overflow:visible;
  padding:12px 16px;
}
.fd-designer-mode #fdPaletteBody{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 12px;
}
.fd-designer-mode #fdPaletteBody .fd-side-hint{display:none!important;}
.fd-designer-mode #fdPaletteBody .fd-palette-btn {
  width:auto;
  min-width:140px;
  max-width:240px;
  margin:0;
}
.fd-designer-mode #fdPaletteBody .fd-side-title {
  width:100%;
  border-bottom:0;
  margin:4px 0 0;
  padding:2px 0;
}
.fd-designer-mode #fdPaletteBody .fd-harvest-row{margin:2px 0;}
.fd-designer-mode #fdPaletteBody .fd-harvest-summary{margin:0;}
.fd-designer-mode #designerCard {
  background:#142128;
  border-color:#3b5159;
}
.fd-designer-mode .fd-designer-heading p,
.fd-designer-mode .fd-designer-heading .ey{display:none;}
.fd-designer-mode .fd-designer-heading{
  padding:8px 0 14px;
  border-bottom:1px solid #3d4d52;
  margin-bottom:13px;
}
.fd-designer-mode .fd-designer-heading h2{
  margin:0;
  font-size:20px;
}
.fd-designer-mode .fd-viewport{
  min-height:590px;
  height:max(590px,calc(100dvh - 300px));
}
@media(min-width:900px){
  .ftn-pane-production .chain-settings{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:980px){
  .ftn-workspace-nav{overflow-x:auto;scrollbar-width:thin;}
  .ftn-worktab{flex:0 0 auto;white-space:nowrap;padding-inline:13px;}
  .fd-designer-mode .fd-page-columns{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:'canvas' 'inspector' 'shelf';
  }
  .fd-designer-mode .fd-right,
  .fd-designer-mode .fd-palette{max-height:none;}
}
@media(max-width:760px){
  .ftn-pane-production .chain-settings{grid-template-columns:minmax(0,1fr);}
}
@media(max-width:600px){
  .ftn-workspace{margin-top:8px;}
  .ftn-workspace-nav{gap:0;padding:0 3px;}
  .ftn-worktab{font-size:11px;padding:10px 11px 9px;}
  .ftn-workspace-alert{display:none;}
  .ftn-workspace-panes{padding-top:8px;}
  .ftn-pane > .card{padding:13px;}
  .ftn-pane-production > .card > .head{gap:8px;}
  .ftn-pane-production #plannerAutoGenerate {
    min-width:0;
    flex:1 1 100%;
  }
  .ftn-pane-production .target button{
    flex-basis:88px;
    min-width:84px;
  }
  .ftn-pane-results #flow{grid-template-columns:repeat(2,minmax(0,1fr));}
  .fd-designer-mode .fd-viewport{min-height:365px;height:58dvh;}
  .fd-designer-mode #fdPaletteBody .fd-palette-btn{min-width:110px;}
}

/* Minimal top bar: project actions stay accessible in Project menu. */
.top .brand .unofficial-badge{display:none!important;}
.top #v29TopMore .v29-top-more-menu #projectTag,
.top #v29TopMore .v29-top-more-menu #v28ProjectsBtn {
  display:block;
  width:100%;
  max-width:none;
  text-align:left;
  border:1px solid #43565c;
  padding:8px 10px;
  margin:2px 0;
}

/* No decorative illustration strip: productivity controls begin immediately. */
.ftn-front {margin:12px 0 10px;}
.ftn-showcase {display:block;}
.ftn-kpis {gap:9px;}
.ftn-kpi {
  min-height:79px;
  padding:13px 17px 12px;
  gap:5px;
  background:#17242b;
}
.ftn-kpi small {font-size:11px;letter-spacing:0;}
.ftn-kpi strong {font-size:clamp(22px,2.35vw,30px);line-height:1.15;}
.ftn-income-details {margin:2px 0 0;padding:0;min-height:0;}
.ftn-worktools {margin-top:9px;padding-top:9px;}
@media(max-width:600px) {
  .ftn-front{margin:8px 0 6px;}
  .ftn-kpis{gap:6px;}
  .ftn-kpi{min-height:64px;padding:9px 8px;}
  .ftn-kpi small{font-size:10px;}
  .ftn-kpi strong{font-size:clamp(15px,4.8vw,20px);}
  .ftn-income-details{margin:2px 0;}
  .ftn-worktools{margin-top:5px;padding-top:7px;}
}


/* Lines workspace: shared inputs above the existing line editor. */
.ftn-workspace-ready .ftn-front {display:none!important;}
.ftn-home-workspace {
  max-width:1260px;
  margin:14px auto 28px;
}
.ftn-home-workspace .ftn-workspace-nav {
  min-height:40px;
  margin-bottom:4px;
}
.ftn-home-workspace .ftn-workspace-panes {padding-top:12px;}
.ftn-home-workspace .ftn-pane-dashboard {max-width:1200px;}
.ftn-home-heading {
  padding:0 0 12px;
  border-bottom:1px solid #344a50;
  margin-bottom:15px;
}
.ftn-home-heading .ey {
  font-size:10px;
  letter-spacing:.07em;
  color:#9db8b9;
}
.ftn-home-heading h2 {
  font-size:clamp(23px,2.8vw,30px);
  font-weight:760;
  line-height:1.18;
  letter-spacing:-.45px;
  margin:5px 0 0;
}
.ftn-home-workspace #v29ConfigBody .v29-config-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
#ftnPane-production #v29ConfigBody {margin-bottom:12px;}
.ftn-harvest-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;}
.ftn-home-workspace .ftn-harvest-options .v29-step {
  grid-template-columns:minmax(70px,1fr) 30px 48px 30px;
  gap:5px;
}
#ftnPowerSummary {margin:0 0 12px;}
#ftnEssentialSettings {margin-bottom:12px;}
.v29-inline-upgrades {margin-bottom:12px;padding:18px 20px;scroll-margin-top:15px;}
.v29-inline-upgrades .v29-dialog-head {margin-bottom:12px;}
.v29-inline-upgrades .v29-dialog-head .ey,
.v29-inline-upgrades .v29-dialog-head p {display:none;}
.v29-inline-upgrades .v29-dialog-head h2 {font-size:18px;margin:0;}
.v29-inline-upgrades #v29UpgradeCatalog {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;
  max-height:330px;overflow:auto;align-items:start;
}
.v29-inline-upgrades .v29-upgrade-group {margin:0;}
@media (max-width:730px) {
  .v29-inline-upgrades {padding:14px;}
  .v29-inline-upgrades #v29UpgradeCatalog {grid-template-columns:minmax(0,1fr);}
}
@media (max-width:1100px) {
  .ftn-harvest-options {grid-template-columns:minmax(0,1fr);}
}
.ftn-home-workspace .v29-config-grid > section {
  background:#15252d;
  padding:18px 20px;
  border:1px solid #38505a;
  border-radius:5px;
  min-width:0;
  box-shadow:none;
}
.ftn-home-workspace .v29-config-grid h3 {
  color:#f0f4f1;
  font-size:17px;
  font-weight:740;
  margin-bottom:13px;
}
.ftn-home-workspace .v29-step {
  grid-template-columns:minmax(85px,1fr) 34px 62px 34px;
  gap:7px;
  margin:9px 0;
}
.ftn-home-workspace .v29-step input,
.ftn-home-workspace .v29-field select {
  border-radius:4px;
  background:#102028;
  border-color:#476169;
}
.ftn-home-workspace .v29-step button {
  border-radius:4px;
  background:#21353d;
  border-color:#4a6570;
}
.ftn-home-workspace .v29-field span {
  text-transform:none;
  color:#b6c6c9;
  font-size:12px;
}
.ftn-home-workspace .v29-machine-catalog h4 {
  margin:12px 0 7px;
  font-weight:670;
  color:#b8c7c9;
}
.ftn-home-workspace .v29-machine-choice {
  border-radius:4px;
  transition:opacity .12s ease;
}
.ftn-home-workspace .v29-machine-choice.inactive {
  opacity:.48;
}
.ftn-home-workspace .v29-machine-choice.inactive .v29-step button,
.ftn-home-workspace .v29-machine-choice.inactive .v29-step input {
  cursor:not-allowed;
}
.ftn-home-workspace .v29-machine-choice.active {
  opacity:1;
}
.ftn-home-workspace .v29-selection-status {
  color:#b7c5c7;
  font-size:12px;
  margin:8px 0 7px;
  line-height:1.35;
}
.ftn-home-summary {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.ftn-home-detail {
  border:1px solid #38505a;
  border-radius:5px;
  background:#16252c;
  padding:18px 20px;
  min-width:0;
}
.ftn-home-detail h3 {
  font-size:16px;
  font-weight:740;
  margin:0 0 13px;
  color:#f1f3ed;
}
#ftnHomeReady {
  margin:0 0 12px;
  font-size:12px;
  color:#b4c4c9;
}
#ftnHomeSizing #sizeBtn {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-width:170px;
  padding:10px 18px;
  min-height:39px;
}
#ftnHomeSizing #sizeBtn:disabled {
  opacity:.45;
  cursor:not-allowed;
}
#ftnHomeSizeResults {
  margin-top:12px;
  font-size:12px;
}
#ftnHomeSizeResults:empty {display:none;}
.ftn-home-flow-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  border-bottom:1px solid #2a4049;
  padding:9px 0;
  color:#b7c8ca;
  font-size:12px;
}
.ftn-home-flow-row strong {
  font-size:13px;
  color:#f2f5f0;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
#ftnHomeBottleneck {
  padding:11px 0 0;
  color:#99c9b8;
  font-size:12px;
  font-weight:650;
}
#ftnHomeBottleneck.warn {color:#e2b482;}
/* Keep the legacy calculator nodes functional but outside the landing view. */
.ftn-workspace-ready .layout {display:none!important;}
.fd-designer-mode .ftn-home-workspace {display:none!important;}
@media (max-width:730px) {
  .ftn-home-workspace #v29ConfigBody .v29-config-grid,
  .ftn-home-summary {
    grid-template-columns:minmax(0,1fr);
    gap:9px;
  }
  .ftn-home-workspace .v29-config-grid > section,
  .ftn-home-detail {padding:14px;}
  .ftn-home-heading h2 {font-size:23px;}
  .ftn-home-workspace .v29-step {
    grid-template-columns:minmax(77px,1fr) 32px 54px 32px;
    gap:5px;
  }
}

.ftn-home-workspace .ftn-worktab:disabled {
  color:#728994;
  opacity:.48;
  cursor:not-allowed;
}
.ftn-home-workspace .ftn-worktab:disabled:hover {
  background:transparent;
  border-bottom-color:transparent;
}
