:root{
  --ubes-route-accent:#2f5d50;
  --ubes-route-accent-dark:#24483f;
  --ubes-route-bg:#f5f3ee;
  --ubes-route-surface:#ffffff;
  --ubes-route-text:#2d2d2d;
  --ubes-route-muted:#6f746f;
  --ubes-route-border:#dfe3df;
  --ubes-route-soft:#eef3f0;
}

.ubes-route-map-module,.ubes-route-logbook-table,.ubes-route-form{color:var(--ubes-route-text);font-family:inherit}
.ubes-route-map-module,.ubes-route-logbook-table{max-width:1180px;margin-left:auto;margin-right:auto}

/* MAP */
.ubes-route-master-map{
  width:100%;
  height:560px!important;
  min-height:560px!important;
  display:block!important;
  position:relative;
  border:1px solid #cfd8d2;
  border-radius:18px;
  overflow:hidden;
  background:#e9e8e2;
  margin:18px 0 18px;
  box-shadow:0 8px 26px rgba(36,72,63,.08);
}
.ubes-route-master-map .leaflet-overlay-pane{filter:none}
.ubes-route-master-map .leaflet-control-zoom{
  border:0!important;
  box-shadow:0 2px 10px rgba(36,72,63,.14)!important;
}
.ubes-route-master-map .leaflet-control-zoom a{
  background:rgba(255,255,255,.94)!important;
  color:var(--ubes-route-accent-dark)!important;
  border-color:#d8dfda!important;
}
.ubes-route-master-map .leaflet-control-zoom a:hover{background:var(--ubes-route-soft)!important}
.ubes-route-master-map .leaflet-control-attribution{
  background:rgba(255,255,255,.78)!important;
  color:#66706a!important;
  font-size:10px!important;
}
.ubes-route-tooltip{
  border:1px solid #cfd8d2!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.96)!important;
  color:var(--ubes-route-accent-dark)!important;
  box-shadow:0 4px 14px rgba(36,72,63,.12)!important;
  font-family:inherit!important;
  font-weight:650!important;
}

/* SELECTED ROUTE CARD */
.ubes-selected-route{
  width:min(820px,calc(100% - 28px));
  box-sizing:border-box;
  margin:0 auto 34px;
  border:1px solid var(--ubes-route-border);
  border-radius:15px;
  background:var(--ubes-route-surface);
  padding:20px 22px;
  box-shadow:0 5px 18px rgba(36,72,63,.055);
}
.ubes-selected-empty{text-align:center;color:var(--ubes-route-muted);padding:8px 4px;font-size:14px}
.ubes-selected-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.ubes-selected-heading h2{margin:0 0 4px;font-size:23px;line-height:1.2;color:var(--ubes-route-accent-dark)}
.ubes-route-meta-line{color:var(--ubes-route-muted);margin:0;font-size:14px}
.ubes-route-stats{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 8px}
.ubes-route-stats>div{min-width:105px;padding:9px 13px;background:var(--ubes-route-soft);border-radius:10px;text-align:left}
.ubes-route-stats strong{display:inline;font-size:19px;line-height:1.05;color:var(--ubes-route-accent-dark)}
.ubes-route-stats span{display:inline;margin-left:4px;color:var(--ubes-route-muted);font-size:11px}
.ubes-route-section{margin:14px 0 0;padding-top:14px;border-top:1px solid #edf0ed}
.ubes-route-section h3{margin:0 0 6px;font-size:15px;color:var(--ubes-route-accent-dark)}
.ubes-route-section p{margin:0;white-space:pre-line;line-height:1.6;font-size:14px}
.ubes-route-credit{margin:17px 0 0;color:var(--ubes-route-muted);font-size:13px}
.ubes-selected-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px;align-items:start}
.ubes-selected-main{min-width:0}
.ubes-route-image{width:230px;align-self:stretch;min-height:190px}
.ubes-route-image img{display:block;width:100%;height:100%;min-height:190px;max-height:300px;object-fit:cover;border-radius:12px}
.ubes-gpx-download,.ubes-route-submit{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border-radius:9px;border:0;
  background:var(--ubes-route-accent)!important;color:#fff!important;text-decoration:none!important;font-weight:700;cursor:pointer;white-space:nowrap;
  transition:background .18s ease,transform .18s ease;
}
.ubes-gpx-download:hover,.ubes-route-submit:hover{background:var(--ubes-route-accent-dark);transform:translateY(-1px)}

