*{box-sizing:border-box}body{margin:0;font:16px system-ui,sans-serif;color:#1d2a20}
.screen{display:flex;height:100vh;align-items:center;justify-content:center;background:#1f5130}
.card{background:#fff;padding:24px;border-radius:12px;width:min(92vw,360px);display:flex;flex-direction:column;gap:10px}
input,select,textarea{font-size:16px;padding:10px;border:1px solid #bbb;border-radius:8px;width:100%}
button{font-size:15px;padding:8px 12px;border-radius:8px;border:1px solid #888;background:#fff;cursor:pointer}
.big{min-height:48px;min-width:48px;font-size:16px;font-weight:600}.ok{background:#2e7d32;color:#fff}.no{background:#b71c1c;color:#fff}
header{position:fixed;top:0;left:0;right:0;height:48px;background:#1f5130;color:#fff;display:flex;gap:8px;align-items:center;padding:0 8px;z-index:1000}
header span#who{flex:1;font-size:13px;opacity:.85}.pill{font-size:12px;padding:2px 8px;border-radius:10px;background:#4caf50}.pill.off{background:#e65100}
#map{position:fixed;top:48px;bottom:0;left:0;right:0}
#tools{position:fixed;left:8px;top:58px;z-index:900;display:flex;flex-direction:column;gap:6px}
#tools button{box-shadow:0 1px 4px #0006}
#hud{position:fixed;top:58px;left:50%;transform:translateX(-50%);z-index:950;background:#000c;color:#fff;padding:8px 14px;border-radius:10px;font-weight:700;font-size:17px}
#gpsbar,#drawbar{position:fixed;left:0;right:0;bottom:0;z-index:960;background:#fff;padding:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;box-shadow:0 -2px 8px #0005}
#gpsinfo{width:100%;font-weight:600}
#panel{position:fixed;right:0;top:48px;bottom:0;width:min(100vw,440px);background:#fff;z-index:1001;overflow:auto;padding:14px;box-shadow:-2px 0 10px #0005}
.x{float:right}.err{color:#b71c1c}.warn{background:#fff3cd;border:1px solid #e0b100;padding:6px;border-radius:6px;font-size:13px}
.log{border-left:4px solid #1f5130;padding:6px 8px;margin:6px 0;background:#f5f7f4}.log small{color:#555}.log.spray{border-color:#c62828}.log.harvest{border-color:#ef6c00}.log.irrigation{border-color:#1565c0}
.log img{max-width:100%;border-radius:6px}
table{border-collapse:collapse;width:100%;font-size:14px}td,th{border:1px solid #ccc;padding:6px;text-align:center}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 10px}.hidden-note{color:#888;font-style:italic}
dialog{width:min(94vw,440px);border-radius:12px}dialog form{display:flex;flex-direction:column;gap:8px}
.blue-dot{width:18px;height:18px;border-radius:50%;background:#1e88e5;border:3px solid #fff;box-shadow:0 0 6px #1e88e5}
.flabel{background:none;border:none;box-shadow:none;color:#fff;font-weight:700;text-shadow:0 0 3px #000}
#adminView{padding:60px 12px 20px;max-width:1000px;margin:auto}
@media(max-width:600px){#tools{flex-direction:row;flex-wrap:wrap;top:auto;bottom:8px;left:8px;right:8px}#tools button{flex:1 1 30%}}
[hidden]{display:none!important}
@media(max-width:600px){header span#who{display:none}}
