:root{--ink:#183332;--muted:#71827d;--green:#167557;--line:#e0e7e2;--paper:#f5f7f2;--white:#fff;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #e9b75f;outline-offset:3px}header{height:90px;background:var(--white);border-bottom:1px solid var(--line);padding:0 4%;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:13px;align-items:center;color:var(--ink);font-weight:750;text-decoration:none;font-size:20px;letter-spacing:-.6px}.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.5px;color:var(--muted);margin-top:4px}.brand-icon{background:var(--green);color:white;border-radius:14px;width:42px;height:42px;display:grid;place-items:center;font-size:30px}.admin-label,.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:var(--green)}.admin-label{padding:9px 14px;background:#edf4ee;border-radius:30px}.account{display:flex;gap:20px;align-items:center;font-size:12px;color:var(--muted)}.account form{margin:0}.secondary,.text-button{border:1px solid var(--line);background:white;border-radius:8px;padding:10px 14px;color:var(--ink)}.text-button{border:0;background:transparent}.primary{background:var(--green);color:white;border:0;border-radius:9px;padding:15px 20px;font-weight:650;width:100%;display:flex;justify-content:space-between;align-items:center}.primary:hover{background:#0c6045}.primary:disabled{opacity:.6;cursor:wait}.login-layout{max-width:1200px;margin:9vh auto;display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center;padding:35px}.intro h1{font-size:clamp(32px,4vw,52px);letter-spacing:-2px;line-height:1.16;font-weight:600;margin:24px 0}.intro>p:not(.eyebrow){font-size:17px;line-height:1.8;color:var(--muted);max-width:430px}.intro-tags{display:flex;gap:18px;font-size:12px;color:var(--green);margin-top:35px;flex-wrap:wrap}.login-card{padding:40px;background:white;border:1px solid var(--line);border-radius:18px;box-shadow:0 15px 55px #18333208}.login-card h2{font-size:27px;font-weight:600;margin-bottom:12px;letter-spacing:-.6px}.login-card p{color:var(--muted);line-height:1.6;font-size:14px}.login-card>small{display:block;color:var(--muted);font-size:11px;margin-top:25px;line-height:1.6}label{display:block;font-size:13px;font-weight:600;margin:24px 0}input:not([type=checkbox]){display:block;width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fcfdfb;margin-top:9px;color:var(--ink)}.error{background:#fff0ed;padding:12px;border-radius:8px;color:#9d392a!important}#dashboard{padding:30px 4% 15px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-heading .eyebrow{margin:5px 0 12px}.page-heading h1{font-size:34px;font-weight:600;letter-spacing:-1px;margin:0 0 9px}.page-heading p:last-child{color:var(--muted);font-size:13px;margin:0}.sync{display:flex;align-items:center;gap:8px;font-size:11px;max-width:350px;line-height:1.6}#sync-light{background:#c4cfca;width:7px;height:7px;border-radius:50%;flex-shrink:0}#sync-light.live{background:#27886a;box-shadow:0 0 0 4px #27886a12}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);height:calc(100vh - 275px);min-height:460px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:white;box-shadow:0 10px 35px #18333205}.runners{display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:0}.list-heading{padding:24px 23px 0}.list-heading h2{font-size:17px;font-weight:600;margin:0 0 7px}.list-heading h2 span{font-size:11px;background:#eef4ef;color:var(--green);padding:3px 7px;border-radius:20px;margin-left:5px}.list-heading>span{font-size:11px;color:var(--muted)}.search{margin:16px 20px;font-weight:400}.search input{font-size:12px;padding:11px}#runner-list{overflow:auto;flex:1}.runner{width:100%;display:flex;align-items:flex-start;gap:12px;text-align:left;border:0;border-top:1px solid #edf1ed;background:white;padding:18px 22px;color:var(--ink)}.runner:hover{background:#f4f8f4}.avatar{flex-shrink:0;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-size:11px;color:var(--green);background:#edf4ef;font-weight:650}.runner-text{min-width:0;flex:1}.runner strong{display:block;font-size:13px;font-weight:600;overflow-wrap:anywhere}.runner small{display:block;font-size:10px;color:var(--muted);margin-top:5px;line-height:1.5}.runner-message{font-size:12px;color:var(--green);margin:8px 0 0;overflow-wrap:anywhere}.list-foot{border-top:1px solid var(--line);padding:15px 20px;font-size:10px;color:var(--muted)}.map-panel{position:relative;min-height:350px}#map{width:100%;height:100%;background:#e5ebe2}.map-button{position:absolute;z-index:500;top:18px;right:18px;border:1px solid var(--line);background:white;padding:12px 16px;border-radius:8px;color:var(--ink);box-shadow:0 3px 12px #0001;font-size:12px}.map-caption{position:absolute;z-index:500;bottom:28px;left:18px;background:#ffffffed;padding:10px 13px;border-radius:7px;font-size:10px;max-width:80%}.legend-dot{display:inline-block;border-radius:50%;width:7px;height:7px;background:var(--green);margin-right:6px}.footnote{font-size:10px;color:var(--muted);margin-top:17px}.empty{padding:20px;color:var(--muted);font-size:12px;line-height:1.7}.pin-icon{background:transparent;border:0}.drop{width:25px;height:25px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--green);border:2px solid white;box-shadow:-2px 2px 7px #0004;display:grid;place-items:center}.drop:after{content:"";width:6px;height:6px;background:white;border-radius:50%}.leaflet-tooltip.person-label{border:0;background:white;border-radius:7px;padding:8px 12px;box-shadow:0 3px 14px #18333220;color:var(--ink);max-width:260px;white-space:normal}.person-name{font-size:12px;font-weight:650;display:block}.speech{display:block;border-top:1px solid #dde5df;margin-top:6px;padding-top:7px;line-height:1.5;font-size:12px;overflow-wrap:anywhere;max-height:160px;overflow:auto;color:#285f4e}.speech small{display:block;font-size:9px;color:var(--muted);margin-top:4px}dialog{width:min(520px,92vw);border:1px solid var(--line);border-radius:16px;padding:30px;color:var(--ink);box-shadow:0 25px 100px #0002}dialog::backdrop{background:#18333266}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start}.dialog-heading h2{font-size:25px;font-weight:600;margin:8px 0}.dialog-heading .eyebrow{margin:0}.toggle{display:flex;align-items:flex-start;gap:12px;line-height:1.6}.toggle input{accent-color:var(--green);margin-top:4px;width:17px;height:17px}label small{display:block;font-size:11px;font-weight:400;color:var(--muted);line-height:1.7;margin-top:6px}#settings-status{font-size:12px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:900px){.account>span{display:none}.workspace{grid-template-columns:245px minmax(0,1fr)}.login-layout{gap:35px;padding:25px}.intro h1{font-size:37px}.login-card{padding:28px}}@media(max-width:650px){header{height:76px}.brand{font-size:17px}.brand-icon{width:35px;height:35px}.account{gap:3px}.account button{font-size:11px;padding:8px}.login-layout{grid-template-columns:1fr;margin:20px auto;gap:25px}.intro h1{font-size:34px}.intro-tags{margin-top:15px}.intro>p:not(.eyebrow){font-size:14px}.page-heading{align-items:flex-start;flex-direction:column;gap:14px}.page-heading h1{font-size:28px}.workspace{display:flex;flex-direction:column-reverse;height:auto;min-height:0}.map-panel{height:55vh;min-height:350px}.runners{border:0;max-height:390px}#dashboard{padding-top:20px}.map-caption{bottom:25px;left:10px}.map-button{font-size:11px;padding:10px}.footnote{line-height:1.7}}
.leaflet-tooltip.person-label{width:max-content;max-width:260px;min-width:90px}.speech{min-width:180px;max-width:230px}@media(max-width:650px){.leaflet-tooltip.person-label{max-width:210px}.speech{min-width:160px;max-width:185px}}
.login-link{text-decoration:none;font-size:12px}.login-description{font-size:13px;color:var(--muted);line-height:1.7}
