/* MinaTruck mobile-first shell. Map fills the screen; UI floats in sheets. */
:root{--bg:#14202e;--fg:#fff;--acc:#1e6bff;--sa-t:env(safe-area-inset-top);--sa-b:env(safe-area-inset-bottom);--sa-l:env(safe-area-inset-left);--sa-r:env(safe-area-inset-right)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;font-family:system-ui,-apple-system,Roboto,sans-serif;background:var(--bg);touch-action:manipulation}
button{font:inherit;cursor:pointer;border:0;border-radius:12px;min-height:44px;padding:0 14px;background:#e8edf5;color:#14202e;font-weight:600}
#appbar{position:fixed;top:0;left:0;right:0;z-index:1200;display:flex;align-items:center;gap:8px;padding:calc(6px + var(--sa-t)) calc(10px + var(--sa-r)) 6px calc(12px + var(--sa-l));background:var(--bg);color:var(--fg);height:calc(52px + var(--sa-t))}
.brand{font-size:19px;letter-spacing:.3px}.chip{flex:1;font-size:12px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon{background:#24364b;color:#ffcc00;min-width:44px;padding:0;font-size:20px}#install{color:#fff}
#warn{position:fixed;z-index:1150;left:0;right:0;top:calc(52px + var(--sa-t));background:#ffcc00;color:#000;font-weight:700;font-size:13px;padding:8px 44px 8px 12px;transform:translateY(-120%);transition:transform .25s}
#warn.open{transform:none}#warnx{position:absolute;right:4px;top:2px;background:none;min-height:36px}
#map{position:fixed;top:calc(52px + var(--sa-t));bottom:0;left:0;right:0}
#navcard{position:fixed;z-index:1100;top:calc(60px + var(--sa-t));left:calc(8px + var(--sa-l));right:calc(8px + var(--sa-r));background:#0d5c3a;color:#fff;border-radius:16px;padding:10px 14px;box-shadow:0 4px 16px #0006}
#nvdist{font-size:28px;font-weight:800}#nvtext{font-size:18px;font-weight:600;line-height:1.2}#nvsub{font-size:13px;opacity:.85}
#stepsbtn{position:absolute;right:10px;top:10px;background:#ffffff26;color:#fff;min-height:36px}
#fabs{position:fixed;z-index:1050;right:calc(10px + var(--sa-r));top:50%;display:flex;flex-direction:column;gap:10px}
.fab{width:52px;height:52px;border-radius:50%;background:#fff;font-size:22px;box-shadow:0 2px 10px #0005;padding:0}
#bcap{position:fixed;z-index:1000;left:calc(6px + var(--sa-l));top:calc(190px + var(--sa-t));max-width:60%;background:#fffe;font-size:11px;padding:3px 6px;border:1px solid #c00;border-radius:6px}
.sheet{position:fixed;z-index:1300;left:0;right:0;bottom:0;background:#fff;border-radius:20px 20px 0 0;box-shadow:0 -4px 20px #0005;padding:6px calc(14px + var(--sa-r)) calc(12px + var(--sa-b)) calc(14px + var(--sa-l));max-height:78vh;overflow:auto;transition:transform .25s}
#turns,#layersheet{transform:translateY(105%);z-index:1400}#turns.open,#layersheet.open{transform:none}
.sheet.full{max-height:70vh}
.grab{width:44px;height:5px;border-radius:3px;background:#bbb;margin:4px auto 8px}
#summary{font-weight:700;font-size:15px;padding:4px 0 8px;color:#14202e}
#sheet.collapsed #form{display:none}
label{display:block;font-size:12px;color:#556;margin-bottom:8px}
input,select{display:block;width:100%;font-size:16px;min-height:46px;padding:8px 12px;border:1px solid #ccd;border-radius:12px;margin-top:3px;background:#f7f9fc}
.row{display:flex;gap:8px}.row label:first-child{flex:0 0 32%}.row label{flex:1}
#resolved{font-size:12px;color:#357;margin-bottom:6px}
.primary{width:100%;min-height:54px;background:var(--acc);color:#fff;font-size:18px;margin-bottom:10px}
.actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.actions button{min-height:54px;font-size:15px}
#nav{font-size:13px;color:#245;min-height:18px;margin-top:6px}.eld{font-size:11px;color:#777;margin:6px 0 0}
.sh{display:flex;align-items:center;justify-content:space-between;padding:6px 0 10px;position:sticky;top:-6px;background:#fff}
.close{min-width:44px;padding:0}
#tlist .m{padding:12px 6px;border-bottom:1px solid #eee;font-size:15px}#tlist .m.cur{background:#dfe9ff;font-weight:700;border-radius:8px}
.lyr{display:flex;align-items:center;gap:10px;font-size:16px;color:#123;min-height:48px;border-bottom:1px solid #eee;margin:0}
.lyr input{width:24px;height:24px;min-height:0;margin:0}
#installhint{position:fixed;z-index:1500;left:10px;right:10px;bottom:calc(10px + var(--sa-b));background:#14202e;color:#fff;padding:12px 50px 12px 12px;border-radius:14px;font-size:13px}
#installhint button{position:absolute;right:6px;top:6px;background:none;color:#fff}
.leaflet-control-zoom{display:none}
@media (min-width:900px){.sheet{left:12px;right:auto;width:400px;bottom:12px;border-radius:20px}#navcard{width:420px;left:auto}}
