
:root{
  --bg:#f4f5f7;
  --card:#ffffff;
  --text:#1c1f23;
  --muted:#6d7480;
  --border:#e6e8eb;
  --accent:#ff8c42;
  --accent-soft:#fff2e8;
  --shadow:0 12px 32px rgba(26,26,26,.08);
  --radius:22px;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Arial,sans-serif;
  background:linear-gradient(180deg,#f7f8fa 0%,#f1f3f6 100%);
  color:var(--text);
}
.app-shell{max-width:920px;margin:0 auto;padding:16px 16px 40px}
.topbar{
  display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin:8px 0 18px;
}
h1,h2,h3,p{margin:0}
h1{font-size:28px;line-height:1.1}
h2{font-size:24px;line-height:1.15}
h3{font-size:18px;margin-bottom:6px}
.eyebrow{
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:700;
  margin-bottom:6px;
}
.screen{display:none}
.screen.active{display:block}
.hero-card,.card,.panel{
  background:var(--card);
  border:1px solid var(--border);
  box-shadow:var(--shadow);
  border-radius:var(--radius);
}
.hero-card{
  padding:22px;
  display:flex;
  flex-direction:column;
  gap:18px;
  margin-bottom:16px;
}
.hero-card p{color:var(--muted);line-height:1.45}
.hero-actions,.grid.two,.section-head,.actions{
  display:grid;gap:12px;
}
.grid.two{grid-template-columns:1fr 1fr}
.panel{padding:18px}
.card{padding:20px}
.section-head{
  grid-template-columns:1fr auto;
  align-items:center;
  margin-bottom:12px;
}
.primary-btn,.secondary-btn,.ghost-btn,.option-card{
  border:none;border-radius:16px;padding:14px 16px;font-size:15px;font-weight:700;cursor:pointer;
  transition:.2s transform,.2s opacity,.2s background;
}
.primary-btn{background:var(--accent);color:#fff}
.secondary-btn{background:#eef1f4;color:var(--text)}
.ghost-btn{background:var(--accent-soft);color:#b15a1f}
.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,.option-card:hover{transform:translateY(-1px)}
.progress-wrap{margin-bottom:14px}
.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:14px;margin-bottom:8px}
.progress-bar{height:10px;background:#e9edf1;border-radius:999px;overflow:hidden}
#progressFill{height:100%;width:25%;background:linear-gradient(90deg,var(--accent) 0%,#ffb071 100%)}
.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
label{display:flex;flex-direction:column;gap:8px}
label span{font-size:14px;color:var(--muted);font-weight:600}
input,select{
  width:100%;
  padding:14px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
  font-size:15px;
}
.helper{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.4}
.actions.sticky{
  position:sticky;bottom:14px;margin-top:14px;
  grid-template-columns:1fr 1fr 1fr;
}
.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.option-card{
  display:flex;flex-direction:column;gap:4px;align-items:flex-start;background:#f7f8fa;border:1px solid var(--border)
}
.option-card.active{background:var(--accent-soft);border-color:#ffc49e}
.joinery-card{
  border:1px solid var(--border);
  border-radius:18px;
  padding:16px;
  background:#fbfbfc;
  margin-bottom:14px;
}
.joinery-head{
  display:flex;justify-content:space-between;align-items:center;margin-bottom:12px
}
.joinery-title{font-weight:800}
.joinery-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:12px
}
.price-box{
  margin:18px 0;
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg,#fff8f3 0%,#ffffff 100%);
  border:1px solid #ffd6bc;
  display:flex;justify-content:space-between;align-items:center;gap:12px
}
.price-box span{display:block;color:var(--muted);font-size:13px}
.price-box strong{font-size:28px}
.history-list{display:grid;gap:10px}
.history-item{
  border:1px solid var(--border);background:#fafbfc;border-radius:16px;padding:14px;
  display:grid;gap:6px
}
.small{font-size:13px;color:var(--muted)}
@media (max-width:700px){
  .grid.two,.form-grid,.joinery-grid,.option-grid,.actions.sticky,.section-head{grid-template-columns:1fr}
  .topbar{flex-direction:column}
}
