*{box-sizing:border-box}html,body,#root{height:100%;margin:0}#root{color:#2b2620;font-family:system-ui,sans-serif}.app{grid-template-rows:48px 1fr;grid-template-columns:320px 1fr;height:100%;display:grid}.app-header{color:#f2efea;background:#2b2620;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.app-header h1{margin:0;font-size:16px}.config-panel{background:#faf8f4;border-right:1px solid #e0dad0;padding:16px;overflow-y:auto}.viewport{flex-direction:column;min-height:0;display:flex;position:relative}.scene-holder{flex:1 1 0;min-height:300px;position:relative}.scene-holder canvas{width:100%;height:100%;display:block}.viewport-info{flex:none;max-height:50%;overflow-y:auto}.summary-panel,.quote-form{background:#fff;border-top:1px solid #e0dad0;padding:12px 16px}.field{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.field input[type=number],.field select{padding:4px}fieldset.field{border:1px solid #e0dad0}.price-breakdown{margin:0;padding:0;list-style:none}.price-breakdown li{justify-content:space-between;padding:2px 0;display:flex}.price-breakdown li.total{border-top:1px solid #e0dad0;margin-top:4px;padding-top:6px;font-weight:700}.quote-form label{flex-direction:column;gap:2px;margin-bottom:8px;display:flex}.lang-toggle{color:#f2efea;cursor:pointer;background:0 0;border:1px solid #f2efea;border-radius:4px}.webgl-error{padding:24px}
