.btn--outline{background:var(--white);color:var(--black);border-color:var(--black)}.btn--outline:hover,.btn--outline:focus-visible{background:var(--black);color:#fff}.btn--sm{padding:.55em 1.1em;font-size:.95rem}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:hover{background:var(--black);color:#fff}.btn--outline:disabled:hover{background:var(--white);color:var(--black)}.tool__steps{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px;counter-reset:step}.tool__steps li{display:flex;align-items:center;gap:12px;background:var(--bg);border-radius:var(--radius);padding:12px 16px;font-weight:500}.tool__steps span{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--black);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;font-weight:700}.planner,.preview{display:grid;gap:24px}.planner__panel,.preview__panel{background:var(--bg);border-radius:var(--radius);padding:24px;align-self:start}.planner__panel h2,.preview__panel h2{font-size:1.5rem;margin-bottom:.6em}.planner__field,.preview__field{margin-bottom:14px}.planner__field label,.preview__field label{display:block;font-weight:500;font-size:.95rem;margin-bottom:4px}.planner__field select,.preview__field select,.planner__search input{width:100%;font:inherit;padding:.7em .9em;border:1px solid #C9C9CE;border-radius:8px;background:var(--white);color:var(--ink)}.planner__field select:focus,.preview__field select:focus,.planner__search input:focus{border-color:var(--black);outline:2px solid var(--gold);outline-offset:0}.preview__field input[type="range"]{width:100%;accent-color:var(--gold-dark)}.preview__field output{font-weight:600}.planner__search{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:8px}.planner__search .btn{padding:.7em 1.2em}.planner__search [data-planner-locate]{grid-column:1 / -1}.planner__status,.preview__status{min-height:1.5em;margin:0 0 8px;font-weight:500;color:var(--gold-dark)}.planner__map{height:62vh;min-height:340px;border-radius:var(--radius);overflow:hidden;background:#1c2a1c}.planner__map.is-draw.leaflet-grab,.planner__map.is-draw .leaflet-interactive{cursor:crosshair}.planner__map.is-gate.leaflet-grab{cursor:cell}.planner__map .leaflet-marker-icon.planner__vertex{cursor:move}.planner__map .leaflet-marker-icon.planner__gate{cursor:pointer}.planner__vertex{width:18px;height:18px;border-radius:50%;background:var(--gold);border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.6)}.planner__vertex--first{background:#fff;border-color:var(--gold)}.planner__gate{width:22px;height:22px;border-radius:4px;background:#E8600A;border:3px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.6)}.planner__label{background:rgba(255,255,255,.94);color:var(--black);font:600 .85rem/24px var(--font);text-align:center;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.4);white-space:nowrap}.planner__tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.planner__modes{display:inline-flex;gap:6px}.planner__check{display:inline-flex;align-items:center;gap:6px;font-weight:500}.planner__check input{width:18px;height:18px;accent-color:var(--gold-dark)}.planner__hint,.preview__hint{margin:12px 0 0;color:var(--ink-soft);font-size:.95rem}.planner__segments{list-style:none;margin:8px 0;padding:0;max-height:220px;overflow:auto}.planner__segments li{padding:6px 0;border-bottom:1px solid var(--line)}.planner__segments:empty::before{content:"No fence drawn yet.";color:var(--ink-soft)}.planner__total{font-size:1.1rem;margin:10px 0 18px}.planner__total strong{font-size:1.5rem}.planner__actions,.preview__actions{display:grid;gap:10px}.planner__note,.preview__note{margin:18px 0 0;font-size:.85rem;color:var(--ink-soft)}.leaflet-container{font-family:var(--font)}.leaflet-container a{color:var(--ink-soft)}.preview__stage{position:relative;min-height:320px;border-radius:var(--radius);overflow:hidden;background:var(--bg);border:2px dashed #C9C9CE;display:flex;align-items:center;justify-content:center}.preview.has-photo .preview__stage{border:0;background:#000;min-height:0;display:block}.preview__stage.is-over{border-color:var(--gold);background:#fff8e1}.preview__empty{text-align:center;padding:32px 20px;max-width:520px}.preview__empty p{margin-bottom:12px}.preview__upload{position:relative;overflow:hidden;cursor:pointer}.preview__upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.preview__upload:focus-within{outline:3px solid var(--gold);outline-offset:2px}.preview__drop{color:var(--ink-soft);margin:12px 0 0}.preview__canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}.preview__tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.preview__count{font-weight:500;color:var(--ink-soft)}.preview__field-note{margin:6px 0 0;font-size:.85rem;color:var(--ink-soft)}.preview__field input[type="number"]{width:100%;font:inherit;padding:.7em .9em;border:1px solid #C9C9CE;border-radius:8px;background:var(--white);color:var(--ink)}.preview__field input[type="number"]:focus{border-color:var(--black);outline:2px solid var(--gold);outline-offset:0}.tool-promo{display:grid;gap:20px;align-items:center;background:var(--black);color:#fff;border-radius:var(--radius);padding:28px 24px}.tool-promo h2{color:#fff;margin-bottom:.3em}.tool-promo p{color:#d9d9d9;margin-bottom:0}.tool-promo .btn{background:var(--gold);color:var(--black);border-color:var(--gold);white-space:nowrap}.tool-promo .btn:hover,.tool-promo .btn:focus-visible{background:#fff;border-color:#fff}@media (min-width:700px){.tool__steps{grid-template-columns:repeat(2,1fr)}.planner__search{grid-template-columns:1fr auto auto}.planner__search [data-planner-locate]{grid-column:auto}.tool-promo{grid-template-columns:1fr auto;padding:32px 36px}}@media (min-width:1000px){.tool__steps{grid-template-columns:repeat(4,1fr)}.planner,.preview{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}}