/* DF Tour SEV Fahrplan – minimal, modern, responsive */
.sev-fp, .sev-fp *{box-sizing:border-box;}
.sev-fp{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:#111;
  width:100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 10px;
}
.sev-fp-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 10px;
  border:1px solid #e7e7e7;
  border-radius:14px;
  background:#fff;
}
.sev-fp-brand{display:flex; align-items:center; gap:12px;}
.sev-fp-logo{height:40px !important; max-height:40px !important; width:auto; object-fit:contain;}
.sev-fp-title-main{font-weight:800; font-size:18px; line-height:1.1;}
.sev-fp-title-sub{font-size:12px; color:#555; margin-top:2px;}

.sev-btn{
  border:1px solid #d6d6d6;
  background:#fff;
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  font-weight:700;
}
.sev-btn-primary{
  background:#111;
  color:#fff;
  border-color:#111;
}
.sev-btn-secondary{
  background:#fff;
  color:#111;
}
.sev-btn:active{transform:translateY(1px);}
.sev-btn, .sev-map-chip{touch-action: manipulation; -webkit-tap-highlight-color: transparent;}

.sev-fp-controls{
  margin-top:12px;
  display:grid;
  grid-template-columns: 1.2fr 1.2fr 0.9fr 0.7fr 0.7fr;
  gap:10px;
}
.sev-field label{display:block; font-size:12px; color:#444; margin:0 0 6px;}
.sev-field select, .sev-field input{
  width:100%;
  padding:10px 10px;
  border:1px solid #d6d6d6;
  border-radius:12px;
  background:#fff;
  height: 46px;
  line-height: 1.2;
}

/* Force consistent control sizing across themes/browsers */
.sev-fp .sev-field select,
.sev-fp .sev-field input,
.sev-fp .sev-map-library-controls select{
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  font-size:16px;
}
.sev-field-submit button{width:100%;}

/* Umgebungspläne (normale Ansicht) */
.sev-map-library{
  margin-top:12px;
  border:1px solid #e7e7e7;
  border-radius:16px;
  background:#fff;
  padding:12px;
}
.sev-map-library-head{display:flex; align-items:baseline; justify-content:space-between; gap:10px; flex-wrap:wrap;}
.sev-map-library-title{font-weight:900; font-size:14px;}
.sev-map-library-sub{font-size:12px; color:#555;}
.sev-map-library-controls{display:flex; gap:10px; margin-top:10px; align-items:center; flex-wrap:wrap;}
.sev-map-library-controls select{
  flex: 1 1 240px;
  padding:10px 10px;
  border:1px solid #d6d6d6;
  border-radius:12px;
  background:#fff;
  height: 46px;
  line-height: 1.2;
  font-size: 16px;
  min-height: 46px;
  max-height: 46px;
}
.sev-map-library-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}

.sev-results{margin-top:14px; display:grid; gap:12px;}
.sev-card{
  border:1px solid #e7e7e7;
  border-radius:16px;
  background:#fff;
  padding:12px;
}
.sev-card-top{display:flex; justify-content:space-between; gap:12px; align-items:flex-start;}
.sev-card-time{display:flex; align-items:center; gap:8px;}
.sev-card-dep,.sev-card-arr{font-size:20px; font-weight:900;}
.sev-card-arrow{font-weight:800; color:#666;}
.sev-card-meta{flex:1;}
.sev-card-line{font-weight:800;}
.sev-card-route{color:#555; font-size:13px; margin-top:2px;}
.sev-card-badges{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.sev-badge{
  border-radius:12px;
  padding:8px 10px;
  font-weight:900;
  font-size:12px;
  line-height:1.05;
  display:flex;
  flex-direction:column;
  gap:2px;
  border:1px solid transparent;
  min-width: 170px;
  max-width: 100%;
}
.sev-badge.sev{background: rgba(175,22,116,0.10); border-color: rgba(175,22,116,0.25);}
.sev-badge.changed{background: rgba(0,88,212,0.10); border-color: rgba(0,88,212,0.25);}

.sev-card-legs{margin-top:10px; display:grid; gap:8px;}
.sev-leg{border:1px dashed #e0e0e0; border-radius:12px; padding:10px;}
.sev-leg-mode{font-weight:900;}
.sev-leg-route{color:#333; margin-top:2px;}
.sev-leg-time{color:#555; margin-top:4px; font-weight:800;}

.sev-card-actions{margin-top:10px; display:flex; flex-wrap:wrap; gap:8px;}

/* SEV-Haltestellen · Umgebungspläne (chips) */
.sev-map-section{margin-top:10px; border-top:1px solid #f0f0f0; padding-top:10px;}
.sev-map-title{font-weight:900; font-size:12px; color:#444; margin-bottom:8px;}
.sev-map-chips{display:flex; flex-wrap:wrap; gap:8px;}
.sev-map-chip{
  border:1px solid #d6d6d6;
  background:#fff;
  padding:10px 12px;
  border-radius:999px;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
}
.sev-map-chip:active{transform:translateY(1px);}

.sev-empty{
  border:1px dashed #d6d6d6;
  border-radius:14px;
  padding:14px;
  background:#fafafa;
  color:#444;
}

/* Airport LED-style time */
.sev-time{font-variant-numeric: tabular-nums;}
.sev-time{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  letter-spacing: 0.08em;
}
.sev-flip-time{
  display:inline-block;
  position:relative;
  perspective: 900px;
  transform-style: preserve-3d;
  /* keep width stable to avoid jitter */
  min-width: 5.2ch;
  height: 1.15em;
  line-height: 1.15em;
  font-weight: 800;
  color: #2f86ff;
  text-shadow:
    0 0 6px rgba(47,134,255,0.35),
    0 0 14px rgba(47,134,255,0.22);
}
.sev-board .sev-flip-time{
  color: #9ad8ff;
  text-shadow:
    0 0 10px rgba(154,216,255,0.45),
    0 0 22px rgba(154,216,255,0.25);
}
.sev-flip-face{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  backface-visibility:hidden;
  transform-origin: 50% 50%;
}
.sev-flip-front{transform: rotateX(0deg) translateZ(0.5px);}
.sev-flip-back{transform: rotateX(-90deg) translateZ(0.5px);}

.sev-flip-time.is-flipping .sev-flip-front{animation: sevFlipFront 560ms cubic-bezier(.2,.8,.2,1) forwards;}
.sev-flip-time.is-flipping .sev-flip-back{animation: sevFlipBack 560ms cubic-bezier(.2,.8,.2,1) forwards;}
.sev-flip-time.intro{animation: sevFlipIntro 560ms cubic-bezier(.2,.8,.2,1) both;}

@keyframes sevFlipFront{
  0%{transform: rotateX(0deg) translateZ(0.5px); filter:none;}
  100%{transform: rotateX(90deg) translateZ(0.5px); filter:brightness(0.9);}
}
@keyframes sevFlipBack{
  0%{transform: rotateX(-90deg) translateZ(0.5px); filter:brightness(0.9);}
  100%{transform: rotateX(0deg) translateZ(0.5px); filter:none;}
}
@keyframes sevFlipIntro{
  0%{transform: translateZ(0);}
  50%{transform: translateZ(0) rotateX(12deg);}
  100%{transform: translateZ(0);}
}

.sev-led{
  display:inline-flex;
  align-items:center;
  /* "Airport LED" but without the dark box: just a pulsing blue number */
  padding: 0;
  border-radius: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  font-weight: 800;
  color: #2f86ff;
  text-shadow:
    0 0 6px rgba(47,134,255,0.35),
    0 0 14px rgba(47,134,255,0.22);
  animation: sevPulse 1.6s ease-in-out infinite;
}
.sev-board .sev-led{
  /* Stronger on black board */
  background: transparent;
  border: none;
  color: #9ad8ff;
  text-shadow:
    0 0 10px rgba(154,216,255,0.45),
    0 0 22px rgba(154,216,255,0.25);
}
.sev-colon{
  display:inline-block;
  width:0.6ch;
  text-align:center;
  animation: sevBlink 1s steps(1,end) infinite;
}
@keyframes sevBlink{50%{opacity:0;}}

@keyframes sevPulse{
  0%,100%{opacity:1; filter:none;}
  50%{opacity:0.82; filter: drop-shadow(0 0 10px rgba(47,134,255,0.25));}
}

/* Modal */
.sev-modal{position:fixed; inset:0; display:none; z-index:999999;}
.sev-modal.open{display:block;}
.sev-modal-backdrop{position:absolute; inset:0; background:rgba(0,0,0,0.55);}
.sev-modal-dialog{
  position:relative;
  margin:4vh auto;
  width:min(980px, 95vw);
  height:min(90dvh, 920px);
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,0.25);
  display:flex;
  flex-direction:column;
}
.sev-modal-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 12px;
  border-bottom:1px solid #eee;
  gap:10px;
}
.sev-modal-title{font-weight:900;}
.sev-modal-body{flex:1; padding:0;}
.sev-pdf-wrap{width:100%; height:100%; display:flex; flex-direction:column;}
.sev-pdf-actions{padding:10px 12px; border-bottom:1px solid #eee; background:#fff; position:sticky; top:0; z-index:2;}
.sev-pdf-wrap iframe{width:100%; flex:1; border:0;}

/* Board */
.sev-board{position:fixed; inset:0; background:#0b0b0b; color:#fff; display:none; z-index:999998;}
.sev-board.open{display:flex; flex-direction:column;}
.sev-board-head{
  padding:12px;
  padding-top: calc(12px + env(safe-area-inset-top));
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,0.12);
}
.sev-board-brand{display:flex; gap:12px; align-items:center;}
.sev-board-brand img{height:46px; width:auto; object-fit:contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.35));}
.sev-board-title{font-size:20px; font-weight:900;}
.sev-board-sub{font-size:12px; opacity:0.8;}
.sev-board-controls{display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-end;}
.sev-board-controls select, .sev-board-controls input{
  padding:10px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,0.25);
  background: rgba(255,255,255,0.06);
  color:#fff;
  height: 44px;
  line-height: 1.2;
  font-size: 16px;
}
.sev-board-controls select{
  background:#fff !important;
  color:#000 !important;
  border:1px solid rgba(0,0,0,0.25) !important;
}
.sev-board-controls select option{color:#000 !important; background:#fff !important;}

/* Board realtime status line */
.sev-board-rtstatus{margin-top:6px; display:flex; justify-content:flex-end;}
.sev-rtstatus{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:900;
  letter-spacing:0.2px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.06);
  color:#fff;
  opacity:0.92;
}
.sev-rtstatus-dot{width:8px; height:8px; border-radius:50%; background: rgba(255,255,255,0.55);}
.sev-rtstatus-on .sev-rtstatus-dot{background:#2ecc71;}
.sev-rtstatus-warn .sev-rtstatus-dot{background:#f5c211;}
.sev-rtstatus-off .sev-rtstatus-dot{background:#9aa0a6;}
.sev-rtstatus-loading .sev-rtstatus-dot{background:#8ab4f8; animation: sevPulse 1.1s ease-in-out infinite;}
@keyframes sevPulse{0%,100%{transform:scale(1); opacity:.65;}50%{transform:scale(1.35); opacity:1;}}

.sev-board-ticker{
  background:#111;
  border-bottom:1px solid rgba(255,255,255,0.12);
  color:#fff;
  overflow-x:hidden;
  overflow-y:visible;
  white-space:nowrap;
  padding:10px 12px;
  line-height:1.35;
  display:flex;
  align-items:center;
  flex:0 0 auto;
  min-height:44px;
}
.sev-board-ticker-inner{
  display:inline-flex;
  align-items:center;
  gap:64px;
  will-change: transform;
  animation: sevTicker 28s linear infinite;
}
.sev-board-ticker-inner span{display:inline-block; padding:2px 0;}
@keyframes sevTicker{
  from{transform: translateX(0);}
  to{transform: translateX(-50%);}
}

/* Normal view selects: ensure readable on Android/iOS even when theme overrides */
.sev-fp-controls select,
.sev-map-library select{
  background:#fff !important;
  color:#000 !important;
}
.sev-fp-controls select option,
.sev-map-library select option{color:#000 !important; background:#fff !important;}
.sev-board-controls input{color-scheme: dark;}
.sev-board-rotate{margin-top:8px; display:flex; justify-content:flex-end;}
.sev-toggle{display:flex; gap:8px; align-items:center; user-select:none; font-weight:800;}
.sev-toggle input{transform: scale(1.15);}

.sev-board-table{padding:10px 12px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); overflow:auto; -webkit-overflow-scrolling: touch;}
.sev-board-row{
  display:grid;
  grid-template-columns: 140px 90px 240px 1fr 260px;
  gap:12px;
  padding:10px 0;
  align-items:center;
  border-bottom:1px solid rgba(255,255,255,0.10);
}
.sev-board-row-head{
  font-weight:900;
  opacity:0.9;
  position:sticky;
  top:0;
  background:#0b0b0b;
  z-index:2;
}
.sev-board-cell{min-width:0;}
.sev-board-info{display:flex; flex-direction:column; gap:8px; align-items:flex-start;}
.sev-board-time{font-size:22px; font-weight:900; display:flex; flex-direction:column; align-items:flex-start; gap:2px; line-height:1.05;}
.sev-board-line{font-weight:900; opacity:0.95;}
.sev-board-dest{font-weight:800; opacity:0.95;}
.sev-board-empty{padding:16px; opacity:0.85;}
.sev-board-dep{display:flex; align-items:baseline;}
.sev-board-arr{display:flex; align-items:baseline; font-size:0.72em; font-weight:800; opacity:0.92;}
.sev-board-arr .sev-rt{font-size:0.95em; margin-left:6px;}

/* Delay column (Board) */
.sev-board-delay{display:flex; flex-direction:column; align-items:flex-start; gap:6px; font-weight:900;}
.sev-board-delay .sev-rt{margin-left:0;}
.sev-board-delay-wrap{display:flex; flex-direction:column; gap:6px;}
.sev-board-delay-arr{display:flex; align-items:center; gap:6px; opacity:0.95;}
.sev-board-delay-label{display:inline-block; font-size:10px; font-weight:900; opacity:0.75; letter-spacing:.02em;}


/* Responsive */
@media (max-width: 1100px){
  .sev-fp{max-width: 100%;}
}

@media (max-width: 920px){
  .sev-board-row{grid-template-columns: 130px 80px 220px 1fr 220px;}
}

@media (max-width: 980px){
  .sev-fp-controls{grid-template-columns: 1fr 1fr; }
  .sev-field-date, .sev-field-time, .sev-field-submit{grid-column: span 1;}
}

@media (max-width: 640px){
  .sev-fp-controls{grid-template-columns: 1fr;}
  .sev-field select, .sev-field input{font-size:16px;}
  .sev-map-library-controls{flex-direction:column; align-items:stretch;}
  .sev-map-library-controls .sev-btn{width:100%;}
  .sev-card-top{flex-direction:column; align-items:flex-start;}
  .sev-card-time{flex-wrap:wrap;}
  .sev-card-dep,.sev-card-arr{font-size: clamp(18px, 5.5vw, 22px);}
  .sev-badge{min-width: 0; width: fit-content;}
  .sev-modal-dialog{margin:0; width:100vw; height:100dvh; border-radius:0;}
  .sev-modal-head{position:sticky; top:0; background:#fff; z-index:2;}
  .sev-modal-dialog{padding-bottom: env(safe-area-inset-bottom);}
  .sev-modal-head{padding-top: calc(10px + env(safe-area-inset-top));}
}

/* tighter mobile sizing (Android/iPhone) */
@media (max-width: 480px){
  .sev-fp{padding:0 8px;}
  .sev-fp-header{padding:12px 10px;}
  .sev-fp-logo{height:26px !important; max-height:26px !important;}
  .sev-fp-title-main{font-size:16px;}
  .sev-fp-title-sub{font-size:12px;}

  .sev-btn{padding:10px 12px; font-size:14px;}

  .sev-map-library{padding:10px;}
  .sev-map-library-controls select{width:100%;}
  .sev-map-chip{padding:7px 9px; font-size:12px;}
}
@media (max-width: 720px){
  .sev-fp-header{flex-direction:column; align-items:flex-start;}
  .sev-fp-actions{width:100%; display:flex; gap:10px;}
  .sev-fp-actions .sev-btn{flex:1;}
  /* Board: mobile layout (Android/iPhone) */
  .sev-board-head{flex-direction:column; align-items:stretch; gap:10px; padding:10px; padding-top: calc(10px + env(safe-area-inset-top));}
  .sev-board-brand img{height:22px;}
  .sev-board-title{font-size:16px;}
  .sev-board-sub{font-size:12px;}
  .sev-board-controls{display:grid; grid-template-columns: 1fr 1fr; gap:8px; justify-content:stretch;}
  .sev-board-controls select{grid-column: 1 / -1; width:100%;}
  .sev-board-controls input{width:100%; min-width:0;}
  .sev-board-controls select,
  .sev-board-controls input{height:40px; font-size:14px; padding:8px 10px;}
  .sev-board-controls .sev-btn{width:100%; padding:9px 10px; font-size:13px; height:40px; border-radius:12px;}
  /* keep buttons in 2-column grid on phones */
  .sev-board-row-head{display:none;}
  .sev-board-row{grid-template-columns: 118px 1fr; grid-auto-rows:auto; gap:10px; padding:12px 0; align-items:flex-start;}
  .sev-board-row > div:nth-child(4),
  .sev-board-row > div:nth-child(5){grid-column: 1 / -1;}
  .sev-board-info{flex-direction:row; flex-wrap:wrap; gap:6px;}
  .sev-board-info .sev-badge{min-width: 0; width: fit-content;}
  .sev-board-time{font-size:16px;}
  .sev-board-line{font-size:13px;}
  .sev-board-dest{font-size:13px;}
}

/* Board inline map panel */
.sev-board-map-panel{display:none; margin-top:10px; border:1px solid rgba(255,255,255,0.14); border-radius:14px; overflow:hidden; background: rgba(255,255,255,0.04);} 
.sev-board-map-panel.open{display:block;}
.sev-board-map-head{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px; border-bottom:1px solid rgba(255,255,255,0.12);} 
.sev-board-map-title{font-weight:900; font-size:12px; opacity:0.95;}
.sev-board-map-actions{display:flex; gap:8px; align-items:center;}
.sev-board-map-body{padding:10px;}
.sev-board-map-body img{width:100%; height:auto; display:block; border-radius:10px; background:#111;}
.sev-board-map-empty{padding:12px; opacity:0.85; font-weight:800;}

/* ------------------------------------------------------------
   Airport / Hauptbahnhof look & feel (Tafelansicht)
   - compact controls on mobile
   - clearer grid lines + alternating rows
   - marquee for long station names
   - highlight next departures
------------------------------------------------------------ */

.sev-board{background:#050505;}

.sev-board-head{
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.00));
}

/* Make sure theme CSS can't blow up our branding images */
.sev-fp img.sev-fp-logo{height:40px !important; max-height:40px !important; width:auto !important;}
@media (max-width: 720px){
  .sev-fp img.sev-fp-logo{height:28px !important; max-height:28px !important; width:auto !important;}
}

.sev-board-brand img{height:38px; width:auto;}
@media (max-width: 720px){
  .sev-board-brand img{height:18px;}
}

.sev-board-table{
  padding: 8px 12px;
  font-variant-numeric: tabular-nums;
}

/* Sticky column header (also on mobile, smaller) */
.sev-board-row-head{
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255,255,255,0.18);
}
@media (max-width: 720px){
  .sev-board-row-head{
    display:grid;
    font-size:11px;
    grid-template-columns: 92px 74px 1fr 110px;
    gap: 8px 10px;
  }
  .sev-board-row-head > div:nth-child(5){display:none;}
  .sev-board-row-head > div:nth-child(1){grid-column:1;}
  .sev-board-row-head > div:nth-child(2){grid-column:2;}
  .sev-board-row-head > div:nth-child(4){grid-column:3;}
  .sev-board-row-head > div:nth-child(3){grid-column:4; text-align:right;}
}

/* Departure rows: clearer board grid */
#sevBoardRows .sev-board-row{
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
#sevBoardRows .sev-board-row:nth-child(odd){background: rgba(255,255,255,0.02);}
#sevBoardRows .sev-board-row.sev-next{background: rgba(47,134,255,0.08);}

.sev-board-row{
  grid-template-columns: 120px 80px 220px 1fr 190px;
}
@media (max-width: 920px){
  .sev-board-row{grid-template-columns: 110px 76px 200px 1fr 170px;}
}

/* mobile layout closer to airport boards */
@media (max-width: 720px){
  .sev-board-ticker{font-size:12px; padding:10px 10px; min-height:46px;}
  .sev-board-ticker-inner{animation-duration: 34s;}
  #sevBoardRows .sev-board-row{
    grid-template-columns: 92px 74px 1fr 110px;
    grid-template-areas:
      "time delay dest line"
      "time delay info info";
    gap: 8px 10px;
    padding: 12px 10px;
    margin: 0 -12px;
    align-items: center;
  }
  #sevBoardRows .sev-board-row > div:nth-child(1){grid-area: time;}
  #sevBoardRows .sev-board-row > div:nth-child(2){grid-area: delay;}
  #sevBoardRows .sev-board-row > div:nth-child(3){grid-area: line; text-align:right;}
  #sevBoardRows .sev-board-row > div:nth-child(4){grid-area: dest;}
  #sevBoardRows .sev-board-row > div:nth-child(5){grid-area: info; justify-self:end;}

  .sev-board-time{font-size:18px;}
  .sev-board-line{font-size:12px; opacity:0.92; font-weight:900;}
  .sev-board-dest{font-size:13px; font-weight:900;}
  .sev-board-info{flex-direction:row; gap:6px; justify-content:flex-end;}
}

/* Make hints column right-aligned like station boards */
.sev-board-info{align-items:flex-end; text-align:right;}

/* Marquee (only when we apply .sev-marquee in JS) */
.sev-marquee{overflow:hidden; white-space:nowrap;}
.sev-marquee > span{
  display:inline-block;
  padding-left: 0;
  animation: sevMarquee 10s linear infinite;
}
@keyframes sevMarquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

/* Ultra-compact board controls on phones */
@media (max-width: 720px){
  .sev-board-controls select,
  .sev-board-controls input{
    height: 36px !important;
    font-size: 13px !important;
    padding: 7px 10px !important;
    border-radius: 12px;
  }
  .sev-board-controls .sev-btn{
    height: 36px !important;
    font-size: 12px !important;
    padding: 8px 10px !important;
    border-radius: 12px;
  }
  .sev-toggle{font-size:12px;}
}

/* Extra hard override for map select (some themes inflate selects on Android) */
.sev-fp .sev-map-library-controls select{
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  line-height:46px !important;
  padding: 0 12px !important;
  box-sizing: border-box !important;
  appearance: none;
  -webkit-appearance: none;
}

/* Realtime delay (optional) */
.sev-rt{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:8px;
  padding:2px 7px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  line-height:1.2;
  border:1px solid rgba(0,0,0,.08);
}
.sev-rt-gray{background:#e5e7eb;color:#374151;}
.sev-rt-warn{background:#fef3c7;color:#92400e;}
.sev-rt-bad{background:#fecaca;color:#7f1d1d;}
.sev-rt-cancel{background:#ff3b30;color:#fff;border-color:rgba(0,0,0,.05);}

/* Slightly bigger on the departure board */
.sev-board-time .sev-rt{font-size:12.5px; padding:2px 8px;}

@media (max-width:480px){
  .sev-rt{font-size:11px;margin-left:6px;padding:2px 6px;}
}
