.configurator {position:fixed;inset:0;z-index:65;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.configurator[hidden] {display:none!important}
.cfg-header {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;border-bottom:1px solid var(--line)}
.cfg-header h2 {margin:0;font-size:1.2rem}.cfg-header small {display:block;color:var(--muted);font-size:.78rem;margin-top:4px}
.cfg-body {display:grid;grid-template-columns:minmax(0,1fr) 330px;min-height:0;flex:1}
.cfg-work {display:flex;flex-direction:column;min-width:0;padding:18px;gap:12px;overflow:auto}
.cfg-presets {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cfg-preset {display:grid;gap:8px;justify-items:center;background:var(--panel);min-width:0;padding:14px 6px;border:1px solid var(--line)}
.cfg-preset[aria-pressed=true] {border-color:var(--accent);background:var(--accent-soft)}.cfg-preset svg {height:42px;width:68px;max-width:100%}
.cfg-tools {display:flex;flex-wrap:wrap;gap:6px}.cfg-tools button {min-height:40px;padding:6px 12px}
.cfg-canvas {flex:1;min-height:300px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel)}
.cfg-canvas svg {display:block;width:100%;height:100%;min-height:300px;touch-action:none}
.cfg-canvas .cfg-edge {cursor:pointer}.cfg-canvas .cfg-vertex {cursor:grab}
.cfg-viewer {height:100%;min-height:300px;position:relative}.cfg-viewer canvas {display:block}.cfg-viewer #cfgTip {display:none;position:absolute;z-index:2;padding:6px;background:var(--panel)}
.cfg-note {margin:0;font-size:.82rem;color:var(--muted);line-height:1.5}
.cfg-settings {overflow:auto;border-left:1px solid var(--line);padding:22px;display:flex;flex-direction:column;gap:18px}
.cfg-settings fieldset {padding:0;border:0;display:grid;gap:10px}.cfg-settings legend {font-weight:600;margin-bottom:10px}
.cfg-settings label {font-size:.8rem;display:grid;gap:6px;color:var(--muted)}
.cfg-settings input,.cfg-settings select {width:100%;min-width:0}
.cfg-pair {display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cfg-shelf {display:flex;gap:6px;margin-top:7px}.cfg-shelf input {flex:1}.cfg-shelf button {flex:none}
.cfg-footer {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 22px;border-top:1px solid var(--line);background:var(--panel)}
.cfg-status {font-size:.82rem;line-height:1.4;margin:0}.cfg-status.error {color:var(--err)}
.cfg-opening {display:flex;align-items:center;gap:12px;font-size:.8rem}.cfg-opening input {flex:1}
body[data-connected=true] .part-inspector {display:none!important}
body[data-connected=true][data-screen=edit] .content {padding-bottom:90px}
@media(max-width:760px) {
 .cfg-header {padding:12px 16px}.cfg-body {display:block;overflow:auto}
 .cfg-work {padding:12px;overflow:visible}.cfg-canvas {height:330px;flex:none}
 .cfg-settings {border-left:0;border-top:1px solid var(--line);overflow:visible;padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
 .cfg-settings fieldset {min-width:0}.cfg-settings .cfg-wide {grid-column:1/-1}
 .cfg-footer {padding:12px 16px}.cfg-footer .primary {min-width:120px}
 .cfg-presets {gap:5px}.cfg-preset {font-size:.78rem;padding:10px 4px}.cfg-note {font-size:.76rem}
}
@media(max-width:360px) {.cfg-settings {grid-template-columns:1fr}.cfg-settings .cfg-wide {grid-column:auto}.cfg-status {font-size:.74rem}}

.configurator [hidden]{display:none!important}
/* çizimin hemen altında: seçili kenarın / dikmenin ayarları ve raf sayısı (telefonda aşağı inmeden) */
.cfg-sel {margin:0;padding:0;border:0;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0}
.cfg-sel > * {grid-column:1/-1;min-width:0}
.cfg-sel:empty {display:none}
.cfg-sel legend {font-weight:600;font-size:.9rem;padding:0;margin-bottom:6px}
.cfg-sel label {font-size:.8rem;display:grid;gap:4px;color:var(--muted)}
.cfg-sel input {width:100%;min-width:0;min-height:44px}
.cfg-sel .cfg-pair {align-items:end}
.cfg-sel .cfg-pair > button {min-height:44px}
.cfg-roles {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.cfg-roles button {min-height:44px;padding:6px 4px;font-size:.85rem;border:1px solid var(--line);background:var(--panel)}
.cfg-roles button[aria-pressed=true] {background:var(--accent);color:#fff;border-color:var(--accent)}
.cfg-quick {display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9rem}
.cfg-quick > span {color:var(--muted)}
.cfg-quick > button:not(.ghost) {width:44px;min-height:44px;padding:0;font-size:20px;border:1px solid var(--line);background:var(--panel)}
.cfg-quick b {min-width:22px;text-align:center;font-size:1.05rem}
.cfg-quick .ghost {margin-left:auto;min-height:44px}
.cfg-canvas .cfg-div {cursor:grab}
