:root{
  --aluminium-post:#9ca3af;
}

.group-item,
.unit-chip{padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fafafa;cursor:pointer}
.group-item.active,
.unit-chip.active{border-color:var(--accent);background:var(--accent-soft)}

.module-dim-grid{grid-template-columns:repeat(3,1fr)}
.module-dim-grid label{min-width:0}
.module-dim-grid select{width:100%;min-width:0}

.group-info-grid{grid-template-columns:1fr}
.group-info-grid label{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:8px}
.group-info-grid .full{grid-column:auto}
.group-info-grid input,
.group-info-grid select{width:100%;justify-self:end}

.color-picker-field{display:grid;grid-template-columns:92px 1fr;align-items:center;gap:8px}
.color-picker{position:relative;min-width:0}
.color-picker-toggle,
.color-picker-option{width:100%;display:flex;align-items:center;gap:8px;text-align:left;background:#fff;color:var(--text)}
.color-picker-toggle{border:1px solid var(--line);border-radius:10px;padding:7px 9px;cursor:pointer}
.color-picker-toggle::after{content:'▾';margin-left:auto;color:var(--muted);font-size:11px}
.color-picker-menu{position:absolute;z-index:40;top:calc(100% + 4px);left:0;right:0;display:none;max-height:280px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:4px}
.color-picker.open .color-picker-menu{display:block}
.color-picker-option{border:0;border-radius:8px;padding:7px 8px;cursor:pointer}
.color-picker-option:hover,
.color-picker-option[aria-selected="true"]{background:var(--accent-soft)}
.color-swatch{width:18px;height:18px;border-radius:5px;border:1px solid rgba(17,24,39,.24);flex:0 0 auto}

.side-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.door-part-radios{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}
.door-part-option{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:6px 5px;font-size:12px;line-height:1.2;min-width:0}
.door-part-option input{margin:0}
.door-part-option.disabled{opacity:.45}
.door-side-list{display:grid;gap:8px}
.door-side-row{display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:start;border:1px solid var(--line);border-radius:8px;background:#fff;padding:8px}
.door-side-row.no-label{grid-template-columns:1fr}
.door-side-name{font-size:13px;font-weight:700;padding-top:7px}
.door-wing-stack{display:grid;gap:18px}
.door-side-detail{display:grid;gap:10px}
.door-wing-field{display:grid;grid-template-columns:1fr;gap:7px;align-items:stretch;border:1px solid #eceff3;border-radius:8px;background:#fafafa;padding:8px}
.door-wing-field.no-title{grid-template-columns:1fr}
.door-wing-field + .door-wing-field{position:relative}
.door-wing-field + .door-wing-field::before{content:"";position:absolute;left:-1px;right:-1px;top:-14px;height:8px;background:var(--aluminium-post);border:1px solid #7b8794;border-radius:4px}
.door-wing-title{font-size:12px;font-weight:700;color:var(--muted)}
.door-wing-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:end}
.door-wing-row .full{grid-column:1 / -1}
.door-wing-field label{font-size:11px}
.door-wing-field select{width:100%;min-width:0}
.door-divider-shelf{border:1px solid #d1d5db;border-radius:8px;background:#fff;padding:8px}
.door-divider-shelf label{font-size:11px}
.door-divider-shelf select{width:100%}
.door-wing-empty{font-size:12px;color:var(--muted);padding:7px 0}

.selection-actions{display:flex;gap:8px;flex-wrap:wrap}
