:root{
  --sbmc-bg:#0b1722;
  --sbmc-bg-deep:#08131d;
  --sbmc-panel:#17283a;
  --sbmc-panel-2:#1d3043;
  --sbmc-panel-3:#203448;
  --sbmc-text:#eef1f3;
  --sbmc-muted:#c6cdd2;
  --sbmc-green:#79a844;
  --sbmc-green-light:#9cc565;
  --sbmc-green-hover:#b6dc82;
  --sbmc-line:rgba(255,255,255,.07);
  --sbmc-shadow:0 14px 30px rgba(0,0,0,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0!important;
  padding:0 18px 34px!important;
  background:linear-gradient(180deg,#0a151e,#0b1a27 55%,#0a1721)!important;
  color:var(--sbmc-text)!important;
  font-family:Arial,Helvetica,sans-serif!important;
  line-height:1.55!important;
}
body > *{max-width:1320px}
.sbmc-tool-shell{max-width:1320px;margin:0 auto 22px}
.sbmc-tool-masthead{padding:12px 10px 8px;background:#0d1924}
.sbmc-tool-masthead img{display:block;width:100%;height:auto;border-radius:4px;box-shadow:0 4px 14px rgba(0,0,0,.28)}
.sbmc-tool-nav{display:flex;justify-content:center;background:linear-gradient(90deg,#0b1230,#101833,#0b1230);border-top:1px solid rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.04);box-shadow:0 5px 15px rgba(0,0,0,.12)}
.sbmc-tool-nav a{padding:14px 30px;color:#e2e5e7;text-decoration:none;font-size:.92rem;font-weight:700;letter-spacing:.2px}
.sbmc-tool-nav a:hover,.sbmc-tool-nav a.active{color:var(--sbmc-green-light)}
.sbmc-tool-nav .forum:hover{color:var(--sbmc-green-hover)}

/* Shared tool headers */
.header,.hero-banner,.hero{
  background:linear-gradient(135deg,#21384b,#1a2d3f)!important;
  color:var(--sbmc-text)!important;
  border:1px solid var(--sbmc-line)!important;
  border-radius:22px!important;
  box-shadow:var(--sbmc-shadow)!important;
}
.header{padding:24px 20px!important;margin:0 auto 18px!important;max-width:900px!important}
.header h1,.hero h1,.hero-title{color:#eef1f3!important}
.header p,.hero p,.hero-subtitle{color:var(--sbmc-muted)!important}
.hero-banner{max-width:900px!important;padding:28px 20px!important;margin:0 auto 18px!important}

/* Main cards/panels */
.card,.panel,.sidebar > *, .controls, .control-panel, .settings-panel, .info-panel{
  background:linear-gradient(145deg,var(--sbmc-panel-2),var(--sbmc-panel))!important;
  color:var(--sbmc-text)!important;
  border-color:var(--sbmc-line)!important;
  box-shadow:var(--sbmc-shadow)!important;
}
.card{border-radius:22px!important}
h1,h2,h3,h4{color:var(--sbmc-text)!important}
h2{border-bottom-color:rgba(255,255,255,.08)!important}
label{color:#e4e8ea!important}
small,.muted,.help,.hint{color:var(--sbmc-muted)!important}

/* Forms */
input,select,textarea{
  background:#0d1b27!important;
  color:#eef1f3!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:8px!important;
}
input::placeholder,textarea::placeholder{color:#87959f!important}
input:focus,select:focus,textarea:focus{
  outline:none!important;
  border-color:var(--sbmc-green-light)!important;
  box-shadow:0 0 0 3px rgba(156,197,101,.12)!important;
}
button,.btn,.button{
  background:linear-gradient(180deg,#6f963a,#5d7e30)!important;
  color:#fff!important;
  border:0!important;
  border-radius:6px!important;
  box-shadow:0 6px 14px rgba(0,0,0,.18)!important;
}
button:hover,.btn:hover,.button:hover{background:linear-gradient(180deg,#7da847,#638936)!important}
button.danger,.danger{background:#a94b4b!important}
button.warn,.warn{background:#a86e2b!important}
button.accent,.accent{background:linear-gradient(180deg,#6f963a,#5d7e30)!important}

/* Tables/results */
table{color:var(--sbmc-text)!important;border-color:rgba(255,255,255,.10)!important}
th{background:#203448!important;color:#fff!important;border-color:rgba(255,255,255,.10)!important}
td{background:#132434!important;color:#dce2e5!important;border-color:rgba(255,255,255,.08)!important}
.summary-card,.recommendation-box,.note,.result-box,#alert-box{
  background:linear-gradient(145deg,#1e3440,#162a37)!important;
  color:#dce3e6!important;
  border-color:var(--sbmc-green)!important;
}
.summary-row.total,.recommendation-box h3,.result-title{color:var(--sbmc-green-light)!important}

/* Tool collection landing page */
.wrap{max-width:1180px!important;margin:0 auto!important}
.wrap .hero{padding:38px 24px!important;max-width:none!important}
.wrap .intro{background:transparent!important;border:0!important;box-shadow:none!important;color:var(--sbmc-muted)!important}
.wrap .section{color:var(--sbmc-green-light)!important}
.wrap .grid{gap:20px!important}
.wrap .card{background:linear-gradient(145deg,#1d3043,#17283a)!important;border:1px solid var(--sbmc-line)!important;border-left:5px solid var(--sbmc-green)!important;min-height:195px!important}
.wrap .card h3{color:#eef1f3!important}
.wrap .card p{color:#c1cbd1!important}
.wrap .icon{filter:saturate(.85)}
.wrap .btn{margin-top:16px!important}
.wrap .footer{background:transparent!important;color:#9caab2!important;border:0!important}

/* 3D planners: preserve dark viewport and make controls feel native to the new design */
.viewport-card{background:#09131c!important;border:1px solid var(--sbmc-line)!important;box-shadow:var(--sbmc-shadow)!important}
.viewport-overlay{background:rgba(9,19,28,.84)!important;color:#eef1f3!important;border-color:rgba(255,255,255,.08)!important}
.planner-container{color:var(--sbmc-text)!important}

/* Mobile */
@media(max-width:700px){
  body{padding:0 10px 24px!important}
  .sbmc-tool-masthead{padding:0;background:transparent}
  .sbmc-tool-masthead img{border-radius:0}
  .sbmc-tool-nav{justify-content:space-around}
  .sbmc-tool-nav a{padding:13px 10px;font-size:.82rem}
  .header,.hero-banner,.hero{border-radius:20px!important}
  .header{padding:22px 16px!important}
  .hero-banner{padding:24px 16px!important}
  .card{border-radius:20px!important;padding:20px!important}
  .grid,.grid-header{grid-template-columns:1fr!important}
  .full-width{grid-column:auto!important}
  .wrap .card{min-height:0!important;padding:24px!important}
  .wrap .grid{gap:18px!important}
  .planner-container{display:flex!important;flex-direction:column!important}
  .sidebar{max-width:none!important;min-width:0!important;max-height:none!important;overflow:visible!important}
  .viewport-card{min-width:0!important;width:100%!important;height:min(72vh,620px)!important}
}

/* SBMC-Hub return button */
.sbmc-tool-return{
  display:flex;justify-content:center;align-items:center;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:18px 16px 22px;
  margin:0;
}
.sbmc-tool-return a{
  display:inline-flex;align-items:center;justify-content:center;
  color:#fff!important;
  text-decoration:none!important;
  font-size:1rem;font-weight:700;
  letter-spacing:.1px;
  padding:13px 24px;
  border-radius:12px;
  background:linear-gradient(180deg,#79a844,#5d7e30)!important;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 7px 16px rgba(0,0,0,.22);
  transition:transform .15s ease,filter .15s ease,box-shadow .15s ease;
}
.sbmc-tool-return a:hover,.sbmc-tool-return a:focus-visible{
  color:#fff!important;
  background:linear-gradient(180deg,#8ab952,#6b9138)!important;
  transform:translateY(-1px);
  box-shadow:0 9px 18px rgba(0,0,0,.28);
}
@media(max-width:700px){
  .sbmc-tool-return{padding:14px 10px 18px}
  .sbmc-tool-return a{font-size:.95rem;padding:12px 20px}
}

/* Interactive control strips */
.controls-bar, .builder-controls{
  background:linear-gradient(145deg,#1d3043,#17283a)!important;
  color:var(--sbmc-text)!important;
  border:1px solid var(--sbmc-line);
  border-radius:10px;
  padding:10px 12px;
}
.controls-bar label, .builder-controls label{
  color:#eef1f3!important;
  margin:0!important;
}
.controls-bar input[type="checkbox"], .builder-controls input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:0!important;
  margin:0 8px 0 0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  accent-color:var(--sbmc-green);
  vertical-align:middle;
}
.controls-bar input[type="range"], .builder-controls input[type="range"]{
  width:100%!important;
  height:22px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.controls-bar > div, .builder-controls > div{min-width:0}

/* Final readability fixes for information/result boxes */
.info-box{
  background:linear-gradient(145deg,#1d3043,#17283a)!important;
  color:#eef1f3!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-left:4px solid var(--sbmc-green)!important;
  box-shadow:var(--sbmc-shadow)!important;
}
.info-box strong{color:var(--sbmc-green-light)!important}
.summary-box{
  background:linear-gradient(145deg,#1e3440,#162a37)!important;
  color:#eef1f3!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-left:4px solid var(--sbmc-green)!important;
}
.stat-flex{
  background:linear-gradient(145deg,#1d3043,#17283a)!important;
  color:#eef1f3!important;
  border:1px solid rgba(255,255,255,.10)!important;
}
#status-card{
  background:linear-gradient(145deg,#1e3440,#162a37)!important;
  color:#eef1f3!important;
  border:1px solid rgba(255,255,255,.10)!important;
  border-left:4px solid var(--sbmc-green)!important;
}
#status-card .result-title{color:var(--sbmc-green-light)!important}

/* Keep the return control as a real button on every tool page */
.sbmc-tool-return a{
  min-height:46px;
  background:linear-gradient(180deg,#79a844,#5d7e30)!important;
}

/* Furniture builder: centre the export button vertically with its heading */
.panel-breakdown-heading{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:16px!important;
}
.panel-breakdown-heading h2{margin:0!important}
.panel-breakdown-heading button{transform:translateY(-3px)}
@media(max-width:700px){
  .panel-breakdown-heading{align-items:flex-start!important;flex-wrap:wrap!important}
  .panel-breakdown-heading button{transform:none}
}
