.edging-photo{width:min(1250px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #c7d3bf;border-radius:16px;background:#fbf6e8;color:#173f33;overflow:auto}.edging-photo::backdrop{background:#173f3377;backdrop-filter:blur(3px)}.edging-photo__header{position:sticky;top:0;z-index:5;background:#fbf6e8;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px;border-bottom:1px solid #d2dcca}.edging-photo__header span{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#006053}.edging-photo__header h2{font:inherit;font-size:25px;letter-spacing:-.03em;margin:5px 0 0}.edging-photo__header>button{width:40px;height:40px;border:1px solid #c7d3bf;border-radius:50%;background:none;color:inherit;cursor:pointer}.edging-photo__header svg{width:18px;height:18px}.edging-photo__body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;padding:24px}.edging-photo__workspace,.edging-photo__controls{min-width:0}.edging-photo__controls fieldset{border:0;padding:0;margin:0;min-width:0}.edging-photo__controls legend{font-size:16px;font-weight:600;margin-bottom:14px}.edging-photo__controls label,.planner [data-plan-edging] label:not(.edging-check){display:grid;gap:6px;font-size:12px;margin:10px 0}.edging-photo select,.edging-photo input[type=text],.planner [data-plan-edging] select{min-width:0;max-width:100%;width:100%;border:1px solid #c7d3bf;border-radius:7px;background:#fffcf4;color:inherit;font:inherit;padding:10px;box-sizing:border-box}.edging-photo__stage{min-height:300px;display:grid;place-items:center;border:1px solid #bcccb4;border-radius:10px;overflow:hidden;background:#e8eddf}.edging-photo__stage>p{max-width:360px;font-size:15px;text-align:center;padding:28px;line-height:1.7}.edging-photo__stage canvas{display:block;max-width:100%;max-height:min(65dvh,650px);width:auto;height:auto;touch-action:none;cursor:crosshair}.edging-photo__stage canvas[hidden]{display:none}.edging-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin:9px 0}.edging-actions[hidden]{display:none}.edging-actions button,.edging-file,.edging-primary{min-height:38px;padding:8px 12px;border:1px solid #bacbb2;border-radius:7px;background:#fffcf4;color:#005b4d;font:inherit;font-size:12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.edging-actions button:disabled,.edging-primary:disabled{opacity:.45;cursor:default}.edging-primary,.edging-actions [data-photo-finish],.edging-actions [data-edge-finish]{background:#005b4d;color:#fff;border-color:#005b4d}.edging-photo .edging-primary{width:100%;margin:12px 0}.edging-file{position:relative;overflow:hidden;font-weight:600}.edging-file input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.edging-file:focus-within{outline:2px solid #005b4d;outline-offset:2px}.edging-check{display:flex!important;align-items:center;gap:8px;font-size:12px;margin:10px 0}.edging-check input{accent-color:#005b4d;width:16px;height:16px}.edging-small{font-size:11px;line-height:1.6;color:#647363;margin:8px 0}.edging-reference{display:block;width:100%;height:145px;object-fit:contain;border:1px solid #d0dac8;border-radius:8px;background:#fffdf6}.edging-reference[hidden]{display:none}.edging-input-unit{display:flex;align-items:center;gap:8px}.edging-input-unit>span{font-size:11px;color:#647363}.edging-status{font-size:12px;line-height:1.7;color:#005b4d;white-space:pre-line}.edging-list{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.edging-list li{border:1px solid #ccd7c3;border-radius:8px;padding:10px;background:#fffcf4}.edging-list li[data-selected=true]{border-color:#00745e;background:#e7eddf}.edging-list button{display:block;width:100%;border:0;background:none;color:#005b4d;font:inherit;font-size:12px;text-align:left;padding:0;cursor:pointer;line-height:1.6}.edging-list small{display:block;font-size:10px;line-height:1.6;color:#647363;margin-top:4px}.edging-photo__footer{padding:16px 24px;border-top:1px solid #d2dcca;font-size:11px;line-height:1.7;color:#647363}.planner [data-plan-edging]{border:0;padding:0;margin:12px 0 0;min-width:0}.planner .edging-reference{height:115px}.planner__stage:has(+.planner__hint){touch-action:none}.product-quick-actions [data-edging-open]{display:inline-flex;width:auto;min-height:32px;padding:6px 10px;border:1px solid #b9c8b4;border-radius:999px;background:#e8eddf;color:#005b4d;font:inherit;font-size:12px;cursor:pointer}.product-quick-actions [data-edging-open][hidden]{display:none}
@media(max-width:800px){.edging-photo{width:calc(100% - 16px);max-height:calc(100dvh - 16px);border-radius:12px}.edging-photo__body{display:flex;flex-direction:column;padding:16px;gap:20px}.edging-photo__header{padding:16px}.edging-photo__header h2{font-size:21px}.edging-photo__stage{min-height:220px}.edging-photo__stage canvas{max-height:60dvh}.edging-photo__controls legend{margin-bottom:6px}.edging-photo__footer{padding:14px 16px}.edging-actions button,.edging-file{min-height:44px}.edging-reference{height:120px}}

.planner .edging-primary{background:#005b4d;color:#fff;border-color:#005b4d}

@media(max-width:800px){.planner__edgings{order:7}.planner [data-edge-draw-tools]{order:4}}

.edging-photo__stage{position:relative}.edging-object-tools{position:absolute;z-index:4;display:flex;gap:7px;transform:translate(-50%,-100%);pointer-events:none}.edging-object-tools[hidden]{display:none!important}.edging-object-tools button{pointer-events:auto;display:grid;place-items:center;width:44px;height:44px;padding:8px;border:1px solid #007663;border-radius:50%;background:#fffdf6;color:#006053;box-shadow:0 2px 9px #173f3330;touch-action:none;cursor:grab;font:inherit}.edging-object-tools svg{width:25px;height:25px}.edging-object-tools [data-path-action=remove]{border-color:#c7a18e;color:#a34936;cursor:pointer}.edging-object-tools button:active{cursor:grabbing}.edging-object-tools button:focus-visible{outline:2px solid #007663;outline-offset:3px}.edging-photo-fit{border-top:1px solid #d0dac8;margin-top:14px;padding-top:12px}.edging-photo-fit summary{cursor:pointer;font-size:12px;font-weight:600}.edging-photo-fit label{grid-template-columns:1fr auto}.edging-photo-fit input[type=range]{grid-column:1/-1;width:100%;accent-color:#006053;min-height:32px;cursor:pointer}.edging-photo-fit output{font-size:11px;color:#647363}

.planner-float{position:fixed;z-index:30;box-sizing:border-box;overflow:auto;border:1px solid #b9cbb3;border-radius:13px;background:#fbf6e8;color:#173f33;box-shadow:0 8px 35px #173f3340;padding:14px;font-family:inherit;font-size:12px}.planner-float[hidden]{display:none!important}.planner-float *{box-sizing:border-box}.planner-float>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.planner-float>header strong{font-size:14px}.planner-float>header>button{border-radius:50%;width:30px;height:30px;padding:0;font-size:21px}.planner-float p{font-size:11px;line-height:1.6;margin:8px 0}.planner-float button{font:inherit;color:inherit;border:1px solid #bdcdb5;border-radius:7px;background:#fffdf6;padding:9px 10px;cursor:pointer}.planner-float button:disabled{opacity:.45;cursor:default}.planner-float button:focus-visible,.planner-float select:focus-visible,.planner-float input:focus-visible{outline:2px solid #007663;outline-offset:2px}.planner-float label{display:grid;gap:6px;margin:12px 0;font-size:11px}.planner-float select{width:100%;min-width:0;border:1px solid #bdcdb5;border-radius:7px;padding:9px;background:#fffdf6;color:inherit;font:inherit}.planner-float input[type=range]{width:100%;accent-color:#006053;min-height:30px}.planner-float__choices{display:flex;flex-wrap:wrap;gap:6px}.planner-float__choices button{display:flex;align-items:center;gap:5px}.planner-float button[aria-pressed=true]{background:#dfe9d8;border-color:#006053}.planner-float__swatch{display:inline-block;width:17px;height:17px;border:1px solid #173f3330;border-radius:50%;flex-shrink:0}.planner-float .planner-float__primary{display:block;width:100%;background:#005b4d;color:#fff;border-color:#005b4d;margin:10px 0}.planner-float__image{display:block;width:100%;height:100px;object-fit:contain;margin:8px 0;border-radius:7px}.planner-float details{border-top:1px solid #d0dac8;padding-top:9px;margin-top:10px}.planner-float summary{font-size:11px;cursor:pointer}.planner-float details button{margin-top:8px}
@media(max-width:800px){.planner-float button{min-height:40px}.planner-float>header>button{min-height:30px}}

/* Photo setup uses the same readable controls as the space planner. */
.edging-photo__controls{font-size:14px}
.edging-photo__controls label,.edging-status,.edging-small,.edging-photo__footer{font-size:13px;line-height:1.6}
.edging-photo__controls input:not([type=checkbox]):not([type=radio]):not([type=range]),.edging-photo__controls select{font-size:16px;min-height:44px}
.edging-photo__controls legend{font-size:16px}
