/* UniVerse Hub Warencheck Addon V1.7.0 */
:root{
  --uvh-bg:#020712;
  --uvh-line:rgba(82,164,255,.22);
  --uvh-line2:rgba(148,163,184,.14);
  --uvh-cyan:#38d8ff;
  --uvh-text:#e5f2ff;
  --uvh-muted:#8aa4c8;
  --uvh-green:#39d98a;
  --uvh-red:#ff6b7a;
  --uvh-orange:#fb923c;
}

body:has(.uvh-warencheck-page){
  background:
    radial-gradient(circle at 78% 4%,rgba(0,124,255,.16),transparent 36%),
    radial-gradient(circle at 12% 12%,rgba(0,229,255,.08),transparent 34%),
    linear-gradient(180deg,#020712,#02050d 70%,#010307)!important;
}

.uvh-tool-page{
  max-width:1600px;
  margin:0 auto;
  padding:34px 24px 64px;
  color:var(--uvh-text);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.uvh-waren-hero{margin-bottom:26px}

.uvh-back-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  height:42px;
  padding:0 16px;
  border:1px solid var(--uvh-line);
  border-radius:9px;
  background:rgba(4,12,26,.55);
  color:#dbeafe;
  text-decoration:none;
  font-weight:750;
  margin-bottom:28px;
}

.uvh-back-btn:hover{
  border-color:rgba(56,216,255,.48);
  background:rgba(0,229,255,.08);
  color:#fff;
}

.uvh-waren-hero h1{
  margin:0;
  font-size:clamp(48px,6vw,76px);
  line-height:.92;
  letter-spacing:-.055em;
  color:#fff;
  text-shadow:0 0 32px rgba(46,144,255,.25);
}

.uvh-waren-hero h1:after{
  content:"";
  display:block;
  width:min(430px,42vw);
  height:2px;
  margin-top:22px;
  background:linear-gradient(90deg,var(--uvh-cyan),rgba(56,216,255,.14),transparent);
  box-shadow:0 0 18px rgba(56,216,255,.5);
}

.uvh-warencheck-app{
  display:grid;
  gap:18px;
}

.uvh-w-card,
.uvh-w-alert{
  border:1px solid var(--uvh-line);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(4,12,26,.72),rgba(2,8,18,.78));
  padding:18px;
}

.uvh-w-alert.err{
  border-color:rgba(255,107,122,.38);
  background:rgba(255,107,122,.08);
  color:#fecaca;
}

.uvh-w-stats{
  display:grid;
  grid-template-columns:1.55fr repeat(4,1fr);
  gap:14px;
}

.uvh-w-stats div{
  min-height:108px;
  border:1px solid var(--uvh-line);
  border-radius:13px;
  background:
    radial-gradient(circle at 88% 12%,rgba(56,216,255,.08),transparent 35%),
    linear-gradient(180deg,rgba(8,22,48,.78),rgba(2,9,20,.68));
  padding:22px;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.015),
    0 18px 60px rgba(0,0,0,.20);
}

.uvh-w-stats .wide{
  border-color:rgba(56,216,255,.32);
}

.uvh-w-stats span{
  display:block;
  color:#98afd2;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.uvh-w-stats strong{
  display:block;
  color:#fff;
  font-size:28px;
  margin-top:8px;
  line-height:1.05;
  font-variant-numeric:tabular-nums;
}

.uvh-w-stats small{
  display:block;
  color:#a7b8d5;
  margin-top:5px;
}

.uvh-w-controls{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  border:1px solid var(--uvh-line2);
  border-radius:13px;
  background:rgba(4,12,26,.58);
  padding:14px;
}

.uvh-w-actions,
.uvh-w-filters{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.uvh-w-filters{
  justify-content:flex-end;
}

.uvh-route-context{
  color:#91a8ca;
  font-size:13px;
  font-weight:700;
}

.uvh-w-controls button,
.uvh-w-controls a,
.row-actions button,
.uvh-w-route button,
.detail-top button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  border:1px solid rgba(82,164,255,.24);
  border-radius:9px;
  background:rgba(7,18,39,.78);
  color:#d8e7ff;
  text-decoration:none;
  font-weight:800;
  font-size:14px;
  cursor:pointer;
}

.uvh-w-controls button:hover,
.row-actions button:hover,
.uvh-w-route button:hover,
.detail-top button:hover{
  border-color:rgba(56,216,255,.55);
  color:#fff;
}

.uvh-w-controls .primary,
.uvh-w-route .primary{
  color:#fff!important;
  background:linear-gradient(135deg,#0388ff,#12c6ff)!important;
  border-color:transparent!important;
  box-shadow:0 0 18px rgba(18,198,255,.25);
}

.uvh-back-internal{
  border-color:rgba(56,216,255,.34)!important;
  background:rgba(0,229,255,.06)!important;
}

.uvh-w-filters input,
.uvh-w-filters select,
.route-form input,
.route-form select{
  min-height:42px;
  border:1px solid rgba(82,164,255,.24);
  border-radius:9px;
  background:rgba(7,18,39,.78);
  color:#fff;
  padding:10px 13px;
}

.uvh-w-filters input{
  min-width:320px;
}

.uvh-w-list,
.uvh-w-route{
  border:1px solid var(--uvh-line);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(4,12,26,.72),rgba(2,8,18,.78));
  padding:18px;
}

.uvh-w-list-head{
  display:grid;
  grid-template-columns:minmax(240px,1.5fr) 1fr .7fr .7fr .9fr 150px;
  gap:14px;
  padding:0 18px 14px;
  color:#91a8ca;
  text-transform:uppercase;
  font-size:12px;
  letter-spacing:.08em;
}

.uvh-w-item{
  display:grid;
  grid-template-columns:minmax(240px,1.5fr) 1fr .7fr .7fr .9fr 150px;
  gap:14px;
  align-items:center;
  min-height:96px;
  margin-bottom:10px;
  border:1px solid rgba(82,164,255,.16);
  border-radius:14px;
  background:
    linear-gradient(90deg,rgba(11,27,56,.78),rgba(5,14,31,.64)),
    rgba(8,20,40,.7);
  padding:17px 18px;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 10px 32px rgba(0,0,0,.14);
}

.uvh-w-item:nth-child(even){
  background:
    linear-gradient(90deg,rgba(9,35,54,.80),rgba(5,14,31,.64)),
    rgba(8,20,40,.7);
}

.uvh-w-item.illegal{
  border-left:3px solid rgba(255,107,122,.64);
}

.uvh-w-item:hover{
  border-color:rgba(56,216,255,.34);
  background:
    linear-gradient(90deg,rgba(13,36,72,.82),rgba(5,14,31,.68)),
    rgba(8,20,40,.74);
}

.good-main{
  min-width:0;
  padding-left:12px;
  position:relative;
}

.good-main:before{
  content:"";
  position:absolute;
  left:0;
  top:3px;
  bottom:3px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--uvh-cyan),rgba(56,216,255,.18));
  box-shadow:0 0 12px rgba(56,216,255,.38);
}

.good-main strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.2;
}

.good-main small{
  display:block;
  margin-top:5px;
}

.illegal-label{
  color:#ff9aa5;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:11px;
}

.offer-cell{
  display:grid;
  gap:5px;
}

.offer-count{
  color:#dcecff;
  font-size:17px;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}

.best-price-cell{
  display:grid;
  gap:4px;
}

.price-unit{
  color:#91a8ca;
  font-size:11px;
  font-weight:650;
}

.uvh-price,
.uvh-number{
  display:inline-block;
  color:#eef7ff;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  letter-spacing:.005em;
  white-space:nowrap;
}

.uvh-container-size{
  display:inline-block;
  color:#b8d8f5;
  font-size:12px;
  font-weight:750;
  line-height:1.35;
  white-space:normal;
}

