:root{font-family:Arial,Helvetica,sans-serif;background:#f4f7f5;color:#18251e}*{box-sizing:border-box}body{margin:0}header{background:#fff;border-bottom:1px solid #dfe7e1;padding:18px 5%;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0}.brand{font-weight:800;font-size:20px}.brand span{font-weight:500;margin-left:8px}nav a{margin-left:20px;text-decoration:none;color:#223a2c}main{max-width:1180px;margin:36px auto;padding:0 20px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;padding:60px 0}.hero h1{font-size:46px;line-height:1.05;margin:0 0 18px}.btn,button{background:#1d6b42;color:#fff;border:0;border-radius:9px;padding:12px 18px;text-decoration:none;cursor:pointer}.card{background:#fff;border:1px solid #dde7df;border-radius:14px;padding:22px;margin:18px 0;box-shadow:0 4px 16px rgba(0,0,0,.04)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gridform{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:#fff;padding:24px;border-radius:14px;border:1px solid #dde7df}.gridform label{display:flex;flex-direction:column;gap:7px;font-weight:600}.gridform input,.gridform select,.gridform textarea,.inline input{padding:11px;border:1px solid #cbd8cf;border-radius:8px;font:inherit}.gridform small{font-weight:400;color:#68756d}.full{grid-column:1/-1}.tablewrap{overflow:auto;background:#fff;border-radius:12px;border:1px solid #dde7df}table{border-collapse:collapse;width:100%}th,td{padding:13px;border-bottom:1px solid #edf1ee;text-align:left}.inline{display:flex;gap:8px;flex-wrap:wrap}.notice{padding:18px;border-radius:10px;background:#fff7dd;border:1px solid #ead89d}pre{white-space:pre-wrap;font-size:12px}footer{text-align:center;padding:30px;color:#738078}@media(max-width:800px){header{display:block}nav{margin-top:12px}nav a{margin:0 12px 0 0}.hero,.cards,.gridform{grid-template-columns:1fr}.hero h1{font-size:36px}}
.muted{color:#6b7970}.small{font-size:12px}.secondary{background:#e9f0eb;color:#214b33}.danger{background:#8b2f2f!important}.editor-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.editor-layout{display:grid;grid-template-columns:220px minmax(0,1fr) 250px;gap:14px;align-items:start}.toolbox,.inspector{margin:0;position:sticky;top:88px}.toolbox label{display:flex;flex-direction:column;gap:5px;margin:10px 0;font-size:13px;font-weight:700}.toolbox input,.toolbox select{padding:8px;border:1px solid #cbd8cf;border-radius:7px;width:100%}.tool{display:block;width:100%;text-align:left;margin:7px 0;background:#edf3ef;color:#23442f}.tool.active{background:#1d6b42;color:white}.workspace-card{background:#fff;border:1px solid #dce6df;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.04)}.workspace-toolbar{padding:10px 14px;border-bottom:1px solid #e4ebe6;display:flex;justify-content:space-between;font-size:13px}.workspace{position:relative;aspect-ratio:3/2;background:linear-gradient(#fafcfb 1px,transparent 1px),linear-gradient(90deg,#fafcfb 1px,transparent 1px);background-size:20px 20px;overflow:hidden}.workspace>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.45;pointer-events:none}.workspace svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;cursor:crosshair}.pdf-reference{position:absolute;inset:0;z-index:0;opacity:.2;pointer-events:none}.pdf-reference object{width:100%;height:100%}.boundary-node{fill:#fff;stroke:#1e623c;stroke-width:3}.sprinkler-head{fill:#fff;stroke:#0b4d8d;stroke-width:4}.spray{stroke:#2487c9;stroke-width:1.5;fill:#3498db;fill-opacity:.13}.spr-label{font-size:14px;font-weight:700;fill:#17384f;paint-order:stroke;stroke:#fff;stroke-width:3}.object-row{padding:8px;border-bottom:1px solid #edf1ee;font-size:12px;cursor:pointer}.object-row.selected{background:#eaf4ee}.inspector hr,.toolbox hr{border:0;border-top:1px solid #e4ebe6;margin:16px 0}@media(max-width:1100px){.editor-layout{grid-template-columns:180px 1fr}.inspector{grid-column:1/-1;position:static}}@media(max-width:760px){.editor-layout{grid-template-columns:1fr}.toolbox{position:static}.editor-head{align-items:flex-start;flex-direction:column}.workspace{min-height:480px;aspect-ratio:auto}}
.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.update-card{max-width:850px}.upload-box{display:block;border:2px dashed #94a3b8;border-radius:12px;padding:18px;margin:16px 0;background:#f8fafc}.upload-box input{display:block;margin-top:10px}.alert{padding:12px 14px;border-radius:10px;margin:14px 0}.alert.error{background:#fee2e2;color:#991b1b}.alert.warn{background:#fef3c7;color:#92400e}.version-arrow{display:flex;align-items:center;gap:18px;font-size:1.25rem;margin:10px 0 18px}.version-arrow span{padding:10px 14px;background:#eef2ff;border-radius:10px}.btn.secondary{background:#64748b;text-decoration:none;display:inline-block}.muted{color:#64748b;margin-top:12px}code{background:#f1f5f9;padding:2px 5px;border-radius:5px}
.spray.z1{fill:#3498db;stroke:#2487c9}.spray.z2{fill:#56b870;stroke:#2e8b57}.spray.z3{fill:#e8a84c;stroke:#c77f20}.spray.z4{fill:#9b7bd3;stroke:#7251b5}.spray.z5{fill:#e97878;stroke:#bf4e4e}.spray.z6{fill:#5ebbc1;stroke:#328d93}.spray.z7{fill:#b7a45b;stroke:#8f7d36}.spray.z0{fill:#8c9aa3;stroke:#607079}
.coverage-overlay{opacity:.34}.coverage-cell{stroke:none}.coverage-cell.c0{fill:#d64040}.coverage-cell.c1{fill:#e3a72f}.coverage-cell.c2{fill:#45a96b}.coverage-legend{display:flex;gap:6px;margin:8px 0 4px}.coverage-legend span{padding:4px 8px;border-radius:6px;font-size:11px;font-weight:700;color:#fff}.coverage-legend .cov0{background:#d64040}.coverage-legend .cov1{background:#e3a72f}.coverage-legend .cov2{background:#45a96b}

.coverage-cell.out{fill:rgba(128,72,170,.28);stroke:rgba(128,72,170,.42);stroke-width:.5}.coverage-legend .cov-out{background:#e6d6f1;color:#5b2b78;padding:3px 7px;border-radius:6px}

/* V0.11.2 – külön húzható bal/jobb szórási határ */
.angle-guide{stroke:#1267a8;stroke-width:2;stroke-dasharray:5 4;pointer-events:none}
.angle-handle{fill:#fff;stroke:#1267a8;stroke-width:4;cursor:crosshair;pointer-events:all}
.angle-handle:hover{r:12}
.left-angle-handle{stroke:#0a75bd}.right-angle-handle{stroke:#155b8a}
/* V0.11.3 – nyomvonal + zoom/pan */
.zoom-controls{align-items:center}.zoom-controls button{padding:5px 10px}.zoom-controls label{align-items:center;font-size:12px}
.main-pipe{fill:none;stroke:#174d32;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:10 4;opacity:.88}
.branch-pipe{stroke:#4f765f;stroke-width:3;stroke-linecap:round;opacity:.9}.feed-point{fill:#fff;stroke:#111;stroke-width:4}.feed-label{font-size:13px;font-weight:800;fill:#111;paint-order:stroke;stroke:#fff;stroke-width:3}

/* V0.11.4 – Hunter MP Rotator valós fúvókaszínek */
.sprinkler-head-canister{vector-effect:non-scaling-stroke}.sprinkler-head-nozzle{vector-effect:non-scaling-stroke}.nozzle-swatch{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #333;vertical-align:-1px;margin-right:6px}
.route-section{border-top:1px solid #dfe7e2;padding:14px;background:#fbfdfc}.route-title{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}.route-title h3{margin:0 0 4px}.route-workspace{border:1px solid #d8e3dc;border-radius:10px;background-color:#fff;min-height:420px}.route-workspace svg{z-index:2}.route-legend{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.route-legend-item{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;background:#fff;border:1px solid #dbe5df;border-radius:999px;padding:5px 8px}.route-legend-item i{display:inline-block;width:22px;height:5px;border-radius:4px}.route-head-label{font-size:12px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3}.route-workspace .feed-label{font-size:13px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3}
.route-actions{margin-top:8px;justify-content:flex-end}.route-actions .active{outline:3px solid rgba(40,135,201,.22)}.route-node{cursor:grab}.route-node:active{cursor:grabbing}.route-trunk-hit{cursor:crosshair;pointer-events:stroke}

.navbtn{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;padding:.35rem .5rem}.login-card{max-width:430px;margin:50px auto}.route-stats{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.route-stat{background:#f5f7f6;border-left:5px solid #777;padding:7px 10px;border-radius:5px}.grid-line{stroke:#d7ded9;stroke-width:.7}.route-dim{font-size:12px;font-weight:700}.warning{color:#8a3b00}.print-page{padding:24px}/* V0.13.7 – ügyfél tervező és méretezhető tereptárgyak */
.customer-editor-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 250px;gap:14px;align-items:start}.customer-plan-wrap{position:relative;aspect-ratio:3/2;min-height:430px;background:#fff;overflow:hidden;border-top:1px solid #e5ece7}.customer-plan-wrap svg{position:absolute;inset:0;width:100%;height:100%;cursor:crosshair}.cust-label{font-size:13px;font-weight:800;fill:#223;paint-order:stroke;stroke:#fff;stroke-width:3}.site-object{cursor:move}.resize-handle{fill:#fff;stroke:#0a75bd;stroke-width:4;cursor:nwse-resize}.dimension-line{stroke:#284f67;stroke-width:1.4;stroke-dasharray:4 3}.dimension-text{font-size:12px;font-weight:800;fill:#284f67;paint-order:stroke;stroke:#fff;stroke-width:3}.supply-line{stroke:#155e9a;stroke-width:5;stroke-dasharray:12 6}.cable-line{stroke:#222;stroke-width:3;stroke-dasharray:4 5}.socket-line{stroke:#00a6a6;stroke-width:3;stroke-dasharray:8 5}.inspector label{display:flex;flex-direction:column;gap:4px;margin:10px 0;font-size:13px;font-weight:700}.inspector input{padding:8px;border:1px solid #cbd8cf;border-radius:7px;width:100%}@media(max-width:1100px){.customer-editor-layout{grid-template-columns:180px 1fr}.customer-editor-layout>.inspector{grid-column:1/-1}}@media(max-width:760px){.customer-editor-layout{grid-template-columns:1fr}.customer-editor-layout>.toolbox{position:static}}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:8px}.perm-check{display:flex!important;flex-direction:row!important;align-items:center;gap:8px!important;padding:8px;border:1px solid #e2e8e4;border-radius:8px;background:#fafcfb}.perm-check input{width:auto!important}@media(max-width:850px){.permission-grid{grid-template-columns:1fr}}

.route-validation{margin:8px 0;padding:9px 11px;border:1px solid #c9d5cf;border-radius:8px;background:#f8fbf9;font-size:13px}.route-validation.bad{border-color:#d88989;background:#fff4f4}.route-validation.good{border-color:#8fc7a1;background:#f2fbf5}.route-toggle{display:inline-flex;gap:6px;align-items:center;margin:5px 12px 8px 0;font-size:13px}.route-warning-seg{stroke:#d61f1f!important;stroke-width:10!important;stroke-dasharray:5 4}.route-obstacle-warning{fill:#d61f1f;font-weight:700;font-size:13px}.route-dimension{font-size:11px;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.route-internal-branch{stroke-dasharray:5 4}.route-locked{opacity:.82}

/* V0.16.0 - tereptárgy takarás */
.coverage-cell.shadow,.spray-shadow-cell{fill:rgba(70,70,70,.48);stroke:rgba(20,20,20,.28);stroke-width:.6}
.coverage-cell.excluded{fill:rgba(130,70,160,.32);stroke:rgba(90,40,120,.25);stroke-width:.5}
.admin-site-object{stroke-width:3;fill-opacity:.20}
.admin-site-object.tree{fill:#5fae67;stroke:#2f7c39}.admin-site-object.bush{fill:#3f8f4b;stroke:#236a31}
.admin-site-object.pool_circle,.admin-site-object.pool_rect,.admin-site-object.pool_oval{fill:#5fc3e8;stroke:#278fb8}
.admin-site-object.house{fill:#b59a81;stroke:#756454}.admin-site-object.terrace{fill:#c6b9a3;stroke:#756454}
.site-object-label{font-size:12px;font-weight:800;fill:#25352d;paint-order:stroke;stroke:#fff;stroke-width:3}

/* V0.16.2 - azonnali ügyfélfolyamat */
.workflow-notice{margin:0 0 14px;border-left:5px solid #3a8f5d}
.btn.success{font-weight:800}
#finalizeBtn.done{opacity:.75}

/* V0.16.3 - feltöltött rajz automatikus felismerése */
.drawing-preview{pointer-events:none;filter:grayscale(1)}
.drawing-scale-card{margin:0 0 14px;border-left:5px solid #d79a28}
.drawing-scale-card .inline{align-items:end;gap:10px;margin-top:10px}

.workspace #planSvg{touch-action:none}
