*{box-sizing:border-box}body{margin:0;font-family:Arial,system-ui;background:#f3f7f4;color:#17221d}header{height:68px;background:#10251b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 22px}.brand{display:flex;gap:10px;align-items:center;font-size:20px}.brand small{display:block;font-size:11px;opacity:.7}header button{background:#d9f44a;border:0;border-radius:8px;padding:10px 14px;font-weight:bold}main{display:grid;grid-template-columns:280px 1fr 230px;height:calc(100vh - 68px)}aside{background:#fff;padding:18px;border-right:1px solid #dce5df}.right{border-right:0;border-left:1px solid #dce5df}h4{font-size:11px;letter-spacing:.12em;color:#718078;margin:4px 0 12px}label{display:block;font-size:12px;color:#59675f;margin:10px 0}input,select{display:block;width:100%;padding:10px;margin-top:5px;border:1px solid #d8e0db;border-radius:8px}aside button{width:100%;margin:5px 0;padding:10px;border:0;border-radius:8px;background:#183d29;color:#fff;font-weight:bold}.note{font-size:10px;color:#7a887f;line-height:1.4}.right p{display:flex;justify-content:space-between;border-bottom:1px solid #edf1ee;padding:10px 0;font-size:12px}.right b{font-size:13px}section{background:#e8eee9;min-width:0}nav{height:58px;background:#fff;border-bottom:1px solid #dce5df;display:flex;justify-content:space-between;align-items:center;padding:0 16px}.tab{width:auto!important;background:transparent;color:#66756c;border:0}.tab.active{background:#eaf3ec;color:#183d29}.view{display:none;height:calc(100% - 58px);padding:16px;position:relative}.view.active{display:block}#map,#canvas{width:100%;height:100%;min-height:500px;border-radius:14px;overflow:hidden}#map{background:linear-gradient(135deg,#c9d8c4,#a9c2a7);position:relative}#fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#506058}#fallback span{font-size:12px}#readout,.overlay{position:absolute;background:#fffffff0;padding:10px;border-radius:8px;box-shadow:0 2px 10px #0002;font-size:11px}.overlay{top:28px;left:28px}.overlay span{display:block;color:#718078;margin-top:3px}.overlay{z-index:2}.view canvas{display:block} @media(max-width:950px){main{grid-template-columns:230px 1fr}.right{display:none}}@media(max-width:650px){main{display:block;height:auto}.workspace{height:650px}aside{border:0;border-bottom:1px solid #ddd}section{height:650px}}