.muted{color:#91a8ca}
.gain{color:#7df2b1!important}
.loss{color:#fecaca!important}
.warn{color:#fcd34d}

.uvh-w-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 11px;
  margin:2px 4px 2px 0;
  border-radius:999px;
  background:rgba(82,164,255,.10);
  border:1px solid rgba(82,164,255,.22);
  color:#d8e7ff;
  font-size:13px;
  font-weight:800;
  white-space:normal;
}

.row-actions{
  display:grid;
  gap:8px;
}

.row-actions button{
  min-height:38px;
  width:100%;
}

.uvh-w-details{
  grid-column:1/-1;
  margin:-4px 0 16px;
  border:1px solid rgba(56,216,255,.20);
  border-radius:14px;
  padding:16px;
  background:rgba(0,229,255,.035);
}

.detail-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.detail-top span{
  display:block;
  color:#7dd3fc;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.detail-top h2{
  margin:3px 0 0;
  color:#fff;
  font-size:25px;
}

.detail-top button{
  min-height:38px;
  padding:8px 12px;
}

.detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.detail-grid > section{
  min-width:0;
  border:1px solid rgba(82,164,255,.14);
  border-radius:12px;
  background:rgba(3,10,23,.48);
  padding:12px;
}

.detail-section-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:9px;
}

.detail-section-head h3{
  margin:0 0 4px;
  color:#fff;
  font-size:18px;
}

.detail-section-head > span{
  flex:0 0 auto;
  color:#9edfff;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(56,216,255,.18);
  border-radius:999px;
  padding:5px 9px;
  background:rgba(56,216,255,.05);
}

.hint{
  color:#91a8ca;
  margin:0;
  font-size:12px;
}

.table-wrap{
  max-height:430px;
  overflow:auto;
  border:1px solid rgba(82,164,255,.16);
  border-radius:10px;
  background:rgba(5,14,31,.64);
}

.uvh-warencheck-app table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}

.uvh-warencheck-app th,
.uvh-warencheck-app td{
  padding:11px 12px;
  border-bottom:1px solid rgba(82,164,255,.13);
  text-align:left;
  vertical-align:top;
}

.uvh-warencheck-app th{
  position:sticky;
  top:0;
  z-index:2;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#91a8ca;
  background:#061024;
}

.uvh-warencheck-app td{
  color:#dbeafe;
  font-size:13px;
}

.uvh-warencheck-app td small{
  display:block;
  color:#91a8ca;
  margin-top:3px;
}

.uvh-warencheck-app .right{
  text-align:right;
}

.uvh-warencheck-app tr:nth-child(even) td{
  background:rgba(9,35,54,.28);
}

.uvh-warencheck-app tr:hover td{
  background:rgba(56,216,255,.045);
}

.uvh-w-empty{
  text-align:center;
  padding:44px 16px;
  color:#9fb3d4;
}

.uvh-w-empty strong{
  display:block;
  color:#fff;
  font-size:24px;
}

.route-head h2{
  margin:0 0 6px;
  color:#fff;
}

.route-head p{
  max-width:980px;
  margin:0 0 18px;
  color:#91a8ca;
  line-height:1.55;
}

.route-settings{
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,320px));
  gap:12px;
  align-items:end;
  margin-bottom:16px;
}

.route-settings label,
.route-input-row label{
  display:grid;
  min-width:0;
  gap:7px;
  color:#cbd5e1;
  font-weight:800;
  font-size:13px;
}

.route-settings select,
.route-settings input,
.route-input-row input{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}

.route-goods-list{
  display:grid;
  gap:10px;
}

.route-input-row{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(130px,180px) 44px;
  gap:10px;
  align-items:end;
  border:1px solid rgba(82,164,255,.14);
  border-radius:12px;
  background:rgba(3,10,23,.42);
  padding:12px;
}

.route-remove-row{
  width:44px;
  min-width:44px!important;
  padding:0!important;
  font-size:22px!important;
}

.route-remove-row:disabled{
  opacity:.35;
  cursor:not-allowed;
}

.route-form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 18px;
}

.route-form-actions button{
  min-height:42px;
}

.route-results{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.route-card,
.route-total{
  border:1px solid rgba(82,164,255,.16);
  border-radius:14px;
  background:rgba(7,18,39,.62);
  padding:16px;
}

.route-card-missing{
  border-color:rgba(251,191,36,.24);
}

.route-card-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:14px;
}

.route-card-head > div > span{
  display:block;
  color:#7dd3fc;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.1em;
}

.route-card-head h3{
  margin:3px 0 0;
  color:#fff;
  font-size:24px;
}

.route-target{
  display:inline-flex;
  padding:6px 10px;
  border:1px solid rgba(56,216,255,.20);
  border-radius:999px;
  background:rgba(56,216,255,.05);
  color:#bfefff;
  font-size:12px;
  font-weight:800;
}

.route-leg-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) minmax(220px,.72fr);
  gap:12px;
  align-items:stretch;
}

.route-leg,
.route-profit-box{
  display:grid;
  align-content:start;
  gap:6px;
  min-width:0;
  border:1px solid rgba(82,164,255,.14);
  border-radius:12px;
  background:rgba(3,10,23,.52);
  padding:14px;
}

.route-leg > span,
.route-profit-box > span{
  color:#91a8ca;
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.route-leg strong{
  color:#fff;
  font-size:16px;
  line-height:1.25;
}

.route-leg small,
.route-profit-box small{
  color:#91a8ca;
  line-height:1.35;
}

.route-leg .uvh-price{
  margin-top:5px;
  font-size:18px;
}

.route-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#38d8ff;
  font-size:23px;
  font-weight:900;
}

.route-profit-box{
  border-color:rgba(57,217,138,.18);
  background:rgba(57,217,138,.035);
}

.route-profit-box .uvh-price{
  font-size:24px;
}

.route-subhead{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  margin:18px 0 9px;
}

.route-subhead h4{
  margin:0;
  color:#fff;
  font-size:15px;
}

.route-subhead span{
  color:#91a8ca;
  font-size:11px;
}

.route-alt-list{
  display:grid;
  gap:8px;
}

.route-alt-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(170px,.45fr) minmax(170px,.45fr);
  gap:12px;
  align-items:center;
  border:1px solid rgba(82,164,255,.12);
  border-radius:10px;
  background:rgba(3,10,23,.42);
  padding:11px 12px;
}

.route-alt-row strong{
  color:#fff;
}

.route-alt-row small{
  display:block;
  color:#91a8ca;
  margin-top:3px;
}

.route-alt-price,
.route-alt-profit{
  text-align:right;
}

.route-alt-empty{
  margin-top:16px;
  border:1px dashed rgba(82,164,255,.18);
  border-radius:10px;
  padding:12px;
  color:#91a8ca;
  font-size:13px;
}

.route-system-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:8px;
}

.route-system-option{
  display:grid!important;
  justify-items:start!important;
  align-content:start;
  gap:4px;
  min-height:86px!important;
  text-align:left;
}

.route-system-option.active{
  border-color:rgba(56,216,255,.62)!important;
  background:rgba(56,216,255,.09)!important;
  box-shadow:0 0 18px rgba(56,216,255,.10);
}

.route-system-option strong{
  color:#fff;
}

.route-system-option small{
  color:#91a8ca;
  line-height:1.35;
}

.route-total{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  border-color:rgba(57,217,138,.22);
}

.route-total > div{
  display:grid;
  gap:4px;
}

.route-total > div > span{
  color:#fff;
  font-size:17px;
  font-weight:800;
}

.route-total small{
  color:#91a8ca;
}

.route-total > .uvh-price{
  font-size:29px;
}

@media(max-width:1450px){
  .detail-grid{
    grid-template-columns:1fr;
  }

  .route-settings{
    grid-template-columns:repeat(2,minmax(220px,1fr));
  }
}

