/* Consistent panel padding and aligned field baselines; calculation code unchanged. */
.controls{--panel-pad:24px;padding:var(--panel-pad)}
.panel-title{margin:calc(-1 * var(--panel-pad)) calc(-1 * var(--panel-pad)) 24px;padding:20px var(--panel-pad)}
.workspace{grid-template-columns:minmax(360px,420px) minmax(0,1fr);gap:24px;align-items:start}
.fields{gap:20px 16px;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.fields>label{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;min-width:0;line-height:1.45;font-size:14px;font-weight:400}
.field-caption{display:block;min-height:20px}
.fields>label>input,.fields>label>select{height:48px;min-height:48px!important;margin-top:auto;min-width:0;padding:12px!important}
.fields>label>select{padding-right:35px!important}
.full-label{font-size:14px;line-height:1.5;gap:10px}
select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23171a1b' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:36px!important;cursor:pointer}
.full-label>select,.full-label>input{min-height:48px}
.fields :is(input,select),.full-label :is(input,select){width:100%;box-sizing:border-box;font-size:14px}
.steps{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:24px}
.steps>button{align-items:center;min-height:64px;font-size:13px;line-height:1.4;padding:14px 12px}
.steps>button span{flex:none}
.visual{min-width:0}.visual-header{padding:20px 24px;gap:16px}.visual-header h2{line-height:1.35}.visual-header p{line-height:1.55}
.scene-toolbar{padding:12px 16px;gap:10px}.scene-toolbar>div{gap:6px}.scene-toolbar button{min-height:38px;min-width:38px}
.option-row.with-picture{display:grid;grid-template-columns:22px 90px minmax(0,1fr);gap:14px;align-items:center;padding:18px 0}
.part-row.with-picture{grid-template-columns:90px minmax(0,1fr);gap:14px;padding:20px 0;align-items:center}
.spare-image{display:block;width:90px;height:100px;object-fit:contain;object-position:center;background:white}
.part-row.with-picture .quantity{grid-column:2;width:144px;grid-template-columns:42px 58px 42px}
.part-row.with-picture .quantity>button,.part-row.with-picture .quantity>input{min-height:42px!important}
.option-row.with-picture strong,.part-row.with-picture strong{font-size:14px;font-weight:500;line-height:1.45}
.option-row.with-picture small,.part-row.with-picture small{font-size:12px;line-height:1.5;margin-top:6px}
.option-row.with-picture:has(input:disabled){opacity:.5}
.kit-embedded main{padding:24px}
@media(max-width:1150px){.workspace{grid-template-columns:360px minmax(0,1fr);gap:20px}.controls{--panel-pad:20px}.visual-header{padding:20px}.visual-header h2{font-size:21px}.steps>button{font-size:12px}}
@media(max-width:900px){.workspace{display:flex;flex-direction:column;gap:20px}.controls,.visual{width:100%}.visual{position:static}.fields{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.option-row.with-picture{grid-template-columns:22px 100px minmax(0,1fr)}.part-row.with-picture{grid-template-columns:100px minmax(0,1fr) 144px}.part-row.with-picture .quantity{grid-column:auto}}
@media(max-width:600px){.kit-embedded main{padding:16px}.controls{--panel-pad:16px}.panel-title{padding:18px var(--panel-pad);margin-bottom:20px}.fields{grid-template-columns:minmax(0,1fr);gap:18px}.field-caption{min-height:0}.fields>label{gap:8px}.fields :is(input,select),.full-label :is(input,select){font-size:16px}.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.steps>button{min-height:62px;font-size:12px;padding:12px 10px}.part-row.with-picture{grid-template-columns:80px minmax(0,1fr)}.part-row.with-picture .quantity{grid-column:2;width:132px;grid-template-columns:38px 54px 38px}.option-row.with-picture{grid-template-columns:20px 65px minmax(0,1fr);gap:10px}.spare-image{width:100%;height:85px}.visual-header{padding:18px 16px}.scene-toolbar{padding:12px}.option-row.with-picture strong,.part-row.with-picture strong{font-size:13px}.option-row.with-picture small,.part-row.with-picture small{font-size:12px}}
