*{box-sizing:border-box}html,body,#map{height:100%;width:100%;margin:0}body{font:15px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20312e}#map{position:fixed;inset:0}button,.taxi{cursor:pointer;border:0;border-radius:9px;padding:11px 14px;background:#13836c;color:white;font-weight:700;text-decoration:none;font:inherit}button:hover,.taxi:hover{filter:brightness(.94)}header{position:fixed;z-index:1000;top:16px;left:18px;right:18px;display:flex;align-items:center;pointer-events:none;gap:10px}header>*{pointer-events:auto}#menu{background:#fff;color:#127d82;border-radius:50%;width:55px;height:55px;box-shadow:0 2px 15px #0002;font-size:25px;padding:0}.brand{font-size:25px;font-weight:850;color:#075849;background:#ffffffee;border-radius:12px;padding:10px 14px;box-shadow:0 2px 12px #0001}.brand span{color:#21a57c}.headeractions{display:flex;gap:8px;margin-left:auto}.taxi{background:#087b66}#donate{background:#fff;color:#096e60;box-shadow:0 2px 12px #0002}#locate{position:fixed;z-index:1000;right:20px;bottom:26px;width:57px;height:57px;background:#fff;color:#1687bf;border:2px solid #dbeaf3;border-radius:50%;font-size:32px;box-shadow:0 2px 12px #0003;padding:0}#panel,#donation{position:fixed;z-index:1100;top:88px;left:18px;width:min(390px,calc(100vw - 36px));max-height:calc(100dvh - 110px);overflow:auto;background:white;padding:20px;border-radius:17px;box-shadow:0 5px 30px #0004}#donation{left:auto;right:18px}.panelhead,.bushead{display:flex;align-items:center;justify-content:space-between;gap:10px}.panelhead h2{margin:0 0 14px;font-size:22px}.panelhead button,.bushead button{background:transparent;color:#58625f;font-size:18px;padding:5px 9px}label{display:block;font-size:12px;color:#61716b;font-weight:700;margin:8px 0 4px}input{width:100%;min-width:0;padding:10px;border:1px solid #c7d5d0;border-radius:9px;font:inherit}.searchrow,.datebar{display:flex;gap:7px;align-items:end}.searchrow input{flex:1}.datebar{margin:15px 0;flex-wrap:wrap}.datebar label{flex:1}.datebar button{white-space:nowrap}#stopid,#status,#busmeta,#busnote{font-size:12px;color:#697570}#results{margin-top:10px;max-height:45vh;overflow:auto}.stopbtn{width:100%;text-align:left;margin:4px 0;background:#eff7f4;color:#154d40}.stopbtn small{display:block;color:#697570;margin-top:4px}.departure{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #e3ebe7}.departure .num{background:#d8f0e3;padding:10px;border-radius:8px;font-weight:800}.departure .dest{flex:1}.departure small{display:block;color:#697570}.departure .clock{font-weight:800;text-align:right}.empty{padding:15px;background:#f2f5f3;border-radius:9px;color:#566761}#buscard{position:fixed;z-index:1050;left:50%;bottom:24px;transform:translateX(-50%);width:min(540px,calc(100vw - 30px));background:#fff;border-radius:12px;box-shadow:0 5px 30px #0005;overflow:hidden}.bushead{background:#f0f0f0;padding:10px 16px;justify-content:flex-start}.bushead #closebus{margin-left:auto}.busdot{width:14px;height:14px;border-radius:50%;background:#3baf62}.busbody{padding:18px 22px}.busbody h2{margin:0;font-size:25px}.busbody p{margin:8px 0}.busbuttons{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.busbuttons button{background:#20a6a0;min-width:115px}.busbuttons button.active{background:#0e5d51}#toast{position:fixed;z-index:1300;top:90px;left:50%;transform:translateX(-50%);background:#263c37;color:#fff;border-radius:10px;padding:10px 14px;max-width:80vw;display:none}.busmarker{background:#2caf62;border:2px solid #166c3c;color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;box-shadow:0 2px 5px #0005}.leaflet-tooltip{font:inherit}#wiselink{display:inline-block;background:#16836e;color:#fff;text-decoration:none;padding:12px;border-radius:9px}[hidden]{display:none!important}@media(max-width:650px){header{top:10px;left:10px;right:10px}.brand{font-size:20px;padding:8px}.headeractions{gap:5px}.taxi,#donate{font-size:12px;padding:10px 8px}#menu{width:45px;height:45px;font-size:21px}#panel,#donation{top:auto;left:0;right:0;bottom:0;width:100%;max-height:65dvh;border-radius:20px 20px 0 0}#buscard{bottom:10px}#locate{bottom:20px;right:12px}.datebar button{width:100%}}
/* Keep the location button clear of Leaflet zoom controls. */
#locate{right:86px!important;bottom:26px!important}
@media(max-width:650px){#locate{right:86px!important;bottom:20px!important}}

/* Release 4: separate controls at every screen size. */
#locate{right:100px!important;bottom:35px!important}
.leaflet-bottom.leaflet-right{bottom:20px;right:12px}
#live-status{position:fixed;top:82px;right:18px;z-index:1000;max-width:290px;padding:8px 12px;background:white;border-radius:9px;font-size:12px;box-shadow:0 2px 12px #0002}

/* EIREGO_SHARE_V1 */
#share-app{background:#fff;color:#096e60;box-shadow:0 2px 12px #0002}#share-app:disabled{opacity:.6}@media(max-width:650px){#share-app{font-size:12px;padding:10px 8px}header{flex-wrap:wrap}.headeractions{flex-wrap:wrap;justify-content:flex-end}}


/* EIREGO_RED_FOLLOW_V1 */
.busmarker.followed-bus{
 background:#dc2626!important;border-color:#991b1b!important;color:#fff!important;
 box-shadow:0 0 0 4px rgba(220,38,38,.23),0 2px 6px #0006;
}

.leaflet-attribution-flag{display:none!important}

@media(max-width:650px){
  header{
    display:grid;
    grid-template-columns:45px 1fr;
    gap:10px;
    align-items:center;
  }
  .brand{justify-self:start}
  .headeractions{
    grid-column:1 / -1;
    margin-left:0;
    justify-content:flex-end;
    flex-wrap:wrap;
  }
  #live-status{
    top:130px;
    left:10px;
    right:10px;
    max-width:none;
  }
  #toast{
    top:auto;
    bottom:170px;
    width:calc(100vw - 40px);
    max-width:420px;
  }
}


/* eirego-fold-v1 */
#live-status{display:none!important}
.fold-button{
  background:#eef5f2!important;color:#075849!important;
  padding:6px 10px!important;margin-left:auto;
}
.folded>:not(.panelhead):not(.bushead){display:none!important}
#panel.folded,#donation.folded,#buscard.folded{
  max-height:80px!important;overflow:hidden!important;
}
#panel.folded .panelhead h2,#donation.folded .panelhead h2{margin:0}
#panel .panelhead,#donation .panelhead,#buscard .bushead{touch-action:none}
@media(max-width:650px){
  header{
    display:flex!important;flex-wrap:nowrap!important;
    top:8px!important;left:6px!important;right:6px!important;
    gap:4px!important;
  }
  #menu{width:32px;height:32px;flex-shrink:0;font-size:19px}
  .brand{font-size:16px!important;padding:7px 5px!important;white-space:nowrap}
  .headeractions{
    display:flex!important;flex-wrap:nowrap!important;
    margin-left:auto!important;gap:3px!important;
  }
  .headeractions>*{
    font-size:10px!important;padding:9px 5px!important;
    white-space:nowrap;
  }
  #panel.folded,#donation.folded{padding:12px 16px}
}