/* LOGBOOK TABLE */
.ubes-route-logbook-table{margin-top:12px;margin-bottom:34px}
.ubes-logbook-controls{
  display:grid;grid-template-columns:2fr repeat(4,minmax(135px,1fr));gap:12px;align-items:end;margin-bottom:12px;
  padding:15px;background:var(--ubes-route-bg);border:1px solid #e4e2db;border-radius:14px;
}
.ubes-logbook-controls label{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;color:#4f5652;text-transform:uppercase;letter-spacing:.035em}
.ubes-logbook-controls input,.ubes-logbook-controls select{
  width:100%;box-sizing:border-box;border:1px solid #cbd3ce;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ubes-route-text);
  font-size:14px;text-transform:none;letter-spacing:0;
}
.ubes-logbook-controls input:focus,.ubes-logbook-controls select:focus,.ubes-route-form input:focus,.ubes-route-form select:focus,.ubes-route-form textarea:focus{
  outline:2px solid rgba(47,93,80,.24);border-color:var(--ubes-route-accent)
}
.ubes-logbook-count{font-size:13px;color:var(--ubes-route-muted);margin:10px 2px}
.ubes-table-scroll{overflow-x:auto;border:1px solid var(--ubes-route-border);border-radius:14px;background:#fff}
.ubes-route-table{width:100%;border-collapse:collapse;min-width:920px;margin:0}
.ubes-route-table th,.ubes-route-table td{text-align:left;padding:12px 13px;border-bottom:1px solid #edf0ed;font-size:14px;vertical-align:middle}
.ubes-route-table th{background:#f3f5f3;font-weight:700;white-space:nowrap;color:#454c48}
.ubes-route-table tbody tr{cursor:pointer;background:#fff;transition:background .14s ease}
.ubes-route-table tbody tr:last-child td{border-bottom:0}
.ubes-route-table tbody tr:hover,.ubes-route-table tbody tr:focus,.ubes-route-table tbody tr.is-selected{background:#edf3f0;outline:none}
.ubes-route-table tbody tr.is-selected td:first-child{box-shadow:inset 4px 0 0 var(--ubes-route-accent)}
.ubes-route-table tbody td:first-child{font-weight:700;color:var(--ubes-route-accent-dark)}

/* SUBMISSION FORM */
.ubes-route-form{max-width:980px;margin:0 auto;padding:24px 26px;background:var(--ubes-route-bg);border:1px solid #e1e0d9;border-radius:15px}
.ubes-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px}
.ubes-form-wide{grid-column:1/-1}
.ubes-route-form label{display:block;font-weight:650;margin:0 0 7px;color:#404642}
.ubes-route-form input,.ubes-route-form select,.ubes-route-form textarea{width:100%;box-sizing:border-box;font:inherit}
.ubes-route-form input[type=text],.ubes-route-form input[type=email],.ubes-route-form input[type=date],.ubes-route-form input[type=file],.ubes-route-form select,.ubes-route-form textarea{
  border:1px solid #cbd3ce;border-radius:9px;padding:10px 12px;background:#fff;color:var(--ubes-route-text)
}
.ubes-route-form textarea{resize:vertical;line-height:1.5}
.ubes-route-form small{display:block;margin-top:6px;color:var(--ubes-route-muted);font-size:12px;line-height:1.45}
.ubes-route-submit{margin-top:22px;font-size:15px}
.ubes-route-message{max-width:980px;margin:0 auto 18px;padding:14px 18px;border-radius:10px}
.ubes-route-success{background:#edf5f0;border:1px solid #aac8b6}
.ubes-route-error{background:#fff1f1;border:1px solid #d5a3a3}

/* OLD CARD SHORTCODE */
.ubes-route-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:980px;margin:0 auto}
.ubes-route-card{border:1px solid var(--ubes-route-border);border-radius:13px;background:#fff}
.ubes-route-card-body{padding:16px}
.ubes-route-card-body h3{margin:0 0 7px;font-size:18px}
.ubes-route-card-meta{color:var(--ubes-route-muted);font-size:13px}
.ubes-map-error{display:flex;align-items:center;justify-content:center;min-height:220px;padding:24px;text-align:center;background:var(--ubes-route-bg);color:#5b5b5b;border:1px solid var(--ubes-route-border);border-radius:14px}

@media(max-width:1000px){
  .ubes-logbook-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ubes-search-control{grid-column:1/-1}
}
@media(max-width:800px){
  .ubes-route-master-map{height:430px!important;min-height:430px!important}
  .ubes-route-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ubes-selected-layout{grid-template-columns:minmax(0,1fr) 190px}
  .ubes-route-image{width:190px}
}
@media(max-width:600px){
  .ubes-route-master-map{height:350px!important;min-height:350px!important;border-radius:12px}
  .ubes-logbook-controls,.ubes-form-grid,.ubes-route-cards{grid-template-columns:1fr}
  .ubes-selected-layout{grid-template-columns:1fr}
  .ubes-route-image{width:100%;min-height:0;order:-1}
  .ubes-route-image img{height:180px;min-height:180px;max-height:180px}
  .ubes-search-control,.ubes-form-wide{grid-column:auto}
  .ubes-route-form{padding:18px}
  .ubes-selected-route{width:calc(100% - 16px);padding:17px}
  .ubes-selected-heading{display:block}
  .ubes-gpx-download{margin-top:12px}
  .ubes-route-stats{gap:6px}
  .ubes-route-stats>div{min-width:0;flex:1;padding:9px 8px;text-align:center}
  .ubes-route-stats strong{font-size:17px}
  .ubes-route-stats span{display:block;margin:3px 0 0;font-size:10px}
}

/* CLEAN MAP LABELS */
.ubes-route-master-map .leaflet-tile-pane{filter:sepia(.04) saturate(.55) brightness(1.02) contrast(.94)}