@media(max-width:1220px){
  .uvh-w-stats{
    grid-template-columns:repeat(3,1fr);
  }

  .uvh-w-controls{
    grid-template-columns:1fr;
  }

  .uvh-w-filters{
    justify-content:flex-start;
  }

  .uvh-w-list-head{
    display:none;
  }

  .uvh-w-item{
    grid-template-columns:1fr 1fr 1fr;
  }

  .row-actions{
    grid-column:1/-1;
    grid-template-columns:repeat(2,minmax(0,180px));
  }

  .route-leg-grid{
    grid-template-columns:1fr 34px 1fr;
  }

  .route-profit-box{
    grid-column:1/-1;
  }
}

@media(max-width:900px){
  .route-settings{
    grid-template-columns:1fr 1fr;
  }

  .route-input-row{
    grid-template-columns:minmax(220px,1fr) 150px 44px;
  }

  .route-alt-row{
    grid-template-columns:1fr;
  }

  .route-alt-price,
  .route-alt-profit{
    text-align:left;
  }
}

@media(max-width:820px){
  .uvh-tool-page{
    padding:24px 14px 50px;
  }

  .uvh-w-stats{
    grid-template-columns:1fr 1fr;
  }

  .uvh-w-item{
    grid-template-columns:1fr;
  }

  .uvh-w-filters input{
    min-width:100%;
    width:100%;
  }

  .route-settings{
    grid-template-columns:1fr;
  }

  .route-input-row{
    grid-template-columns:1fr;
  }

  .route-remove-row{
    width:100%;
  }

  .route-leg-grid{
    grid-template-columns:1fr;
  }

  .route-arrow{
    transform:rotate(90deg);
    min-height:24px;
  }

  .detail-top,
  .route-card-head,
  .route-total{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:520px){
  .uvh-w-stats{
    grid-template-columns:1fr;
  }

  .uvh-waren-hero h1{
    font-size:46px;
  }
}


/* V1.3.1 – Routenplaner Eingabefelder */
.route-settings,
.route-input-row{
  position:relative;
}

.route-settings label,
.route-input-row label{
  position:relative;
  padding:11px 12px 12px;
  border:1px solid rgba(82,164,255,.16);
  border-radius:12px;
  background:
    radial-gradient(circle at 90% 0%,rgba(56,216,255,.055),transparent 38%),
    linear-gradient(180deg,rgba(7,20,42,.82),rgba(3,11,25,.74));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 10px 26px rgba(0,0,0,.12);
  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

.route-settings label:hover,
.route-input-row label:hover{
  border-color:rgba(56,216,255,.30);
  background:
    radial-gradient(circle at 90% 0%,rgba(56,216,255,.08),transparent 40%),
    linear-gradient(180deg,rgba(8,24,48,.88),rgba(3,12,28,.80));
}

.route-settings label:focus-within,
.route-input-row label:focus-within{
  border-color:rgba(56,216,255,.62);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 0 0 3px rgba(56,216,255,.08),
    0 0 24px rgba(56,216,255,.12);
  transform:translateY(-1px);
}

.route-settings label > span,
.route-input-row label > span{
  display:flex;
  align-items:center;
  min-height:16px;
  color:#91b9df;
  font-size:11px;
  line-height:1;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.route-settings label > span:before,
.route-input-row label > span:before{
  content:"";
  width:3px;
  height:13px;
  margin-right:7px;
  border-radius:999px;
  background:linear-gradient(180deg,#38d8ff,#3b82f6);
  box-shadow:0 0 10px rgba(56,216,255,.48);
}

.route-settings select,
.route-settings input,
.route-input-row input{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  height:48px;
  min-height:48px;
  border:1px solid rgba(108,181,255,.24);
  border-radius:10px;
  background:
    linear-gradient(180deg,rgba(10,27,55,.94),rgba(5,16,35,.96));
  color:#f4f9ff;
  padding:0 14px;
  font-size:14px;
  line-height:48px;
  font-weight:750;
  font-variant-numeric:tabular-nums;
  outline:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    inset 0 -1px 0 rgba(0,0,0,.20);
  transition:
    border-color .18s ease,
    background .18s ease,
    box-shadow .18s ease;
}

.route-settings select{
  cursor:pointer;
  padding-right:42px;
  background-image:
    linear-gradient(45deg,transparent 50%,#71dfff 50%),
    linear-gradient(135deg,#71dfff 50%,transparent 50%),
    linear-gradient(180deg,rgba(10,27,55,.94),rgba(5,16,35,.96));
  background-position:
    calc(100% - 18px) 20px,
    calc(100% - 12px) 20px,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    100% 100%;
  background-repeat:no-repeat;
}

.route-settings select:hover,
.route-settings input:hover,
.route-input-row input:hover{
  border-color:rgba(56,216,255,.40);
}

.route-settings select:focus,
.route-settings input:focus,
.route-input-row input:focus{
  border-color:#38d8ff;
  background-color:rgba(8,24,48,.98);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 0 0 3px rgba(56,216,255,.08),
    0 0 18px rgba(56,216,255,.12);
}

.route-settings select option{
  background:#071225;
  color:#eaf5ff;
}

.route-input-row{
  border-color:rgba(82,164,255,.20);
  background:
    radial-gradient(circle at 92% 15%,rgba(56,216,255,.055),transparent 35%),
    linear-gradient(180deg,rgba(5,15,33,.72),rgba(2,9,21,.72));
  padding:13px;
}

.route-input-row + .route-input-row{
  margin-top:2px;
}

.route-remove-row{
  align-self:stretch;
  min-height:72px!important;
  border-radius:11px!important;
  border-color:rgba(255,107,122,.22)!important;
  background:rgba(255,107,122,.045)!important;
  color:#ff9aa5!important;
}

.route-remove-row:hover:not(:disabled){
  border-color:rgba(255,107,122,.55)!important;
  background:rgba(255,107,122,.10)!important;
  color:#fff!important;
}

.route-form-actions{
  padding-top:2px;
}

@media(max-width:820px){
  .route-settings label,
  .route-input-row label{
    padding:10px;
  }

  .route-remove-row{
    min-height:42px!important;
  }
}


/* V1.4 – Stationsfinder */
.uvh-station-finder{
  border:1px solid var(--uvh-line);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(4,12,26,.72),rgba(2,8,18,.78));
  padding:18px;
}

.station-finder-head h2{
  margin:0 0 6px;
  color:#fff;
}

.station-finder-head p{
  max-width:900px;
  margin:0 0 18px;
  color:#91a8ca;
  line-height:1.55;
}

.station-settings{
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,320px));
  gap:12px;
  margin-bottom:16px;
}

.station-settings label,
.station-input-row label{
  display:grid;
  min-width:0;
  gap:7px;
  padding:11px 12px 12px;
  border:1px solid rgba(82,164,255,.16);
  border-radius:12px;
  background:
    radial-gradient(circle at 90% 0%,rgba(56,216,255,.055),transparent 38%),
    linear-gradient(180deg,rgba(7,20,42,.82),rgba(3,11,25,.74));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 10px 26px rgba(0,0,0,.12);
}

.station-settings label:focus-within,
.station-input-row label:focus-within{
  border-color:rgba(56,216,255,.62);
  box-shadow:
    0 0 0 3px rgba(56,216,255,.08),
    0 0 24px rgba(56,216,255,.12);
}

.station-settings label > span,
.station-input-row label > span{
  display:flex;
  align-items:center;
  min-height:16px;
  color:#91b9df;
  font-size:11px;
  line-height:1;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.station-settings label > span:before,
.station-input-row label > span:before{
  content:"";
  width:3px;
  height:13px;
  margin-right:7px;
  border-radius:999px;
  background:linear-gradient(180deg,#38d8ff,#3b82f6);
  box-shadow:0 0 10px rgba(56,216,255,.48);
}

.station-settings select,
.station-input-row input{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-width:0;
  height:48px;
  box-sizing:border-box;
  border:1px solid rgba(108,181,255,.24);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(10,27,55,.94),rgba(5,16,35,.96));
  color:#f4f9ff;
  padding:0 14px;
  font-size:14px;
  font-weight:750;
  outline:none;
}

.station-settings select{
  cursor:pointer;
  padding-right:42px;
  background-image:
    linear-gradient(45deg,transparent 50%,#71dfff 50%),
    linear-gradient(135deg,#71dfff 50%,transparent 50%),
    linear-gradient(180deg,rgba(10,27,55,.94),rgba(5,16,35,.96));
  background-position:
    calc(100% - 18px) 20px,
    calc(100% - 12px) 20px,
    0 0;
  background-size:
    6px 6px,
    6px 6px,
    100% 100%;
  background-repeat:no-repeat;
}

.station-settings select option{
  background:#071225;
  color:#eaf5ff;
}

.station-settings select:focus,
.station-input-row input:focus{
  border-color:#38d8ff;
  box-shadow:
    0 0 0 3px rgba(56,216,255,.08),
    0 0 18px rgba(56,216,255,.12);
}

.station-goods-inputs{
  display:grid;
  gap:10px;
}

.station-input-row{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(130px,180px) 44px;
  gap:10px;
  align-items:end;
  border:1px solid rgba(82,164,255,.20);
  border-radius:12px;
  background:
    radial-gradient(circle at 92% 15%,rgba(56,216,255,.055),transparent 35%),
    linear-gradient(180deg,rgba(5,15,33,.72),rgba(2,9,21,.72));
  padding:13px;
}

.station-remove-row{
  align-self:stretch;
  width:44px;
  min-width:44px!important;
  min-height:72px!important;
  padding:0!important;
  border-radius:11px!important;
  border-color:rgba(255,107,122,.22)!important;
  background:rgba(255,107,122,.045)!important;
  color:#ff9aa5!important;
  font-size:22px!important;
}

.station-remove-row:hover:not(:disabled){
  border-color:rgba(255,107,122,.55)!important;
  background:rgba(255,107,122,.10)!important;
  color:#fff!important;
}

.station-remove-row:disabled{
  opacity:.35;
  cursor:not-allowed;
}

.station-form-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:14px 0 18px;
}

.station-form-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  border:1px solid rgba(82,164,255,.24);
  border-radius:9px;
  background:rgba(7,18,39,.78);
  color:#d8e7ff;
  font-weight:800;
  cursor:pointer;
}

.station-form-actions .primary{
  color:#fff;
  background:linear-gradient(135deg,#0388ff,#12c6ff);
  border-color:transparent;
  box-shadow:0 0 18px rgba(18,198,255,.25);
}

.station-warning,
.station-no-complete{
  border:1px solid rgba(251,191,36,.28);
  border-radius:12px;
  background:rgba(251,191,36,.055);
  color:#fde68a;
  padding:14px;
  margin-bottom:14px;
}

.station-no-complete strong{
  display:block;
  color:#fff;
}

.station-no-complete p{
  margin:4px 0 0;
  color:#c7d5ea;
}

.station-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:4px 0 18px;
}

.station-summary > div{
  border:1px solid rgba(82,164,255,.16);
  border-radius:12px;
  background:rgba(3,10,23,.46);
  padding:14px;
}

.station-summary span{
  display:block;
  color:#91a8ca;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.station-summary strong{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:25px;
  font-variant-numeric:tabular-nums;
}

.station-result-section + .station-result-section{
  margin-top:24px;
}

.station-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:11px;
}

.station-section-head h3{
  margin:0;
  color:#fff;
  font-size:19px;
}

.station-section-head p{
  margin:4px 0 0;
  color:#91a8ca;
  font-size:12px;
}

.station-section-head > span{
  color:#bfefff;
  font-size:12px;
  font-weight:800;
  border:1px solid rgba(56,216,255,.18);
  border-radius:999px;
  padding:6px 10px;
}

.station-result-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.station-result-card{
  min-width:0;
  border:1px solid rgba(82,164,255,.16);
  border-radius:14px;
  background:rgba(7,18,39,.62);
  padding:15px;
}

.station-result-card.complete{
  border-color:rgba(57,217,138,.30);
  background:
    radial-gradient(circle at 90% 0%,rgba(57,217,138,.06),transparent 36%),
    rgba(7,18,39,.66);
}

.station-result-card.partial{
  border-color:rgba(82,164,255,.18);
}

.station-result-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:13px;
}

.station-result-head > div > span{
  display:block;
  color:#7dd3fc;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.station-result-head h3{
  margin:4px 0 3px;
  color:#fff;
  font-size:19px;
}

.station-result-head p{
  margin:0;
  color:#91a8ca;
  font-size:12px;
}

.station-match-badge{
  flex:0 0 auto;
  display:inline-flex;
  padding:6px 10px;
  border:1px solid rgba(56,216,255,.18);
  border-radius:999px;
  background:rgba(56,216,255,.05);
  color:#c6f2ff;
  font-size:11px;
  white-space:nowrap;
}

.complete .station-match-badge{
  border-color:rgba(57,217,138,.26);
  background:rgba(57,217,138,.07);
  color:#8ff5bd;
}

.station-goods-list{
  display:grid;
  gap:7px;
}

.station-good-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(125px,.38fr) minmax(150px,.45fr);
  gap:12px;
  align-items:center;
  border:1px solid rgba(82,164,255,.11);
  border-radius:9px;
  background:rgba(3,10,23,.42);
  padding:10px 11px;
}

.station-good-line strong{
  display:block;
  color:#fff;
}

.station-good-line small{
  display:block;
  margin-top:3px;
  color:#91a8ca;
  font-size:11px;
}

.station-missing{
  margin-top:10px;
  border:1px dashed rgba(255,107,122,.20);
  border-radius:9px;
  background:rgba(255,107,122,.035);
  padding:10px;
}

.station-missing > span{
  display:block;
  color:#ffb3bb;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin-bottom:6px;
}

.station-missing > div{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.station-missing strong{
  display:inline-flex;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(255,107,122,.08);
  color:#ffd1d6;
  font-size:11px;
}

.station-result-footer{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(82,164,255,.12);
}

.station-result-footer > div > span{
  display:block;
  color:#dcecff;
  font-size:12px;
  font-weight:800;
}

.station-result-footer small{
  display:block;
  margin-top:3px;
  color:#91a8ca;
  font-size:10px;
}

.station-result-footer > .uvh-price{
  font-size:18px;
}

@media(max-width:1100px){
  .station-result-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:820px){
  .station-settings{
    grid-template-columns:1fr;
  }

  .station-input-row{
    grid-template-columns:1fr;
  }

  .station-remove-row{
    width:100%;
    min-height:42px!important;
  }

  .station-summary{
    grid-template-columns:1fr;
  }

  .station-result-head,
  .station-result-footer,
  .station-section-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .station-good-line{
    grid-template-columns:1fr;
  }
}


/* V1.4.1 – Stationsfinder Mengen */
.station-good-price,
.station-good-total{
  display:grid;
  justify-items:end;
  gap:3px;
  text-align:right;
}

.station-good-price small,
.station-good-total small{
  color:#91a8ca;
  font-size:10px;
}

.station-good-total .uvh-price{
  font-size:16px;
}

.station-scu-field input{
  text-align:right;
}

@media(max-width:1000px){
  .station-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .station-good-line{
    grid-template-columns:1fr 1fr;
  }

  .station-good-name{
    grid-column:1/-1;
  }

  .station-good-price{
    justify-items:start;
    text-align:left;
  }
}

@media(max-width:820px){
  .station-summary{
    grid-template-columns:1fr;
  }

  .station-good-line{
    grid-template-columns:1fr;
  }

  .station-good-name{
    grid-column:auto;
  }

  .station-good-price,
  .station-good-total{
    justify-items:start;
    text-align:left;
  }
}


/* V1.5.1 – Startort-Routenplaner: stabile Feldbreiten */
.route-mode-switch{
  display:inline-grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:8px;
  margin:0 0 18px;
  padding:6px;
  border:1px solid rgba(82,164,255,.16);
  border-radius:12px;
  background:rgba(3,10,23,.58);
}

.route-mode-switch button{
  min-height:42px;
}

.route-origin-panel,
.route-manual-panel{
  display:grid;
  gap:0;
}

.route-origin-settings{
  /* Nicht nach der Fensterbreite, sondern nach dem tatsächlich verfügbaren
     Platz umbrechen. So werden die Felder in schmaleren WordPress-Containern
     nicht zusammengedrückt, obwohl das Browserfenster selbst groß ist. */
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  max-width:none;
}

.route-origin-settings > label{
  min-width:0;
}

.route-origin-settings select,
.route-origin-settings input{
  box-sizing:border-box;
  min-width:0;
  height:50px;
  min-height:50px;
  font-size:15px;
  line-height:50px;
}

.route-origin-settings select{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.route-origin-location input{
  font-size:15px;
}

.route-origin-actions{
  align-items:center;
}

.route-origin-actions > span{
  color:#91a8ca;
  font-size:13px;
  font-weight:750;
}

.route-origin-intro{
  margin-top:4px;
  border:1px dashed rgba(56,216,255,.20);
  border-radius:13px;
  background:rgba(56,216,255,.025);
}

.route-origin-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:2px 0 14px;
}

.route-origin-summary > div{
  min-width:0;
  border:1px solid rgba(82,164,255,.16);
  border-radius:12px;
  background:
    radial-gradient(circle at 90% 0%,rgba(56,216,255,.06),transparent 40%),
    rgba(3,10,23,.55);
  padding:14px;
}

.route-origin-summary > div.best{
  border-color:rgba(57,217,138,.25);
  background:
    radial-gradient(circle at 90% 0%,rgba(57,217,138,.08),transparent 42%),
    rgba(3,10,23,.55);
}

.route-origin-summary span,
.route-origin-summary small{
  display:block;
  color:#91a8ca;
}

.route-origin-summary span{
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.route-origin-summary strong{
  display:block;
  overflow:hidden;
  margin:6px 0 3px;
  color:#fff;
  font-size:21px;
  line-height:1.2;
  text-overflow:ellipsis;
}

.route-origin-summary small{
  line-height:1.35;
}

.route-origin-list{
  display:grid;
  gap:14px;
}

.route-origin-card.route-card-best{
  border-color:rgba(57,217,138,.34);
  box-shadow:0 0 26px rgba(57,217,138,.07);
}

.route-profit-box.negative{
  border-color:rgba(255,107,122,.24);
  background:rgba(255,107,122,.035);
}

.route-origin-picks{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}

.route-origin-picks button{
  min-height:36px;
  padding:7px 11px;
}

.route-origin-not-found{
  margin-top:2px;
}

@media(max-width:1050px){
  .route-origin-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px){
  .route-mode-switch{
    display:grid;
    grid-template-columns:1fr;
    width:100%;
    box-sizing:border-box;
  }

  .route-origin-settings,
  .route-origin-summary{
    grid-template-columns:1fr;
  }

  .route-origin-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .route-origin-actions button{
    width:100%;
  }
}

/* V1.6.0 – Wunschziel-Handelsroute */
.route-mode-switch{
  grid-template-columns:repeat(3,minmax(180px,1fr));
}

.route-target-panel{
  display:grid;
  gap:0;
}

.route-target-settings{
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  max-width:none;
}

.route-target-settings > label{
  min-width:0;
}

.route-target-settings select,
.route-target-settings input{
  box-sizing:border-box;
  min-width:0;
  height:50px;
  min-height:50px;
  font-size:15px;
  line-height:50px;
}

.route-target-settings select{
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
}

.route-target-settings label > span em{
  margin-left:5px;
  color:#7891b6;
  font-size:10px;
  font-style:normal;
  font-weight:800;
  letter-spacing:.04em;
}

.route-target-actions{
  align-items:center;
}

.route-target-actions > span{
  color:#91a8ca;
  font-size:13px;
  font-weight:750;
}

.route-travel-status{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 0 14px;
  border:1px solid rgba(82,164,255,.16);
  border-radius:11px;
  background:rgba(3,10,23,.52);
  padding:11px 13px;
}

.route-travel-status strong{
  flex:0 0 auto;
  color:#fff;
  font-size:13px;
}

.route-travel-status span{
  color:#91a8ca;
  font-size:12px;
  line-height:1.45;
}

.route-travel-status.loading{
  border-color:rgba(56,216,255,.25);
}

.route-travel-status.ok{
  border-color:rgba(57,217,138,.23);
  background:rgba(57,217,138,.035);
}

.route-travel-status.warn{
  border-color:rgba(251,191,36,.24);
  background:rgba(251,191,36,.035);
}

.route-target-summary{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin:2px 0 14px;
}

.route-target-summary > div{
  min-width:0;
  border:1px solid rgba(82,164,255,.16);
  border-radius:12px;
  background:
    radial-gradient(circle at 90% 0%,rgba(56,216,255,.06),transparent 40%),
    rgba(3,10,23,.55);
  padding:14px;
}

.route-target-summary > div.best{
  border-color:rgba(57,217,138,.28);
  background:
    radial-gradient(circle at 90% 0%,rgba(57,217,138,.09),transparent 42%),
    rgba(3,10,23,.55);
}

.route-target-summary span,
.route-target-summary small{
  display:block;
  color:#91a8ca;
}

.route-target-summary span{
  font-size:11px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.route-target-summary strong{
  display:block;
  overflow:hidden;
  margin:6px 0 3px;
  color:#fff;
  font-size:20px;
  line-height:1.2;
  text-overflow:ellipsis;
}

.route-target-summary small{
  line-height:1.35;
}

.route-target-chain{
  display:flex;
  align-items:stretch;
  gap:8px;
  overflow-x:auto;
  margin:0 0 14px;
  padding:2px 1px 8px;
}

.route-chain-stop{
  flex:1 0 180px;
  min-width:0;
  border:1px solid rgba(82,164,255,.18);
  border-radius:12px;
  background:rgba(3,10,23,.58);
  padding:12px;
}

.route-chain-stop.destination{
  border-color:rgba(57,217,138,.30);
  background:rgba(57,217,138,.04);
}

.route-chain-stop span,
.route-chain-stop small{
  display:block;
  color:#91a8ca;
}

.route-chain-stop span{
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.route-chain-stop strong{
  display:block;
  margin:5px 0 3px;
  color:#fff;
  font-size:15px;
  line-height:1.25;
}

.route-chain-stop small{
  font-size:11px;
  line-height:1.35;
}

.route-chain-arrow{
  display:flex;
  flex:0 0 24px;
  align-items:center;
  justify-content:center;
  color:#38d8ff;
  font-size:20px;
  font-weight:900;
}

.route-target-legs{
  display:grid;
  gap:14px;
}

.route-target-leg{
  border-color:rgba(56,216,255,.22);
}

.route-target-leg-grid{
  grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) minmax(220px,.72fr);
}

.route-target-travel-line{
  display:grid;
  grid-template-columns:auto auto 1fr;
  gap:10px;
  align-items:center;
  margin-top:10px;
  border-top:1px solid rgba(82,164,255,.11);
  padding-top:10px;
}

.route-target-travel-line span{
  color:#91a8ca;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.route-target-travel-line strong{
  color:#dff8ff;
  font-size:14px;
}

.route-target-travel-line small{
  color:#91a8ca;
  font-size:12px;
}

.route-target-note{
  margin-top:14px;
  border:1px solid rgba(56,216,255,.16);
  border-radius:12px;
  background:rgba(56,216,255,.025);
  padding:13px 14px;
  color:#91a8ca;
  font-size:12px;
  line-height:1.55;
}

.route-target-note strong{
  color:#dff8ff;
}

.route-target-error{
  margin-top:2px;
}

@media(max-width:1300px){
  .route-target-summary{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .route-mode-switch{
    grid-template-columns:1fr;
    width:100%;
    box-sizing:border-box;
  }

  .route-target-summary{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .route-target-leg-grid{
    grid-template-columns:1fr;
  }

  .route-target-leg-grid .route-arrow{
    min-height:28px;
    transform:rotate(90deg);
  }
}

@media(max-width:650px){
  .route-target-settings,
  .route-target-summary{
    grid-template-columns:1fr;
  }

  .route-target-actions{
    align-items:stretch;
    flex-direction:column;
  }

  .route-target-actions button{
    width:100%;
  }

  .route-travel-status{
    display:grid;
  }

  .route-target-travel-line{
    grid-template-columns:1fr;
    gap:3px;
  }
}


/* V1.7.0 – Systemfilter und Sammelroute */
.route-collect-purchases{
  margin-top:2px;
}

.route-collect-stop .route-card-head small{
  display:block;
  margin-top:4px;
  color:#91a8ca;
}

.route-collect-lines{
  display:grid;
  gap:8px;
  margin-top:12px;
}

.route-collect-line{
  display:grid;
  grid-template-columns:minmax(230px,1.4fr) repeat(3,minmax(110px,.65fr)) minmax(150px,.75fr);
  gap:10px;
  align-items:center;
  border:1px solid rgba(82,164,255,.13);
  border-radius:11px;
  background:rgba(3,10,23,.48);
  padding:12px;
}

.route-collect-line > div{
  min-width:0;
}

.route-collect-line span,
.route-collect-line small{
  display:block;
  color:#91a8ca;
  font-size:11px;
}

.route-collect-line > div > strong{
  display:block;
  margin-top:4px;
  overflow:hidden;
  color:#fff;
  font-size:14px;
  line-height:1.25;
  text-overflow:ellipsis;
}

.route-collect-line .route-collect-good > strong{
  margin:0 0 4px;
  font-size:16px;
}

.route-collect-line .gain > strong{
  color:var(--uvh-green);
}

.route-collect-destination{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(180px,.7fr) minmax(220px,.8fr);
  gap:14px;
  align-items:center;
  margin-top:14px;
  border-color:rgba(57,217,138,.3);
  background:
    radial-gradient(circle at 90% 0%,rgba(57,217,138,.08),transparent 42%),
    rgba(3,10,23,.58);
}

.route-collect-destination span,
.route-collect-destination small{
  display:block;
  color:#91a8ca;
}

.route-collect-destination span{
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.route-collect-destination h3,
.route-collect-destination strong{
  margin:5px 0 3px;
  color:#fff;
}

.route-collect-destination .gain strong{
  color:var(--uvh-green);
  font-size:20px;
}

@media(max-width:1100px){
  .route-collect-line{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .route-collect-good{
    grid-column:1/-1;
  }
}

@media(max-width:760px){
  .route-collect-line,
  .route-collect-destination{
    grid-template-columns:1fr;
  }

  .route-collect-good{
    grid-column:auto;
  }
}


/* V1.8.0 – Schrittweiser Wunschziel-Planer und separate Beste-Route-Funktion */
.route-target-mode-switch{
  display:inline-grid;
  grid-template-columns:repeat(2,minmax(180px,1fr));
  gap:8px;
  margin:0 0 14px;
  padding:6px;
  border:1px solid rgba(82,164,255,.16);
  border-radius:12px;
  background:rgba(3,10,23,.58);
}

.route-target-mode-switch button{min-height:42px;}

.route-target-flow{
  display:grid;
  gap:12px;
  margin-bottom:14px;
}

.route-step-card{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:14px;
  align-items:start;
  border:1px solid rgba(82,164,255,.16);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(8,20,41,.78),rgba(3,10,23,.62));
  padding:14px;
}

.route-step-number{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border:1px solid rgba(56,216,255,.32);
  border-radius:12px;
  background:rgba(56,216,255,.07);
  color:#dff8ff;
  font-size:19px;
  font-weight:900;
}

.route-step-content{min-width:0;}
.route-step-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px;}
.route-step-head strong{color:#fff;font-size:16px;}
.route-step-head span{max-width:620px;color:#91a8ca;font-size:12px;line-height:1.45;text-align:right;}
.route-step-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;}
.route-step-fields label{display:grid;gap:7px;min-width:0;color:#d7e7ff;font-size:12px;font-weight:800;}
.route-step-fields label > span{color:#91a8ca;font-size:10px;text-transform:uppercase;letter-spacing:.07em;}
.route-step-fields label > span em{margin-left:5px;color:#7891b6;font-style:normal;}
.route-step-fields select,.route-step-fields input{
  box-sizing:border-box;width:100%;min-width:0;height:50px;border:1px solid rgba(82,164,255,.20);border-radius:10px;
  background:rgba(2,8,19,.82);padding:0 13px;color:#eef7ff;font-size:15px;
}
.route-step-fields select:focus,.route-step-fields input:focus{outline:none;border-color:rgba(56,216,255,.60);box-shadow:0 0 0 3px rgba(56,216,255,.08);}
.route-step-fields select:disabled{opacity:.72;cursor:not-allowed;}
.route-step-lock{margin-top:9px;color:#7891b6;font-size:11px;}

.route-step-summary{margin-top:2px;}
.route-step-cargo-check{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;border:1px solid rgba(57,217,138,.24);border-radius:11px;background:rgba(57,217,138,.035);padding:11px 13px;}
.route-step-cargo-check strong{color:#dff8e9;font-size:13px;}
.route-step-cargo-check span{color:#91a8ca;font-size:12px;}
.route-step-goods-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0 10px;}
.route-step-goods-head h3{margin:0 0 4px;color:#fff;font-size:18px;}
.route-step-goods-head p,.route-step-goods-head > span{margin:0;color:#91a8ca;font-size:12px;line-height:1.4;}
.route-step-goods-head > span{text-align:right;}
.route-step-opportunities{display:grid;gap:9px;}
.route-step-good{
  display:grid;grid-template-columns:minmax(210px,1.35fr) repeat(3,minmax(120px,.72fr)) minmax(155px,.82fr) minmax(130px,.7fr);
  gap:10px;align-items:center;border:1px solid rgba(82,164,255,.14);border-radius:12px;background:rgba(3,10,23,.55);padding:11px 12px;
}
.route-step-good > div,.route-step-good > label{min-width:0;}
.route-step-good span,.route-step-good small{display:block;color:#91a8ca;font-size:10px;}
.route-step-good strong{display:block;margin-top:3px;color:#fff;font-size:13px;line-height:1.3;}
.route-step-good-main strong{margin:0 0 3px;font-size:15px;}
.route-step-good .gain strong,.route-step-line-profit strong{color:#63e6a8;}
.route-step-amount{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;}
.route-step-amount span{grid-column:1/-1;}
.route-step-amount input{box-sizing:border-box;width:100%;height:39px;border:1px solid rgba(82,164,255,.22);border-radius:8px;background:rgba(2,8,19,.82);padding:0 9px;color:#fff;font-size:14px;}
.route-step-amount small{font-weight:800;}
.route-step-actions{flex-wrap:wrap;}
.route-step-finished{border-color:rgba(57,217,138,.30);background:rgba(57,217,138,.035);}

.route-journey-overview{margin-top:22px;border-top:1px solid rgba(82,164,255,.16);padding-top:4px;}
.route-journey-legs{display:grid;gap:12px;}
.route-journey-purchases{display:grid;gap:7px;margin-top:10px;}
.route-journey-purchases > div{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(82,164,255,.10);border-radius:9px;background:rgba(2,8,19,.35);padding:8px 10px;}
.route-journey-purchases strong{color:#fff;font-size:13px;}
.route-journey-purchases span{color:#91a8ca;font-size:12px;text-align:right;}

@media(max-width:1200px){
  .route-step-good{grid-template-columns:minmax(200px,1.4fr) repeat(2,minmax(120px,.8fr));}
  .route-step-good > :nth-child(n+4){grid-column:auto;}
}

@media(max-width:760px){
  .route-target-mode-switch{display:grid;grid-template-columns:1fr;width:100%;box-sizing:border-box;}
  .route-step-card{grid-template-columns:1fr;}
  .route-step-number{width:38px;height:38px;}
  .route-step-head,.route-step-goods-head,.route-step-cargo-check{display:grid;text-align:left;}
  .route-step-head span,.route-step-goods-head > span{text-align:left;}
  .route-step-fields{grid-template-columns:1fr;}
  .route-step-good{grid-template-columns:1fr 1fr;}
  .route-step-good-main{grid-column:1/-1;}
  .route-step-amount,.route-step-line-profit{grid-column:auto;}
  .route-journey-purchases > div{display:grid;}
  .route-journey-purchases span{text-align:left;}
}

@media(max-width:520px){
  .route-step-good{grid-template-columns:1fr;}
  .route-step-good-main,.route-step-amount,.route-step-line-profit{grid-column:auto;}
}


/* =========================================================
   V1.9.0 – kompakter gemeinsamer Routenplaner
   ========================================================= */
.compact-route-tool{display:grid;gap:14px}
.route-head.compact{margin-bottom:0;padding-bottom:0;border:0}
.route-head.compact h2{margin-bottom:4px}
.route-head.compact p{max-width:850px;margin:0;color:var(--uvh-muted,#9ba7b7)}
.route-workspace-switch,.route-target-mode-switch.compact{display:flex;gap:8px;flex-wrap:wrap;padding:6px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:12px;width:max-content;max-width:100%}
.route-workspace-switch button,.route-target-mode-switch.compact button{min-height:36px;padding:8px 14px;border-radius:8px}
.route-compact-panel{display:grid;gap:12px}
.route-compact-flow{display:grid!important;grid-template-columns:minmax(210px,.85fr) minmax(330px,1.35fr) minmax(270px,1fr);gap:10px!important;align-items:stretch}
.route-compact-block{min-width:0;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(9,14,22,.72);box-shadow:none}
.route-compact-title{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.route-compact-title>span{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:7px;background:rgba(67,170,255,.14);color:#8ed1ff;font-weight:800;font-size:12px}
.route-compact-title>div{display:grid;line-height:1.15}
.route-compact-title strong{font-size:14px;color:#fff}
.route-compact-title small{font-size:11px;color:#8492a6;margin-top:3px}
.route-choice-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:8px;align-items:start;margin-top:8px}
.route-choice-label{padding-top:8px;color:#98a5b6;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.route-choice-buttons{display:flex;gap:5px;flex-wrap:wrap}
.route-choice-buttons button{min-height:31px;padding:6px 9px;border-radius:7px;font-size:12px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);color:#cbd5e1}
.route-choice-buttons button:hover{border-color:rgba(104,190,255,.45);color:#fff}
.route-choice-buttons button.active{background:rgba(40,154,230,.2);border-color:#3da7ec;color:#fff;box-shadow:inset 0 0 0 1px rgba(61,167,236,.12)}
.route-compact-fields{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.route-compact-fields>label,.route-good-filter{display:grid;gap:5px;min-width:0}
.route-compact-fields>label>span,.route-good-filter>span{color:#aeb9c7;font-size:12px;font-weight:700}
.route-compact-fields input,.route-good-filter input{width:100%;height:38px;padding:8px 10px;border-radius:8px}
.route-station-combobox{display:grid;gap:4px;min-width:0}
.route-station-full{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#78879b;font-size:10px;min-height:14px}
.route-station-full strong{color:#aeb9c7;font-weight:700}
.route-step-lock.compact{margin-top:8px;padding:7px 9px;font-size:11px}
.route-good-filter{margin-bottom:8px}
.route-compact-actions{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px!important;margin:0!important;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07)}
.route-compact-actions>span{font-size:12px;color:#8e9bad}
.route-travel-mini{margin-left:auto;font-size:11px;color:#7f8b9d}
.route-travel-mini.ok{color:#64c790}.route-travel-mini.warn{color:#e8b86b}.route-travel-mini.loading{color:#82c9f4}
.route-target-summary{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))!important;gap:7px!important}
.route-target-summary>div{padding:10px!important;min-height:74px!important}
.route-target-chain{padding:10px!important;gap:7px!important}
.route-chain-stop{min-width:150px!important;padding:9px!important}
.route-step-opportunities{gap:7px!important}
.route-step-good{grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(95px,.65fr)) minmax(135px,.8fr) minmax(95px,.6fr)!important;padding:10px!important;gap:8px!important}
.route-step-good-main small{max-width:420px}
.route-step-amount input{height:34px}
.route-journey-overview{margin-top:12px!important}
.uvh-station-finder.embedded{padding:0!important;background:none!important;border:0!important;box-shadow:none!important}
.station-finder-head.compact{margin:0 0 10px!important;padding:0!important}
.station-finder-head.compact h3{margin:0 0 3px;font-size:18px}
.station-finder-head.compact p{margin:0;color:#8f9bad;font-size:12px}
.station-compact-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:rgba(9,14,22,.72)}
.station-input-row.compact{grid-template-columns:minmax(0,1fr) 58px 36px!important;gap:8px!important;align-items:end!important}
.station-one-scu{display:grid;place-items:center;height:38px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:rgba(255,255,255,.035);font-size:11px;color:#9eabbc}
.station-goods-inputs{gap:7px!important}
.station-form-actions{margin-top:9px!important}
.station-summary{grid-template-columns:repeat(4,minmax(120px,1fr))!important;gap:7px!important}
.station-result-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important;gap:9px!important}
@media (max-width:1100px){.route-compact-flow{grid-template-columns:1fr 1fr}.route-trade-block{grid-column:1/-1}}
@media (max-width:760px){.route-compact-flow,.route-compact-fields,.station-compact-controls{grid-template-columns:1fr}.route-trade-block{grid-column:auto}.route-choice-row{grid-template-columns:1fr}.route-choice-label{padding-top:0}.route-travel-mini{width:100%;margin-left:0}.route-step-good{grid-template-columns:1fr 1fr!important}.route-step-good-main{grid-column:1/-1}.station-summary{grid-template-columns:1fr 1fr!important}}
@media (max-width:480px){.route-workspace-switch,.route-target-mode-switch.compact{width:100%}.route-workspace-switch button,.route-target-mode-switch.compact button{flex:1}.route-step-good{grid-template-columns:1fr!important}.station-summary{grid-template-columns:1fr!important}}

/* V1.9.0: globale Kopfleiste kompakter */
.uvh-w-stats{gap:8px!important}
.uvh-w-stats div{min-height:72px!important;padding:12px 14px!important;border-radius:10px!important}
.uvh-w-stats strong{font-size:20px!important;margin-top:5px!important}
.uvh-w-stats span{font-size:10px!important}
.uvh-w-stats small{font-size:10px!important;margin-top:3px!important}
.uvh-w-controls{padding:9px 11px!important;gap:9px!important}


/* V1.10.0 – vereinheitlichter kompakter Routenplaner */
.route-unified-tool{gap:14px!important}
.route-color-section{display:grid;gap:12px;border:1px solid;border-radius:15px;padding:14px;overflow:hidden}
.route-color-blue{border-color:rgba(61,167,236,.28);background:linear-gradient(145deg,rgba(20,93,155,.19),rgba(7,18,32,.82))}
.route-color-orange{border-color:rgba(251,146,60,.38);background:linear-gradient(145deg,rgba(151,71,20,.18),rgba(31,15,8,.82))}
.route-color-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.route-color-head>div{display:flex;align-items:center;gap:10px}
.route-color-head>div>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:13px;font-weight:900}
.route-color-orange .route-color-head>div>span{background:rgba(251,146,60,.22);color:#ffd7b8}
.route-color-head>div>div{display:grid;gap:2px}
.route-color-head strong{color:#fff;font-size:16px}
.route-color-head small{color:#9eb0c7;font-size:11px}
.route-color-orange .route-color-head small{color:#d5a982}
.route-color-section .route-compact-block{background:rgba(2,8,19,.44)}
.route-color-orange .route-target-summary>div,.route-color-orange .route-card,.route-color-orange .route-chain-stop,.route-color-orange .route-step-good{border-color:rgba(251,146,60,.20);background:rgba(19,9,4,.46)}
.route-color-orange .route-target-summary>div.best{border-color:rgba(251,146,60,.38);background:rgba(251,146,60,.08)}
.route-color-orange .route-chain-arrow{color:#fb923c}
.route-unified-preview{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;border:1px solid rgba(251,146,60,.25);border-radius:11px;background:rgba(251,146,60,.065);padding:10px 12px}
.route-unified-preview>div:first-child{display:grid;gap:2px}
.route-unified-preview strong{color:#fff;font-size:13px}
.route-unified-preview small{color:#d5a982;font-size:11px}
.route-unified-preview-chain{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:0;overflow:auto;padding-bottom:2px}
.route-unified-preview-chain span{flex:0 0 auto;border:1px solid rgba(251,146,60,.22);border-radius:7px;background:rgba(0,0,0,.18);padding:5px 8px;color:#f5dcc7;font-size:11px;font-weight:700}
.route-unified-preview-chain b{color:#fb923c;font-size:12px}
.route-summary-section .route-journey-overview{margin:0!important;border:0!important;padding:0!important}
.route-summary-empty{margin:0!important;min-height:80px}
.route-step-good{grid-template-columns:minmax(165px,1.2fr) minmax(170px,1fr) repeat(4,minmax(90px,.62fr))!important;align-items:center}
.route-crate-picker{display:grid;gap:5px;min-width:0}
.route-crate-picker-head{display:flex;align-items:center;justify-content:space-between;gap:7px}
.route-crate-picker-head span{color:#c69b79!important}
.route-crate-picker-head strong{margin:0!important;color:#fff!important;font-size:12px!important;white-space:nowrap}
.route-crate-buttons{display:grid;grid-template-columns:repeat(4,minmax(29px,1fr));gap:4px}
.route-crate-buttons button{min-width:0;min-height:27px;border:1px solid rgba(251,146,60,.25);border-radius:6px;background:rgba(251,146,60,.075);padding:3px 4px;color:#ffd2ad;font-size:10px;font-weight:800}
.route-crate-buttons button:hover{border-color:rgba(251,146,60,.60);background:rgba(251,146,60,.14);color:#fff}
.route-crate-reset{justify-self:start;min-height:0!important;border:0!important;background:transparent!important;padding:0!important;color:#b98c69!important;font-size:9px!important;text-decoration:underline}
.route-crate-reset:hover{color:#fff!important}
.route-station-combobox input{font-weight:700}
.route-station-full{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1180px){.route-step-good{grid-template-columns:minmax(180px,1.2fr) minmax(170px,1fr) repeat(2,minmax(100px,.7fr))!important}.route-step-good .gain,.route-step-line-profit{grid-column:auto}}
@media (max-width:820px){.route-unified-preview{grid-template-columns:1fr}.route-unified-preview-chain{justify-content:flex-start}.route-step-good{grid-template-columns:1fr 1fr!important}.route-step-good-main,.route-crate-picker{grid-column:1/-1}}
@media (max-width:480px){.route-color-section{padding:10px}.route-step-good{grid-template-columns:1fr!important}.route-step-good-main,.route-crate-picker{grid-column:auto}.route-crate-buttons{grid-template-columns:repeat(4,1fr)}}


/* V1.10.1 – Kistengröße als Einzelauswahl und responsive Routenzusammenfassung */
.route-step-good{grid-template-columns:minmax(155px,1.15fr) minmax(150px,.95fr) repeat(3,minmax(105px,.72fr)) minmax(135px,.82fr) minmax(100px,.62fr)!important}
.route-crate-picker-head span{color:#c69b79!important}
.route-crate-buttons button.active{border-color:rgba(251,146,60,.88);background:rgba(251,146,60,.25);box-shadow:0 0 0 1px rgba(251,146,60,.20) inset;color:#fff}
.route-step-good>div>small{display:block;margin-top:3px;color:#8694a8;font-size:9px;line-height:1.25}
.route-step-amount{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 6px;align-items:center}
.route-step-amount span{grid-column:1/-1}
.route-step-amount input{width:100%;min-width:70px;height:34px}
.route-step-amount small{margin:0!important;color:#aab4c2!important;font-size:10px!important}
.route-summary-chain{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));align-items:stretch;gap:8px!important;overflow:visible!important;padding:10px!important}
.route-summary-chain .route-chain-stop{min-width:0!important;width:auto!important;margin:0}
.route-summary-chain .route-chain-stop strong{margin-bottom:0}
.route-summary-chain .route-chain-arrow{display:none!important}
@media (max-width:1180px){.route-step-good{grid-template-columns:minmax(170px,1.15fr) minmax(150px,.95fr) repeat(2,minmax(105px,.72fr))!important}.route-step-amount,.route-step-line-profit{grid-column:auto}}
@media (max-width:820px){.route-step-good{grid-template-columns:1fr 1fr!important}.route-step-good-main,.route-crate-picker{grid-column:1/-1}.route-summary-chain{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.route-step-good{grid-template-columns:1fr!important}.route-step-good-main,.route-crate-picker{grid-column:auto}.route-summary-chain{grid-template-columns:1fr}}


/* V1.10.3 – alternative Waren untereinander mit sauberer Aktionsspalte */
.route-step-alternatives{display:grid;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid rgba(251,146,60,.18)}
.route-step-alternative-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.route-step-alternative-head h3{margin:0 0 4px;color:#fff;font-size:16px}
.route-step-alternative-head p,.route-step-alternative-head>span{margin:0;color:#c79a77;font-size:11px;line-height:1.4}
.route-step-alternative-head>span{flex:0 0 auto;text-align:right}
.route-step-alternative-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%}
.route-step-alternative{display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(90px,.65fr) minmax(170px,1.15fr) minmax(90px,.65fr) minmax(130px,auto);align-items:center;gap:10px;width:100%;box-sizing:border-box;border:1px solid rgba(251,146,60,.18);border-radius:10px;background:rgba(19,9,4,.38);padding:10px 11px}
.route-step-alternative>div{min-width:0}
.route-step-alternative span,.route-step-alternative small{display:block;color:#a98b74;font-size:9px;line-height:1.25}
.route-step-alternative strong{display:block;margin-top:2px;color:#fff;font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.route-step-alternative-title strong{margin:0 0 2px;font-size:13px}
.route-step-alternative .gain strong{color:#63e6a8}
.route-step-alternative button{justify-self:end;align-self:center;min-width:130px;min-height:34px;margin:0;border-color:rgba(251,146,60,.34);background:rgba(251,146,60,.10);color:#ffd2ad;font-size:10px;font-weight:850;white-space:nowrap}
.route-step-alternative button:hover{border-color:rgba(251,146,60,.72);background:rgba(251,146,60,.20);color:#fff}
@media (max-width:980px){.route-step-alternative{grid-template-columns:minmax(150px,1fr) repeat(3,minmax(95px,.72fr));}.route-step-alternative button{grid-column:1/-1;justify-self:end;min-width:150px}}
@media (max-width:700px){.route-step-alternative-head{display:grid;align-items:start}.route-step-alternative-head>span{text-align:left}.route-step-alternative{grid-template-columns:1fr 1fr}.route-step-alternative-title{grid-column:1/-1}.route-step-alternative button{grid-column:1/-1;justify-self:stretch;width:100%}}
@media (max-width:420px){.route-step-alternative{grid-template-columns:1fr}.route-step-alternative-title,.route-step-alternative button{grid-column:auto}.route-step-alternative button{width:100%;min-width:0}}
