.epbr-app{font-family:system-ui,-apple-system,Segoe UI,sans-serif;max-width:1100px;margin:24px auto;padding:22px;border:1px solid #e2e8f0;border-radius:18px;background:#fff;color:#172033;box-shadow:0 12px 35px rgba(15,23,42,.07)}.epbr-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.epbr-kicker{font-size:12px;letter-spacing:.15em;font-weight:800;color:#0f766e}.epbr-head h2{font-size:clamp(24px,4vw,34px);margin:4px 0;color:#0f172a}.epbr-head p{margin:0 0 14px;color:#64748b}.epbr-gps,.epbr-form button{border:0;border-radius:10px;background:#0f766e;color:white;padding:12px 16px;font-weight:700;cursor:pointer}.epbr-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.epbr-form label{font-size:13px;font-weight:700;display:block}.epbr-form input{display:block;box-sizing:border-box;width:100%;margin-top:6px;border:1px solid #cbd5e1;border-radius:9px;padding:12px;font:inherit}.epbr-form button{min-height:44px}.epbr-app #epbr-status{font-size:13px;color:#64748b;margin:12px 0}.epbr-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:14px 0}.epbr-route-card{border:1px solid #dbe4ea;border-radius:12px;padding:14px;background:#f8fafc}.epbr-route-card h3{font-size:17px;margin:0 0 6px}.epbr-route-card p{margin:5px 0;font-size:13px}.epbr-pill{display:inline-block;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:800;background:#fef3c7;color:#92400e}.epbr-pill.verified{background:#dcfce7;color:#166534}.epbr-app #epbr-map{height:390px;width:100%;border-radius:14px;z-index:0;background:#e2e8f0}.epbr-actions{margin:14px 0}.epbr-actions a{display:inline-block;background:#1d4ed8;color:white!important;text-decoration:none;padding:11px 15px;border-radius:9px;font-weight:700}.epbr-note{font-size:12px;color:#64748b;line-height:1.5}.epbr-empty{padding:14px;background:#fff7ed;border-radius:10px;color:#9a3412}@media(max-width:700px){.epbr-app{padding:14px}.epbr-head{align-items:flex-start;flex-direction:column}.epbr-form{grid-template-columns:1fr}.epbr-app #epbr-map{height:300px}}
.epbr-transfer{font-weight:800;color:#0f766e;background:#ccfbf1;border-radius:6px;padding:6px 8px}.epbr-gps:focus,.epbr-form button:focus,.epbr-actions a:focus{outline:3px solid #99f6e4;outline-offset:2px}

.epbr-nearby-section{margin:18px 0}.epbr-nearby-section h3{font-size:20px;margin:0 0 5px}.epbr-nearby-help,.epbr-muted{font-size:13px;color:#64748b}.epbr-nearby{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-top:10px}.epbr-stop-card{border:1px solid #cbd5e1;background:#f8fafc;border-radius:12px;padding:13px}.epbr-stop-title{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.epbr-stop-title strong{font-size:15px}.epbr-distance{font-size:12px;white-space:nowrap;background:#e0f2fe;color:#075985;padding:3px 7px;border-radius:99px}.epbr-stop-buses{font-size:13px;line-height:1.5;color:#334155}.epbr-stop-actions{display:flex;gap:8px;align-items:center}.epbr-stop-actions button{border:0;border-radius:7px;background:#0f766e;color:#fff;padding:8px 11px;font-weight:700;cursor:pointer}.epbr-stop-actions a{font-size:13px;color:#1d4ed8;text-decoration:underline}@media(max-width:700px){.epbr-nearby{grid-template-columns:1fr}}

/* Searchable exam-centre combo box */
.epbr-combo{position:relative;margin-top:6px}.epbr-combo input{margin-top:0;padding-right:44px}.epbr-combo-toggle{position:absolute;right:4px;top:4px;bottom:4px;width:36px;min-height:0!important;padding:0!important;border-radius:7px!important;background:#f1f5f9!important;color:#334155!important;border:1px solid #cbd5e1!important}.epbr-combo-options{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:270px;overflow-y:auto;z-index:1000;background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 12px 28px rgba(15,23,42,.16);padding:5px}.epbr-combo-options[hidden]{display:none}.epbr-combo-option{display:flex!important;flex-direction:column;align-items:flex-start;width:100%;text-align:left;background:#fff!important;color:#172033!important;border:0!important;border-radius:7px!important;padding:9px 10px!important;min-height:0!important;cursor:pointer;font-weight:400!important}.epbr-combo-option strong{font-size:13px}.epbr-combo-option small{font-size:11px;color:#64748b;margin-top:2px}.epbr-combo-option:hover,.epbr-combo-option.is-active{background:#ecfeff!important}.epbr-combo-empty{padding:12px;font-size:12px;color:#64748b}

.epbr-suggest-panel{margin:14px 0;padding:16px;border:1px dashed #94a3b8;border-radius:12px;background:#f8fafc}.epbr-suggest-panel[hidden]{display:none}.epbr-suggest-panel h3{margin:0 0 6px;font-size:17px}.epbr-suggest-panel p{font-size:13px;color:#475569}.epbr-suggest-panel form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.epbr-suggest-panel label{font-size:13px;font-weight:700}.epbr-suggest-panel input{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.epbr-suggest-panel label:nth-of-type(3),.epbr-suggest-panel button,.epbr-suggest-panel #epbr-suggest-status{grid-column:1/-1}.epbr-suggest-panel button{justify-self:start;border:0;border-radius:8px;padding:11px 14px;background:#0f766e;color:#fff;font-weight:700;cursor:pointer}@media(max-width:700px){.epbr-suggest-panel form{grid-template-columns:1fr}.epbr-suggest-panel label,.epbr-suggest-panel button,.epbr-suggest-panel #epbr-suggest-status{grid-column:auto}}

/* v0.7.0: route result cards are selectable to draw the saved station path. */
.epbr-route-card[role="button"]{cursor:pointer}
.epbr-route-card[role="button"]:focus{outline:2px solid #1769ff;outline-offset:2px}

.epbr-map-summary{font-size:13px;font-weight:700;color:#334155;margin:10px 0}.epbr-route-card{cursor:pointer;transition:border-color .15s,box-shadow .15s}.epbr-route-card:hover,.epbr-route-card:focus{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.12);outline:none}.epbr-route-card h3{color:#0f172a}.epbr-route-card small{color:#64748b}


/* v0.8.3: bold recommendation for nearest reachable station to exam centre */
.epbr-nearest-centre-station{margin:14px 0;padding:15px 16px;border:2px solid #0f766e;border-left-width:6px;border-radius:12px;background:#f0fdfa;color:#134e4a;font-size:15px;line-height:1.6}
.epbr-nearest-centre-station[hidden]{display:none}
.epbr-nearest-centre-station strong,.epbr-nearest-centre-station b{font-weight:900}
.epbr-nearest-centre-station .epbr-recommend-title{font-size:17px;font-weight:900;margin:0 0 5px;color:#064e3b}
.epbr-nearest-centre-station .epbr-lastmile{display:inline-block;margin-top:8px;padding:8px 11px;border-radius:8px;background:#0f766e;color:#fff!important;text-decoration:none;font-weight:800}
.epbr-nearest-centre-station .epbr-recommend-note{font-size:12px;color:#475569;margin:6px 0 0}

/* v0.8.4: nearby centre stops and developer credit */
.epbr-credit{margin-top:20px;padding-top:12px;border-top:1px solid #e2e8f0;text-align:center;font-size:12px;color:#64748b}.epbr-credit a{color:#0f766e;font-weight:800;text-decoration:none}.epbr-credit a:hover{text-decoration:underline}.epbr-nearby-section[hidden]{display:none}.epbr-nearby-section{padding:14px;border:1px solid #dbe4ea;border-radius:12px;background:#fff}

/* v0.8.6: make the recommended final drop-off station prominent */
.epbr-nearest-centre-station{box-shadow:0 5px 18px rgba(15,118,110,.10);border-color:#0f766e;background:#ecfdf5}
.epbr-nearest-centre-station .epbr-recommend-title{font-size:18px;line-height:1.45}
