:root{
  --tc-bg:#f5f7f9;
  --tc-surface:#fff;
  --tc-surface-2:#f8fafc;
  --tc-text:#111827;
  --tc-muted:#667085;
  --tc-line:#e4e9ee;
  --tc-navy:#0b2d44;
  --tc-navy-2:#123f5d;
  --tc-accent:#f58220;
  --tc-accent-2:#ff9d4d;
  --tc-green:#138a62;
  --tc-radius:22px;
  --tc-shadow:0 18px 46px rgba(13,34,50,.10);
}
.tc-shell{width:min(1360px,calc(100% - 32px));margin:0 auto;padding:26px 0 56px;color:var(--tc-text);font:inherit}
.tc-shell.tc-shell-has-page-hero{padding-top:0}
.tc-shell *{box-sizing:border-box}.tc-shell button,.tc-shell input{font:inherit}.tc-form label{display:block;min-width:0}
.tc-hero{padding:8px 0 22px}.tc-kicker{display:inline-flex;align-items:center;gap:10px;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--tc-accent)}.tc-kicker:before{content:"";width:26px;height:3px;border-radius:99px;background:currentColor}
.tc-hero h1{margin:.45rem 0 .55rem;max-width:none;font-size:clamp(2rem,3vw,3.15rem);font-weight:850;line-height:1.04;letter-spacing:-.035em;color:var(--tc-text)}
.tc-hero p{max-width:none;margin:0;color:var(--tc-muted);font-size:1rem;line-height:1.55}
@media(min-width:980px){.tc-hero h1,.tc-hero p{white-space:nowrap}}
.tc-card,.tc-map-card{background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:var(--tc-radius);box-shadow:var(--tc-shadow)}
.tc-search-card{position:relative;overflow:visible;padding:24px 28px}.tc-search-card:before{content:"";position:absolute;left:1px;top:1px;bottom:1px;width:4px;border-radius:21px 0 0 21px;background:linear-gradient(180deg,var(--tc-accent),var(--tc-accent-2));pointer-events:none}
.tc-grid{display:grid;gap:18px}.tc-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tc-form label>span,.tc-field-label{display:block;margin:0 0 6px;font-size:.76rem;font-weight:850;color:#35404c;letter-spacing:.01em}
.tc-form input{appearance:none;width:100%;height:44px;border:1px solid #dce2e8;border-radius:11px;background:#fff;color:var(--tc-text);padding:0 12px;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}.tc-form input:hover{border-color:#cbd3db}.tc-form input:focus{border-color:var(--tc-accent);box-shadow:0 0 0 3px rgba(245,130,32,.11)}
.tc-route-points{gap:20px}.tc-location-field{position:relative;min-width:0;width:100%}.tc-location-field>label{width:100%}.tc-location-input-wrap{position:relative;width:100%}.tc-location-input{width:100%!important;height:66px!important;border-radius:15px!important;padding:0 50px 0 18px!important;font-size:1.05rem!important;font-weight:760}.tc-location-input::placeholder{font-weight:500;color:#98a2b3}.tc-location-dot{position:absolute;right:18px;top:50%;width:11px;height:11px;margin-top:-5.5px;border:3px solid rgba(245,130,32,.22);border-radius:50%;background:var(--tc-accent);pointer-events:none}
.tc-location-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.tc-location-btn{appearance:none;border:1px solid var(--tc-line);border-radius:9px;background:#fff;color:var(--tc-navy);padding:7px 10px;font-size:.72rem;font-weight:850;cursor:pointer;transition:.16s ease}.tc-location-btn:hover{border-color:rgba(245,130,32,.7);color:var(--tc-accent);background:#fff9f4}.tc-location-btn span{margin-right:5px}
.tc-suggestions{position:absolute;z-index:40;left:0;right:0;top:98px;padding:7px;background:#fff;border:1px solid var(--tc-line);border-radius:14px;box-shadow:0 18px 40px rgba(13,34,50,.16);max-height:310px;overflow:auto}.tc-suggestion{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;border:0;border-radius:10px;background:#fff;padding:11px 12px;text-align:left;cursor:pointer;color:var(--tc-text)}.tc-suggestion:hover{background:#fff7ef}.tc-suggestion strong{display:block;font-size:.9rem;line-height:1.3}.tc-suggestion small{flex:0 0 auto;color:var(--tc-muted);font-size:.68rem;text-transform:uppercase}
.tc-vehicle-section{margin-top:18px}.tc-vehicle-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tc-vehicle-option{appearance:none;min-width:0;min-height:58px;border:1px solid var(--tc-line);border-radius:13px;background:#fff;color:var(--tc-navy);padding:8px 10px;cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.tc-vehicle-option:hover{transform:translateY(-1px);border-color:#cfd6dd;box-shadow:0 7px 20px rgba(13,34,50,.06)}.tc-vehicle-option.is-selected{border-color:var(--tc-accent);background:linear-gradient(180deg,#fffaf5,#fff5eb);color:var(--tc-accent);box-shadow:0 0 0 3px rgba(245,130,32,.08)}.tc-vehicle-name{font-size:.72rem;font-weight:900;text-align:left;line-height:1.15;white-space:normal}.tc-vehicle-icon{display:block;flex:0 0 auto;width:42px;height:28px;background:currentColor;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}.tc-vehicle-icon-motorcycle{mask-image:url('../images/vehicle-motorcycle.svg');-webkit-mask-image:url('../images/vehicle-motorcycle.svg')}.tc-vehicle-icon-car{mask-image:url('../images/vehicle-car.svg');-webkit-mask-image:url('../images/vehicle-car.svg')}.tc-vehicle-icon-camper{mask-image:url('../images/vehicle-camper.svg');-webkit-mask-image:url('../images/vehicle-camper.svg')}.tc-vehicle-icon-van{mask-image:url('../images/vehicle-van.svg');-webkit-mask-image:url('../images/vehicle-van.svg')}.tc-vehicle-icon-truck{mask-image:url('../images/vehicle-truck.svg');-webkit-mask-image:url('../images/vehicle-truck.svg')}.tc-vehicle-icon-bus{mask-image:url('../images/vehicle-bus.svg');-webkit-mask-image:url('../images/vehicle-bus.svg')}
.tc-vehicle-data-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-top:16px;padding-top:15px;border-top:1px solid var(--tc-line)}.tc-cost-fields,.tc-dimension-fields{display:flex;align-items:flex-start;gap:8px;min-width:0}.tc-cost-fields{flex:0 0 auto}.tc-dimension-fields{flex:1 1 auto;justify-content:flex-end;flex-wrap:nowrap}.tc-compact-field{width:118px;min-width:0}.tc-field-consumption{width:132px}.tc-field-fuel{width:126px}.tc-compact-field[hidden]{display:none!important}.tc-compact-field input{height:38px;border-radius:9px;padding:0 10px}.tc-input-unit{position:relative}.tc-input-unit input{padding-right:48px}.tc-input-unit span{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.67rem;font-weight:850;color:var(--tc-muted);pointer-events:none}.tc-field-note{display:block;margin-top:4px;color:#8a94a2;font-size:.61rem;line-height:1.25}
.tc-actions{display:flex;align-items:center;gap:16px;margin-top:16px;padding-top:16px;border-top:1px solid var(--tc-line)}.tc-primary{display:inline-flex;align-items:center;justify-content:center;min-width:145px;min-height:46px;border:0;border-radius:12px;padding:0 22px;font-weight:900;background:linear-gradient(135deg,var(--tc-accent),var(--tc-accent-2));color:#fff;box-shadow:0 10px 25px rgba(245,130,32,.22);cursor:pointer;transition:transform .16s,box-shadow .16s,opacity .16s}.tc-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 13px 31px rgba(245,130,32,.3)}.tc-primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.tc-primary.is-loading{opacity:.76}.tc-status{color:var(--tc-muted);font-size:.8rem;line-height:1.4}.tc-status.is-error{color:#b42318;font-weight:750}
.tc-results{scroll-margin-top:30px;margin-top:20px}.tc-result-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin:0 2px 10px}.tc-result-head>div{display:flex;gap:9px;align-items:center;font-weight:900;font-size:.92rem}.tc-result-head b{color:var(--tc-accent)}.tc-result-head small{color:var(--tc-muted);font-size:.72rem}.tc-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tc-result-card{position:relative;overflow:hidden;background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:16px;padding:17px 18px;min-height:178px;box-shadow:0 8px 30px rgba(20,26,32,.05);cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s,background .16s;outline:none}.tc-result-card:hover:not(.is-unavailable),.tc-result-card:focus-visible:not(.is-unavailable){transform:translateY(-2px);border-color:#cfd6dd;box-shadow:0 14px 34px rgba(20,26,32,.09)}.tc-result-card-active{border-color:rgba(245,130,32,.58);background:linear-gradient(180deg,#fff 0%,#fff8f2 100%)}.tc-result-card-active:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--tc-accent)}.tc-result-card>span{display:block;color:var(--tc-muted);font-size:.69rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.tc-result-card>strong{display:block;margin:.5rem 0 .38rem;font-size:1.7rem;line-height:1;letter-spacing:-.035em;color:var(--tc-navy)}.tc-result-card>small{display:block;color:var(--tc-muted);font-weight:700;font-size:.78rem}.tc-result-card.is-unavailable{background:#fafbfc;cursor:not-allowed;opacity:.78}.tc-route-roads{margin-top:8px;color:var(--tc-navy);font-size:.72rem;font-weight:800;line-height:1.35}.tc-route-verification{display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:5px 8px;border-radius:999px;background:#eaf8f2;color:#0b6d4e;font-size:.66rem;font-weight:900}.tc-route-verification.is-warning{background:#fff4e8;color:#9a5a12}.tc-cost-breakdown{display:flex;gap:12px;flex-wrap:wrap;margin-top:11px;padding-top:10px;border-top:1px dashed var(--tc-line);font-size:.72rem;color:var(--tc-muted)}.tc-cost-breakdown b{color:var(--tc-text)}.tc-route-unavailable{margin-top:9px;color:#8a5a1f;font-size:.72rem;line-height:1.4}.tc-view-route{display:flex!important;align-items:center;justify-content:flex-end;gap:6px;margin-top:10px;color:var(--tc-navy)!important;font-size:.72rem!important;font-weight:900!important;text-transform:none!important;letter-spacing:0!important}.tc-result-card-active .tc-view-route{color:var(--tc-accent)!important}.tc-map-head em{font-style:normal;color:var(--tc-accent);font-size:.72rem;font-weight:900;margin-top:2px}.tc-diagnostic-note{margin-top:9px;color:#8a5a1f;font-size:.72rem;line-height:1.45}
.tc-map-card{margin-top:16px;overflow:hidden}.tc-map-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--tc-line)}.tc-map-head>div:first-child{display:flex;flex-direction:column;gap:3px}.tc-map-head strong{color:var(--tc-navy)}.tc-map-head span{color:var(--tc-muted);font-size:.75rem}.tc-map-legend{display:flex;align-items:center;gap:8px;color:var(--tc-muted);font-size:.69rem}.tc-map-legend i{width:22px;height:4px;border-radius:3px}.tc-map-legend .fast{background:var(--tc-accent)}.tc-map-legend .short{background:#2f80ed}.tc-map-legend .eco{background:var(--tc-green)}.tc-map-legend .free{background:var(--tc-navy)}
.tc-route-map,.tc-picker-map{position:relative;height:480px;background:#eaf0f3;overflow:hidden;touch-action:none;cursor:grab}.tc-route-map.is-dragging,.tc-picker-map.is-dragging{cursor:grabbing}.tc-map-tiles{position:absolute;inset:0;overflow:hidden;background:#e6ecef}.tc-map-tile{position:absolute;width:256px;height:256px;max-width:none!important;user-select:none;pointer-events:none}.tc-map-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.tc-map-line{fill:none;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 1px rgba(255,255,255,.9));transition:opacity .15s,stroke-width .15s}.tc-map-line.is-dimmed{opacity:.16!important;stroke-width:3}.tc-map-line.is-active{opacity:1!important;stroke-width:8!important;filter:drop-shadow(0 2px 2px rgba(255,255,255,1)) drop-shadow(0 2px 5px rgba(10,35,52,.18))}.tc-map-line-fastest{stroke:var(--tc-accent);stroke-width:6}.tc-map-line-shortest{stroke:#2f80ed;stroke-width:4;stroke-dasharray:8 5}.tc-map-line-economical{stroke:var(--tc-green);stroke-width:4;stroke-dasharray:12 8}.tc-map-line-no_tolls{stroke:var(--tc-navy);stroke-width:4;stroke-dasharray:6 8;opacity:.88}.tc-map-marker circle{fill:#fff;stroke:var(--tc-navy);stroke-width:4}.tc-map-marker text{text-anchor:middle;font:bold 13px system-ui,sans-serif;fill:var(--tc-navy)}.tc-map-marker-picker circle{fill:var(--tc-accent);stroke:#fff;stroke-width:4;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}.tc-map-controls{position:absolute;z-index:6;right:12px;top:12px;display:flex;flex-direction:column;border-radius:10px;overflow:hidden;box-shadow:0 5px 14px rgba(0,0,0,.18)}.tc-map-controls button{width:38px;height:38px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:var(--tc-navy);font-size:1.35rem;font-weight:800;cursor:pointer}.tc-map-controls button:last-child{border-bottom:0}.tc-map-controls button:hover{background:#f8fafc}.tc-map-attribution{position:absolute;z-index:6;right:6px;bottom:5px;background:rgba(255,255,255,.86);padding:2px 5px;border-radius:4px;color:#5f6874;font-size:10px;line-height:1.25}
.tc-map-picker[hidden]{display:none}.tc-modal-open{overflow:hidden}.tc-map-picker{position:fixed;z-index:10000;inset:0;display:flex;align-items:center;justify-content:center;padding:24px}.tc-map-picker-backdrop{position:absolute;inset:0;background:rgba(5,23,36,.72);backdrop-filter:blur(3px)}.tc-map-picker-panel{position:relative;width:min(1050px,96vw);max-height:92vh;background:#fff;border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.35);overflow:hidden}.tc-map-picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--tc-line)}.tc-map-picker-head>div{display:flex;flex-direction:column;gap:3px}.tc-map-picker-head strong{font-size:1rem;color:var(--tc-navy)}.tc-map-picker-head span{font-size:.78rem;color:var(--tc-muted)}.tc-map-picker-x{border:0;background:#f2f4f7;color:#344054;width:34px;height:34px;border-radius:50%;font-size:1.35rem;cursor:pointer}.tc-picker-map{height:min(62vh,620px)}.tc-map-picker-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-top:1px solid var(--tc-line)}.tc-map-picker-foot>span{font-size:.82rem;color:var(--tc-muted);max-width:70%}.tc-picker-use{min-width:190px}
@media(max-width:1180px){.tc-vehicle-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.tc-vehicle-data-row{align-items:flex-start;flex-direction:column}.tc-dimension-fields{justify-content:flex-start;flex-wrap:wrap}.tc-preview-grid{grid-template-columns:1fr}.tc-result-card{min-height:auto}}
@media(max-width:760px){.tc-shell{width:min(100% - 22px,1360px);padding:22px 0 42px}.tc-grid-2,.tc-grid-3{grid-template-columns:1fr}.tc-search-card{padding:18px}.tc-actions{align-items:stretch;flex-direction:column}.tc-primary{width:100%}.tc-result-head{align-items:flex-start;flex-direction:column}.tc-map-head{align-items:flex-start;flex-direction:column}.tc-route-map{height:360px}.tc-hero h1{font-size:2.1rem;white-space:normal}.tc-hero p{white-space:normal}.tc-cost-fields,.tc-dimension-fields{width:100%;flex-wrap:wrap}.tc-compact-field,.tc-field-consumption,.tc-field-fuel{width:calc(50% - 4px)}.tc-map-picker{padding:10px}.tc-picker-map{height:62vh}.tc-map-picker-foot{align-items:stretch;flex-direction:column}.tc-map-picker-foot>span{max-width:none}.tc-picker-use{width:100%}}
@media(max-width:560px){.tc-vehicle-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-location-actions{display:grid;grid-template-columns:1fr 1fr}.tc-location-btn{width:100%}.tc-location-input{font-size:.95rem!important}.tc-suggestions{top:98px}.tc-map-legend{display:none}.tc-compact-field,.tc-field-consumption,.tc-field-fuel{width:100%}}

/* v0.3.6 UI polish */
.tc-vehicle-option{min-height:76px;padding:7px 9px;gap:8px;flex-direction:column;justify-content:center;background:linear-gradient(180deg,#fff,#fbfcfd)}
.tc-vehicle-option.is-selected{background:linear-gradient(180deg,#fffaf4,#fff3e7)}
.tc-vehicle-image-wrap{display:flex;align-items:center;justify-content:center;width:76px;height:38px;overflow:hidden}
.tc-vehicle-image{display:block;width:76px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 2px rgba(11,45,68,.10))}
.tc-vehicle-name{text-align:center;font-size:.69rem;line-height:1.15}
.tc-vehicle-option.is-selected .tc-vehicle-image{filter:drop-shadow(0 2px 3px rgba(245,130,32,.18))}
.tc-route-delta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.tc-delta-chip{display:inline-flex;align-items:center;min-height:26px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:950;letter-spacing:-.01em;line-height:1}
.tc-delta-chip.is-save{background:#e9f8f1;color:#08724e;border:1px solid #c8eddc}
.tc-delta-chip.is-time{background:#fff3e8;color:#a4510b;border:1px solid #ffd9b8}
.tc-delta-chip.is-worse{background:#fff0f0;color:#a83c3c;border:1px solid #f3c9c9}
.tc-route-actions{display:none;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--tc-line)}
.tc-result-card-active .tc-route-actions{display:flex}
.tc-route-action{appearance:none;border:1px solid #d9e2e8;border-radius:9px;background:#fff;color:var(--tc-navy);padding:7px 10px;font-size:.69rem;font-weight:900;cursor:pointer;transition:.15s ease}
.tc-route-action:hover{border-color:#8db9df;background:#f3f9ff;color:#0f63aa}
.tc-route-action-maps{background:#eaf4ff;border-color:#c8e0f6;color:#0d63a9}
.tc-map-line{stroke-width:2.2;stroke-dasharray:none!important;opacity:.62;filter:none}
.tc-map-line-fastest{stroke:#f58220;stroke-width:2.6}
.tc-map-line-shortest{stroke:#2f80ed;stroke-width:2.5;stroke-dasharray:6 4}
.tc-map-line-economical{stroke:#2e8b69;stroke-width:2.5;stroke-dasharray:none!important}
.tc-map-line-no_tolls{stroke:#224e70;stroke-width:2.5;stroke-dasharray:none!important;opacity:.72}
.tc-map-line.is-dimmed{opacity:.18!important;stroke-width:1.8!important}
.tc-map-line.is-active{stroke:#1476d4!important;opacity:1!important;stroke-width:4.2!important;filter:drop-shadow(0 1px 1px rgba(255,255,255,.95))}
.tc-map-legend i{height:3px!important;border-radius:99px!important;background:#1476d4!important}
@media(max-width:1180px){.tc-vehicle-option{min-height:70px}.tc-vehicle-image-wrap,.tc-vehicle-image{width:68px;height:34px}}
.tc-map-line.is-active{stroke-width:3.7!important}
.tc-map-legend i.fast{background:#f58220!important}.tc-map-legend i.short{background:#2f80ed!important}.tc-map-legend i.eco{background:#2e8b69!important}.tc-map-legend i.free{background:#224e70!important}


/* v0.3.7 toll-station breakdown */
.tc-toll-card{margin-top:16px;background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:var(--tc-radius);box-shadow:var(--tc-shadow);overflow:hidden}
.tc-toll-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;border-bottom:1px solid var(--tc-line)}
.tc-toll-head>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.tc-toll-head strong{color:var(--tc-navy);font-size:.96rem}.tc-toll-head span{color:var(--tc-accent);font-size:.8rem;font-weight:900}.tc-toll-head small{max-width:48%;color:var(--tc-muted);font-size:.67rem;text-align:right;line-height:1.35}
.tc-toll-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;padding:5px 18px 12px}.tc-toll-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf0f2}.tc-toll-index{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:#1476d4;color:#fff;font-size:.72rem}.tc-toll-name{min-width:0;display:flex;flex-direction:column;gap:2px}.tc-toll-name strong{color:var(--tc-text);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-toll-name span{color:var(--tc-muted);font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-toll-price{color:var(--tc-navy);font-size:.82rem}.tc-toll-empty{grid-column:1/-1;padding:16px 0;color:var(--tc-muted);font-size:.8rem;font-weight:700}
.tc-map-marker-toll circle{fill:#1476d4;stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.28))}.tc-map-marker-toll text{fill:#fff;font-size:10px;font-weight:900}.tc-map-marker-toll{pointer-events:auto;cursor:help}
@media(max-width:760px){.tc-toll-head{align-items:flex-start;flex-direction:column}.tc-toll-head small{max-width:none;text-align:left}.tc-toll-list{grid-template-columns:1fr}}

/* v0.3.8 responsive density + mobile-first polish */
@media (min-width:1280px){
  .tc-toll-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px;padding:4px 16px 10px}
  .tc-toll-row{grid-template-columns:27px minmax(0,1fr) auto;gap:8px;padding:8px 0}
  .tc-toll-index{width:23px;height:23px;font-size:.65rem}
  .tc-toll-name strong{font-size:.73rem}
  .tc-toll-name span{font-size:.59rem}
  .tc-toll-price{font-size:.76rem;font-weight:900}
  .tc-toll-head{padding:12px 16px}
  .tc-toll-head strong{font-size:.9rem}
  .tc-toll-head span{font-size:.73rem}
  .tc-toll-head small{font-size:.61rem;max-width:44%}
}

@media (min-width:761px) and (max-width:1279px){
  .tc-toll-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding:4px 14px 10px}
  .tc-toll-row{grid-template-columns:27px minmax(0,1fr) auto;gap:8px;padding:9px 0}
  .tc-toll-index{width:23px;height:23px;font-size:.65rem}
  .tc-toll-name strong{font-size:.74rem}
  .tc-toll-name span{font-size:.6rem}
  .tc-toll-price{font-size:.77rem;font-weight:900}
}

@media (max-width:760px){
  .tc-shell{width:min(100% - 16px,1360px);padding:14px 0 34px}
  .tc-hero{padding:4px 2px 14px}
  .tc-hero h1{font-size:clamp(1.65rem,8vw,2rem);line-height:1.02;margin:.35rem 0 .45rem}
  .tc-hero p{font-size:.86rem;line-height:1.45}
  .tc-search-card{padding:15px 13px;border-radius:17px}
  .tc-location-input{height:54px!important;padding:0 42px 0 14px!important;font-size:.92rem!important}
  .tc-location-dot{right:14px}
  .tc-location-actions{gap:6px;margin-top:6px}
  .tc-location-btn{min-height:38px;padding:7px 8px;font-size:.68rem}
  .tc-vehicle-section{margin-top:14px}
  .tc-vehicle-picker{gap:6px}
  .tc-vehicle-option{min-height:66px;padding:6px 5px;border-radius:11px}
  .tc-vehicle-image-wrap,.tc-vehicle-image{width:60px;height:30px}
  .tc-vehicle-name{font-size:.64rem}
  .tc-vehicle-data-row{gap:10px;margin-top:12px;padding-top:12px}
  .tc-cost-fields,.tc-dimension-fields{gap:6px}
  .tc-compact-field,.tc-field-consumption,.tc-field-fuel{width:calc(50% - 3px)}
  .tc-compact-field input{height:36px}
  .tc-actions{gap:10px;margin-top:12px;padding-top:12px}
  .tc-primary{min-height:44px}
  .tc-status{font-size:.72rem}
  .tc-results{margin-top:14px}
  .tc-result-head{gap:7px;margin-bottom:8px}
  .tc-result-head>div{font-size:.78rem;line-height:1.35;flex-wrap:wrap}
  .tc-result-head small{font-size:.65rem}
  .tc-preview-grid{gap:8px}
  .tc-result-card{padding:14px 14px;min-height:auto;border-radius:14px}
  .tc-result-card>span{font-size:.62rem}
  .tc-result-card>strong{font-size:1.45rem;margin:.38rem 0 .3rem}
  .tc-result-card>small{font-size:.7rem}
  .tc-route-delta{gap:5px;margin-top:8px}
  .tc-delta-chip{min-height:24px;padding:4px 7px;font-size:.64rem}
  .tc-route-roads,.tc-cost-breakdown,.tc-view-route,.tc-route-unavailable{font-size:.66rem!important}
  .tc-route-actions{gap:6px;margin-top:9px;padding-top:8px}
  .tc-route-action{flex:1 1 0;text-align:center;padding:8px 7px;font-size:.64rem}
  .tc-diagnostic-note{font-size:.63rem;margin-top:7px}
  .tc-toll-card{margin-top:12px;border-radius:16px}
  .tc-toll-head{padding:11px 12px;gap:7px}
  .tc-toll-head>div{gap:7px}
  .tc-toll-head strong{font-size:.84rem}
  .tc-toll-head span{font-size:.7rem}
  .tc-toll-head small{font-size:.59rem;line-height:1.3}
  .tc-toll-list{grid-template-columns:1fr;gap:0;padding:2px 12px 8px}
  .tc-toll-row{grid-template-columns:25px minmax(0,1fr) auto;gap:8px;padding:8px 0}
  .tc-toll-index{width:22px;height:22px;font-size:.62rem}
  .tc-toll-name strong{font-size:.73rem}
  .tc-toll-name span{font-size:.59rem}
  .tc-toll-price{font-size:.76rem;font-weight:900}
  .tc-map-card{margin-top:12px;border-radius:16px}
  .tc-map-head{padding:11px 12px;gap:7px}
  .tc-map-head strong{font-size:.88rem}
  .tc-map-head span,.tc-map-head em{font-size:.64rem}
  .tc-route-map{height:320px}
  .tc-map-controls{right:8px;top:8px}
  .tc-map-controls button{width:34px;height:34px}
}

@media (max-width:420px){
  .tc-location-actions{grid-template-columns:1fr}
  .tc-vehicle-picker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tc-compact-field,.tc-field-consumption,.tc-field-fuel{width:100%}
  .tc-route-action{flex:1 1 100%}
  .tc-toll-head small{display:none}
  .tc-route-map{height:290px}
}

/* v0.4.0 intermediate stops, saved vehicles, selective toll avoidance */
.tc-via-section{margin-top:10px;padding:10px 0 2px;border-top:1px solid #edf1f4}
.tc-via-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tc-via-toolbar-after{margin-top:9px}
.tc-via-toolbar small{color:var(--tc-muted);font-size:.68rem}
.tc-secondary{appearance:none;border:1px solid #d9e2e8;border-radius:9px;background:#fff;color:var(--tc-navy);padding:8px 11px;font-size:.72rem;font-weight:900;cursor:pointer;transition:.15s ease}
.tc-secondary:hover{border-color:#f3a35e;background:#fff8f1;color:#a95007}
.tc-via-list{display:grid;gap:8px;margin-top:0}
.tc-via-row{display:grid;grid-template-columns:52px minmax(0,1fr) 38px;align-items:end;gap:8px;padding:9px;background:#fbfcfd;border:1px solid #e7edf1;border-radius:12px}
.tc-via-order{display:flex;gap:4px;padding-bottom:2px}.tc-via-order button,.tc-via-remove{appearance:none;border:1px solid #dce4e9;background:#fff;color:#526371;border-radius:8px;width:24px;height:32px;font-weight:900;cursor:pointer}.tc-via-remove{width:36px;color:#a23f3f;font-size:1.1rem}.tc-via-order button:hover,.tc-via-remove:hover{border-color:#f3a35e;background:#fff8f1}
.tc-via-location label{width:100%}.tc-via-location .tc-location-input{height:44px!important;font-size:.82rem!important}.tc-via-location .tc-suggestions{top:68px}
.tc-vehicle-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.tc-vehicle-profiles{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tc-vehicle-profiles select{height:34px;min-width:180px;border:1px solid #d9e2e8;border-radius:8px;background:#fff;padding:0 30px 0 9px;font-size:.69rem;color:var(--tc-text)}
.tc-mini-btn{appearance:none;border:1px solid #d9e2e8;border-radius:8px;background:#fff;padding:7px 9px;font-size:.65rem;font-weight:900;color:var(--tc-navy);cursor:pointer}.tc-mini-btn:hover{background:#f7fafc}.tc-mini-btn-danger{color:#a23f3f}.tc-mini-btn:disabled{opacity:.42;cursor:not-allowed;background:#f4f6f8;color:#8a96a3}.tc-mini-btn-save{border-color:#f0a663;background:#fff7ef;color:#9b4e0d}.tc-mini-btn-save:hover:not(:disabled){border-color:var(--tc-accent);background:#fff1e4;color:#7d3d08}
.tc-detour-result{margin-top:10px;border-color:#bcd7ee;background:linear-gradient(180deg,#f8fcff,#fff);max-width:none}
.tc-toll-head-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.tc-toll-head-actions>span{font-size:.66rem;font-weight:900;color:#0f63aa;background:#eaf4ff;border:1px solid #c9e0f4;border-radius:999px;padding:5px 8px}.tc-detour-button{padding:7px 10px}.tc-detour-button:disabled{opacity:.45;cursor:not-allowed}
.tc-toll-row{grid-template-columns:27px minmax(0,1fr) auto auto!important}.tc-toll-avoid{appearance:none;border:1px solid #d9e2e8;background:#fff;color:#526371;border-radius:8px;padding:5px 7px;font-size:.6rem;font-weight:900;cursor:pointer;white-space:nowrap}.tc-toll-avoid:hover{border-color:#1476d4;color:#0f63aa;background:#f2f8ff}.tc-toll-avoid.is-selected{border-color:#1476d4;background:#1476d4;color:#fff}.tc-toll-avoid:disabled{opacity:.35;cursor:not-allowed}
.tc-map-marker-via circle{fill:#f58220;stroke:#fff;stroke-width:3;filter:drop-shadow(0 2px 4px rgba(0,0,0,.22))}.tc-map-marker-via text{fill:#fff;font-size:9px;font-weight:950}
.tc-map-line-detour{stroke:#1476d4;stroke-width:2.5;opacity:.78}

@media(max-width:900px){.tc-vehicle-section-head{align-items:flex-start;flex-direction:column}.tc-vehicle-profiles{width:100%}.tc-vehicle-profiles select{flex:1 1 180px}.tc-toll-head-actions{width:100%;margin-left:0;justify-content:flex-start}}
@media(max-width:760px){.tc-via-row{grid-template-columns:44px minmax(0,1fr) 34px;padding:7px}.tc-via-order{flex-direction:column}.tc-via-order button{height:22px;width:30px;font-size:.65rem}.tc-via-remove{width:32px}.tc-vehicle-profiles{display:grid;grid-template-columns:1fr auto auto}.tc-vehicle-profiles select{min-width:0;width:100%}.tc-toll-head-actions{display:grid;grid-template-columns:auto 1fr;gap:6px}.tc-detour-button{width:100%}.tc-toll-row{grid-template-columns:24px minmax(0,1fr) auto!important}.tc-toll-avoid{grid-column:2/4;justify-self:start;margin-top:-2px}}
@media(max-width:420px){.tc-vehicle-profiles{grid-template-columns:1fr 1fr}.tc-vehicle-profiles select{grid-column:1/-1}.tc-via-toolbar{align-items:flex-start;flex-direction:column}.tc-via-toolbar .tc-secondary{width:100%}.tc-toll-head-actions{grid-template-columns:1fr}.tc-toll-head-actions>span{justify-self:start}}

/* v0.4.1 route flow + unified map picker search */
.tc-route-flow{display:grid;gap:12px}
.tc-route-location-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.tc-route-location-row .tc-location-field{min-width:0}
.tc-location-actions-inline{display:flex;gap:7px;margin:0 0 1px;align-items:center;white-space:nowrap}
.tc-location-actions-inline .tc-location-btn{min-height:48px;padding:9px 12px}
.tc-via-section{margin:0;padding:4px 0;border-top:0}
.tc-via-toolbar{padding:2px 0 0}
.tc-via-toolbar-after{padding-top:6px}
.tc-via-list:not(:empty){margin:9px 0 3px}
.tc-via-row{grid-template-columns:52px minmax(0,1fr) auto 38px;align-items:end}
.tc-via-map-btn{align-self:end;min-height:44px;margin-bottom:0;padding:8px 10px;white-space:nowrap}
.tc-map-picker-panel{overflow:visible}
.tc-map-picker-search{position:relative;padding:12px 14px 10px;background:#fff;border-bottom:1px solid #e8edf1;z-index:8}
.tc-map-picker-search>label{display:block;margin:0 0 5px;color:var(--tc-navy);font-size:.72rem;font-weight:900}
.tc-map-picker-search-wrap{position:relative}
.tc-map-picker-search-wrap input{width:100%;height:44px;border:1px solid #d8e1e7;border-radius:10px;background:#fbfcfd;color:var(--tc-text);font:inherit;font-size:.82rem;padding:0 42px 0 12px;outline:none;transition:.15s ease}
.tc-map-picker-search-wrap input:focus{border-color:#f58220;box-shadow:0 0 0 3px rgba(245,130,32,.12);background:#fff}
.tc-map-picker-search-wrap>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#728390;font-size:1rem;pointer-events:none}
.tc-picker-suggestions{top:76px;left:14px;right:14px;z-index:50;max-height:240px;overflow:auto}
@media(max-width:900px){
  .tc-route-location-row{grid-template-columns:1fr}
  .tc-location-actions-inline{margin-top:-4px;display:grid;grid-template-columns:1fr 1fr}
  .tc-location-actions-inline .tc-location-btn{min-height:40px;justify-content:center}
  .tc-via-row{grid-template-columns:44px minmax(0,1fr) 34px;align-items:end}
  .tc-via-map-btn{grid-column:2/4;justify-self:start;min-height:36px;margin-top:-2px;padding:7px 9px}
  .tc-via-remove{grid-column:3;grid-row:1}
}
@media(max-width:520px){
  .tc-location-actions-inline{grid-template-columns:1fr}
  .tc-via-row{grid-template-columns:38px minmax(0,1fr) 32px;gap:6px}
  .tc-via-map-btn{grid-column:2/4;width:100%;justify-content:center}
  .tc-map-picker-search{padding:10px}
  .tc-picker-suggestions{left:10px;right:10px;top:72px}
}


/* v0.4.2 strict + visible selective toll bypass */
.tc-detour-state{margin:0 0 10px;border-radius:10px;padding:9px 11px;font-size:.72rem;font-weight:850;line-height:1.35;border:1px solid transparent}
.tc-detour-state.is-pending{background:#fff7e8;border-color:#f4c46d;color:#8a5200}
.tc-detour-state.is-working{background:#eef6ff;border-color:#a9cfee;color:#0d5f9f}
.tc-detour-state.is-success{background:#edf9f0;border-color:#9cd3aa;color:#246a35}
.tc-detour-state.is-error{background:#fff1f1;border-color:#e7aaaa;color:#9a3333}
.tc-toll-row{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}
.tc-toll-row.is-detour-selected{background:#fff8ec!important;border-color:#f1ba55!important;box-shadow:inset 3px 0 0 #f59d16}
.tc-toll-row.is-detour-selected .tc-toll-index{background:#f59d16!important;color:#fff!important}
.tc-toll-avoid.is-selected{border-color:#f59d16!important;background:#f59d16!important;color:#fff!important}
.tc-detour-button:not(:disabled){border-color:#f59d16;background:#fff8ec;color:#8a5200}
.tc-detour-button.is-working{opacity:.75;cursor:progress}
.tc-map-marker-toll-avoid circle{fill:#f59d16!important;stroke:#fff;stroke-width:3.5}
.tc-map-marker-toll-avoid text{fill:#fff!important;font-size:11px!important;font-weight:950}
.tc-detour-result .tc-route-verification{background:#edf9f0;border:1px solid #a9d7b3;color:#246a35;padding:7px 9px;border-radius:9px}
@media(max-width:760px){.tc-detour-state{font-size:.69rem;padding:8px 9px}.tc-toll-row.is-detour-selected{box-shadow:inset 2px 0 0 #f59d16}}
/* 0.4.4 toll matching audit badges */
.tc-toll-match-badge{display:inline-flex;align-items:center;width:max-content;margin-top:3px;padding:2px 6px;border-radius:999px;font-style:normal;font-size:.54rem;font-weight:900;line-height:1.2;border:1px solid transparent}
.tc-toll-match-badge.is-official{color:#176b3a;background:#edf9f1;border-color:#bfe4ca}
.tc-toll-match-badge.is-conflict{color:#9b4e00;background:#fff4e6;border-color:#f3c98d}
.tc-toll-match-badge.is-candidate{color:#665500;background:#fffbe6;border-color:#e8dc8a}
.tc-toll-match-badge.is-crosscheck{color:#5a4678;background:#f6f0ff;border-color:#d9c6f4}
.tc-toll-match-badge.is-here{color:#526371;background:#f3f6f8;border-color:#dce4e9}
.tc-toll-conflict-note{display:block;color:#9b4e00;font-size:.54rem;font-weight:800;line-height:1.2;margin-top:2px}
.tc-toll-row.is-local-matched .tc-toll-index{background:#176b6b}
@media(max-width:760px){.tc-toll-match-badge,.tc-toll-conflict-note{font-size:.52rem}}

/* v0.4.5 larger route map + persistent bypass visibility */
.tc-route-map{height:720px!important}
.tc-toll-row.is-detour-avoided{background:#fff8ec!important;border-color:#f1ba55!important;box-shadow:inset 3px 0 0 #f59d16}
.tc-toll-row.is-detour-avoided .tc-toll-index{background:#f59d16!important;color:#fff!important;font-size:.8rem}
.tc-toll-match-badge.is-avoided{color:#8a5200;background:#fff1d8;border-color:#f1ba55}
.tc-toll-price-avoided{display:flex;flex-direction:column;align-items:flex-end;gap:1px;color:#8a5200!important;line-height:1.05}
.tc-toll-price-avoided del{font-size:.66rem;color:#9c7a4c;font-weight:700}
.tc-toll-price-avoided span{font-size:.78rem;color:#c36e00;font-weight:950}
.tc-map-marker-toll-avoid circle{fill:#f59d16!important;stroke:#fff!important;stroke-width:3.5!important}
.tc-map-marker-toll-avoid text{fill:#fff!important;font-size:11px!important;font-weight:950!important}

@media(max-width:760px){
  .tc-route-map{height:480px!important}
  .tc-toll-row.is-detour-avoided{box-shadow:inset 2px 0 0 #f59d16}
}
@media(max-width:420px){
  .tc-route-map{height:435px!important}
}

/* v0.6.2: clearer unavailable toll-free route state */
.tc-result-card.is-no-tolls-unverified {
  border-color: #f0b35f;
  background: #fffaf2;
}
.tc-result-card.is-no-tolls-unverified > strong[data-total] {
  color: #b66a09;
  font-size: 1.65rem;
}
.tc-result-card.is-no-tolls-unverified [data-summary] {
  color: #7a4a09;
  font-weight: 800;
  line-height: 1.35;
}
.tc-result-card.is-no-tolls-unverified .tc-route-unavailable {
  color: #7a4a09;
  background: #fff3db;
  border: 1px solid #f0cf9a;
  border-radius: 10px;
  padding: 10px 12px;
  margin-top: 10px;
}

/* v0.7.0 International vignette engine */
/* v0.7.1: visually separate cross-border vignette charges from route/toll cards. */
.tc-vignette-card{
  margin-top:18px;
  background:linear-gradient(180deg,#fffafa 0%,#ffffff 48%);
  border:3px solid #e02b2b;
  border-radius:var(--tc-radius);
  box-shadow:
    0 0 0 1px rgba(224,43,43,.08),
    0 10px 24px rgba(174,25,25,.16),
    0 22px 52px rgba(13,34,50,.10);
  overflow:hidden;
  position:relative;
  isolation:isolate;
}
.tc-vignette-card:before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(224,43,43,.055),transparent 22%,transparent 78%,rgba(224,43,43,.035));
}
.tc-vignette-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:15px 18px 11px;border-bottom:1px solid #f2caca;background:linear-gradient(180deg,#fff3f3 0%,#fffafa 100%)}
.tc-vignette-head>div{display:flex;align-items:baseline;gap:10px}.tc-vignette-head strong{font-size:.94rem;color:var(--tc-navy)}.tc-vignette-head span{font-size:.72rem;font-weight:800;color:var(--tc-muted)}.tc-vignette-head small{max-width:560px;text-align:right;color:var(--tc-muted);font-size:.66rem;line-height:1.4}
.tc-vignette-list{display:grid;gap:0;padding:0 18px 8px}.tc-vignette-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(250px,1.4fr) minmax(170px,.8fr) auto;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #edf0f2}.tc-vignette-row:last-child{border-bottom:0}
.tc-vignette-country{display:flex;align-items:center;gap:9px;min-width:0}.tc-vignette-country>b{display:flex;align-items:center;justify-content:center;min-width:35px;height:27px;border-radius:8px;background:#173d67;color:#fff;font-size:.64rem;letter-spacing:.05em}.tc-vignette-country>div{display:flex;flex-direction:column;min-width:0}.tc-vignette-country strong{font-size:.8rem;color:var(--tc-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tc-vignette-country span{font-size:.61rem;font-weight:900;color:#0b6d4e;margin-top:2px}
.tc-vignette-select{display:flex;flex-direction:column;gap:4px}.tc-vignette-select>span{font-size:.59rem;font-weight:900;color:var(--tc-muted);text-transform:uppercase;letter-spacing:.05em}.tc-vignette-select select{width:100%;height:38px;border:1px solid #dbe2e7;border-radius:9px;background:#fff;color:var(--tc-text);padding:0 10px;font-size:.72rem;font-weight:750;outline:none}.tc-vignette-select select:focus{border-color:#8db8dc;box-shadow:0 0 0 3px rgba(20,118,212,.08)}
.tc-vignette-selected{display:flex;flex-direction:column;gap:2px}.tc-vignette-selected>span{font-size:.59rem;font-weight:900;color:var(--tc-accent);text-transform:uppercase;letter-spacing:.04em}.tc-vignette-selected>strong{font-size:.78rem;color:var(--tc-navy)}.tc-vignette-warning{display:block;margin-top:3px;color:#9a5a12;font-size:.59rem;line-height:1.3}
.tc-vignette-official-link{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border:1px solid #cfe0ec;border-radius:9px;background:#f4f9fc;color:#0f63aa!important;font-size:.64rem;font-weight:900;text-decoration:none!important;white-space:nowrap}.tc-vignette-official-link:hover{background:#eaf5fb;border-color:#9fc4dc}.tc-vignette-unavailable{color:#8a5a1f;font-size:.69rem;line-height:1.4}.tc-vignette-row.is-unavailable{grid-template-columns:minmax(150px,.8fr) 1fr auto;background:#fffaf4}
@media(max-width:980px){.tc-vignette-row{grid-template-columns:minmax(140px,.7fr) minmax(220px,1.3fr) minmax(150px,.8fr)}.tc-vignette-official-link{grid-column:2/4;justify-self:start}.tc-vignette-row.is-unavailable{grid-template-columns:minmax(140px,.7fr) 1fr}.tc-vignette-row.is-unavailable .tc-vignette-official-link{grid-column:2}}
@media(max-width:760px){.tc-vignette-card{margin-top:14px;border-width:2px;border-radius:16px;box-shadow:0 0 0 1px rgba(224,43,43,.07),0 8px 20px rgba(174,25,25,.14),0 16px 34px rgba(13,34,50,.08)}.tc-vignette-head{align-items:flex-start;flex-direction:column;padding:12px 13px 9px;gap:4px}.tc-vignette-head small{max-width:none;text-align:left}.tc-vignette-list{padding:0 12px 5px}.tc-vignette-row,.tc-vignette-row.is-unavailable{grid-template-columns:1fr;gap:9px;padding:12px 0}.tc-vignette-country strong{font-size:.82rem}.tc-vignette-select select{height:40px;font-size:.71rem}.tc-vignette-official-link,.tc-vignette-row.is-unavailable .tc-vignette-official-link{grid-column:1;justify-self:stretch}.tc-vignette-selected{padding:7px 9px;background:#fffafa;border:1px solid #f4dddd;border-radius:8px}}


/* v0.7.2 international vignette vehicle classification fields */
.tc-international-vehicle-row{margin-top:12px;padding:12px 14px;border:1px solid #e5eaf0;border-radius:13px;background:#fbfcfd}
.tc-international-vehicle-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:9px}.tc-international-vehicle-head strong{color:var(--tc-navy);font-size:.76rem}.tc-international-vehicle-head small{color:var(--tc-muted);font-size:.64rem}
.tc-international-vehicle-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.tc-international-vehicle-fields .tc-compact-field{width:auto}
.tc-form select{appearance:auto;width:100%;height:38px;border:1px solid #dce2e8;border-radius:9px;background:#fff;color:var(--tc-text);padding:0 8px;outline:none;font-size:.72rem}.tc-form select:focus{border-color:var(--tc-accent);box-shadow:0 0 0 3px rgba(245,130,32,.11)}
@media(max-width:900px){.tc-international-vehicle-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.tc-international-vehicle-row{padding:10px}.tc-international-vehicle-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-field-front-axle-height{grid-column:1/-1}}
@media(max-width:420px){.tc-international-vehicle-fields{grid-template-columns:1fr}.tc-field-front-axle-height{grid-column:auto}}

/* v0.7.4 vector basemap: MapLibre is loaded without its UI controls; these minimal
   rules are sufficient for the canvas while our existing overlay/controls remain authoritative. */
.tc-map-tiles.is-vector-map,.tc-map-tiles.maplibregl-map{position:absolute;inset:0;overflow:hidden;background:#e6ecef;font:12px/20px system-ui,sans-serif}
.tc-map-tiles .maplibregl-canvas-container{position:absolute;inset:0;width:100%;height:100%}
.tc-map-tiles .maplibregl-canvas{position:absolute;left:0;top:0;outline:0}
.tc-map-tiles .maplibregl-control-container{display:none!important}

/* v0.7.9 stable selective-bypass identities */
.tc-toll-match-badge.is-new-route{background:#eaf4ff;color:#0f63aa;border:1px solid #bdd9f3}
.tc-toll-match-badge.is-skipped-route{background:#f3f4f6;color:#667085;border:1px solid #d9dee5}
.tc-toll-row.is-detour-new{box-shadow:inset 3px 0 0 #1476d4}
.tc-toll-row.is-detour-skipped{opacity:.72;background:#fafbfc}
.tc-toll-row.is-detour-skipped .tc-toll-index{background:#7c8794}
.tc-toll-cancel{border-color:#f59d16!important;background:#fff!important;color:#b96800!important}
.tc-toll-cancel:hover{background:#fff5e6!important;color:#8a4e00!important}
.tc-toll-action-empty{display:block;min-width:1px}
@media(max-width:760px){.tc-toll-row.is-detour-new{box-shadow:inset 2px 0 0 #1476d4}}


/* v0.7.10 mobile polish + keep accent rail inside the calculator card */
.tc-search-card:before{left:1px;top:1px;bottom:1px;border-radius:calc(var(--tc-radius) - 1px) 0 0 calc(var(--tc-radius) - 1px)}
@media(max-width:520px){
  .tc-hero{padding-top:4px}
  .tc-hero h1{font-size:clamp(1.68rem,7.45vw,1.95rem);line-height:1.01;letter-spacing:-.045em;max-width:100%}
  .tc-search-card{padding-left:20px;padding-right:18px}
  .tc-search-card:before{left:1px;top:1px;bottom:1px;width:3px}
}

/* v0.7.11 temporary traffic detour notice */
.tc-traffic-alert{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:flex-start;margin:0 0 12px;padding:12px 14px;border:1px solid #f1b56f;border-left:4px solid var(--tc-accent);border-radius:12px;background:linear-gradient(180deg,#fffaf3 0%,#fff6e9 100%);box-shadow:0 7px 20px rgba(154,90,18,.08);color:#71420d}
.tc-traffic-alert[hidden]{display:none!important}.tc-traffic-alert-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#fff0d9;color:#b6650d;font-size:.9rem;font-weight:900}.tc-traffic-alert strong{display:block;color:#8f4f08;font-size:.82rem;font-weight:900;line-height:1.25}.tc-traffic-alert span{display:block;margin-top:3px;color:#77501f;font-size:.74rem;line-height:1.45}.tc-traffic-alert small{display:block;margin-top:5px;color:#9a5a12;font-size:.68rem;font-weight:800;line-height:1.4}
@media(max-width:760px){.tc-traffic-alert{grid-template-columns:auto minmax(0,1fr);padding:11px 12px;margin-bottom:10px}.tc-traffic-alert strong{font-size:.78rem}.tc-traffic-alert span{font-size:.69rem}.tc-traffic-alert small{font-size:.64rem}}

/* v0.7.12 zone-aware bypass */
.tc-toll-match-badge.is-reentry-toll{background:#fff0d9;border-color:#f3b456;color:#8a5200}
.tc-toll-row.is-detour-new .is-reentry-toll{font-weight:900}

/* v0.7.16: map toll-state colours */
.tc-map-marker-toll-new circle{fill:var(--tc-green)!important;stroke:#fff!important;stroke-width:3.5!important}
.tc-map-marker-toll-new text{fill:#fff!important;font-size:11px!important;font-weight:950!important}
.tc-map-marker-toll-avoid circle{fill:var(--tc-accent)!important;stroke:#fff!important;stroke-width:3.5!important}
.tc-map-marker-toll-avoid text{fill:#fff!important;font-size:11px!important;font-weight:950!important}

/* v0.7.17 consolidated UI cleanup */
/* Search-card accent: fully inside the card with rounded caps. */
.tc-search-card:before{
  left:1px!important;
  top:14px!important;
  bottom:14px!important;
  width:4px!important;
  border-radius:999px!important;
}

/* Saved vehicle selector left, save/delete actions right on one desktop row. */
.tc-vehicle-section-head{display:block!important;margin-bottom:10px!important}
.tc-vehicle-section-head>.tc-field-label{display:block;margin-bottom:7px}
.tc-vehicle-profiles{
  display:grid!important;
  grid-template-columns:minmax(220px,1fr) auto auto!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
}
.tc-vehicle-profiles select{min-width:0!important;width:100%!important}

/* Cost summary under every result card: easier to scan. */
.tc-cost-breakdown{font-size:.82rem!important;gap:16px!important;align-items:baseline}
.tc-cost-breakdown span{font-weight:700}
.tc-cost-breakdown b{font-size:.94rem!important;font-weight:950!important;color:var(--tc-text)!important}

/* Toll section heading is intentionally stronger/uppercase. */
.tc-toll-head strong{text-transform:uppercase;letter-spacing:.025em}

/* Map toll-state legend. */
.tc-map-head-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.tc-map-toll-legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px 13px;margin-top:7px;color:var(--tc-muted);font-size:.66rem;font-weight:800}
.tc-map-toll-legend>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.tc-map-legend-marker{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:2px solid #fff;box-shadow:0 1px 5px rgba(13,34,50,.18);color:#fff;font-size:.58rem;font-weight:950;line-height:1}
.tc-map-legend-marker.is-normal{background:#1476d4}
.tc-map-legend-marker.is-new{background:var(--tc-green)}
.tc-map-legend-marker.is-avoided{background:var(--tc-accent)}

@media(max-width:760px){
  .tc-search-card:before{top:12px!important;bottom:12px!important;width:3px!important}
  .tc-vehicle-profiles{grid-template-columns:minmax(0,1fr) auto auto!important}
  .tc-cost-breakdown{font-size:.78rem!important;gap:11px!important}
  .tc-cost-breakdown b{font-size:.9rem!important}
  .tc-map-toll-legend{font-size:.62rem;gap:6px 10px}
  .tc-map-legend-marker{width:19px;height:19px}
}
@media(max-width:520px){
  .tc-vehicle-profiles{grid-template-columns:1fr 1fr!important}
  .tc-vehicle-profiles select{grid-column:1/-1!important}
  .tc-vehicle-profiles .tc-mini-btn{width:100%}
}
/* v0.7.17 final accent-rail correction: use the card border itself, so the orange
   line follows the rounded frame and can never protrude outside it. */
.tc-search-card{border-left:4px solid var(--tc-accent)!important}
.tc-search-card:before{display:none!important}
@media(max-width:760px){.tc-search-card{border-left-width:3px!important}}
/* v0.7.20 official fuel selector */
.tc-field-fuel-type{width:154px}.tc-field-fuel-type select{height:38px;border-radius:9px;padding:0 10px;width:100%;border:1px solid var(--tc-line);background:#fff;color:var(--tc-ink)}
@media(max-width:760px){.tc-field-fuel-type{width:calc(50% - 4px)}}
@media(max-width:560px){.tc-field-fuel-type{width:100%}}


/* v0.7.23 regional fuel breakdown */
.tc-fuel-card{margin-top:16px;background:var(--tc-surface);border:1px solid var(--tc-line);border-radius:var(--tc-radius);box-shadow:var(--tc-shadow);overflow:hidden}
.tc-fuel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px;border-bottom:1px solid var(--tc-line)}
.tc-fuel-head>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.tc-fuel-head strong{color:var(--tc-navy);font-size:.9rem}.tc-fuel-head span{color:var(--tc-green);font-size:.75rem;font-weight:900}.tc-fuel-head small{color:var(--tc-muted);font-size:.65rem;text-align:right}
.tc-fuel-region-list{padding:4px 18px 12px}.tc-fuel-region-row{display:grid;grid-template-columns:minmax(150px,1.4fr) repeat(4,minmax(90px,.7fr));align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f2}.tc-fuel-region-row:last-child{border-bottom:0}
.tc-fuel-region-row>strong{font-size:.76rem;color:var(--tc-text)}.tc-fuel-region-row>span{display:flex;flex-direction:column;gap:2px;font-size:.72rem;color:var(--tc-navy);font-weight:850}.tc-fuel-region-row>span b{font-size:.56rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tc-muted)}
.tc-fuel-region-row.is-fallback,.tc-fuel-region-row.is-foreign{background:#fffaf4;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px}.tc-fuel-region-note{grid-column:span 2;color:#8a5a1f!important;font-weight:700!important}
@media(max-width:760px){.tc-fuel-head{align-items:flex-start;flex-direction:column;gap:5px}.tc-fuel-head small{text-align:left}.tc-fuel-region-row{grid-template-columns:1fr 1fr;gap:7px 12px}.tc-fuel-region-row>strong{grid-column:1/-1}.tc-fuel-region-note{grid-column:1/-1!important}}
/* v0.7.24 compact regional fuel breakdown */
.tc-fuel-head-tools{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.tc-fuel-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfe0ee;background:#fff;color:var(--tc-navy);border-radius:8px;padding:7px 10px;font-size:.68rem;font-weight:850;white-space:nowrap;cursor:pointer}
.tc-fuel-toggle:hover{border-color:var(--tc-accent);color:var(--tc-accent)}
.tc-fuel-toggle-icon{font-size:.9rem;line-height:1;transition:transform .18s ease}.tc-fuel-toggle[aria-expanded="true"] .tc-fuel-toggle-icon{transform:rotate(180deg)}
.tc-fuel-region-list[hidden]{display:none!important}
@media(max-width:760px){.tc-fuel-head-tools{width:100%;justify-content:space-between;align-items:center}.tc-fuel-toggle{margin-left:auto}.tc-fuel-head small{max-width:65%}}
/* v0.7.27 Greece tank and refuelling planner */
.tc-tank-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-top:12px;padding-top:12px;border-top:1px dashed #e2e7eb}
.tc-tank-row-head{display:flex;flex-direction:column;gap:3px;max-width:560px}.tc-tank-row-head strong{font-size:.72rem;color:var(--tc-navy);text-transform:uppercase;letter-spacing:.035em}.tc-tank-row-head small{font-size:.61rem;color:var(--tc-muted);line-height:1.3}
.tc-tank-fields{display:flex;align-items:flex-start;gap:8px}.tc-tank-fields .tc-compact-field{width:126px}
.tc-refuel-card{margin-top:16px;background:linear-gradient(180deg,#f8fffb 0%,#fff 100%);border:1px solid #cfe9dd;border-radius:var(--tc-radius);box-shadow:var(--tc-shadow);overflow:hidden}
.tc-refuel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 18px;border-bottom:1px solid #dceee5}.tc-refuel-head>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.tc-refuel-head strong{font-size:.9rem;color:var(--tc-navy)}.tc-refuel-head span{font-size:.75rem;font-weight:900;color:var(--tc-green)}.tc-refuel-head small{font-size:.63rem;color:var(--tc-muted);text-align:right}
.tc-refuel-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 18px 6px}.tc-refuel-kpi{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1px solid #e1e8ed;border-radius:10px;background:#fff}.tc-refuel-kpi span{font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;color:var(--tc-muted)}.tc-refuel-kpi strong{font-size:1rem;color:var(--tc-navy)}.tc-refuel-kpi small{font-size:.62rem;color:var(--tc-muted);font-weight:750}.tc-refuel-kpi.is-optimized{border-color:#bfe4d1;background:#f7fffb}.tc-refuel-kpi.is-optimized strong{color:var(--tc-green)}.tc-refuel-kpi.is-saving{border-color:#ffd4b2;background:#fff9f3}.tc-refuel-kpi.is-saving strong{color:var(--tc-orange)}
.tc-refuel-list{padding:5px 18px 12px}.tc-refuel-row{display:grid;grid-template-columns:minmax(170px,1.4fr) repeat(3,minmax(115px,.7fr));gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e5f0ea}.tc-refuel-row:last-child{border-bottom:0}.tc-refuel-row>strong{font-size:.76rem;color:var(--tc-text)}.tc-refuel-row>span{display:flex;flex-direction:column;gap:2px;font-size:.72rem;color:var(--tc-navy);font-weight:850}.tc-refuel-row>span b{font-size:.56rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tc-muted)}
.tc-refuel-empty{padding:12px 0;font-size:.74rem;color:var(--tc-green);font-weight:850}
@media(max-width:900px){.tc-tank-row{align-items:flex-start;flex-direction:column}.tc-tank-fields{width:100%;flex-wrap:wrap}.tc-tank-fields .tc-compact-field{width:calc(33.333% - 6px)}}
@media(max-width:760px){.tc-refuel-head{align-items:flex-start;flex-direction:column;gap:4px}.tc-refuel-head small{text-align:left}.tc-refuel-row{grid-template-columns:1fr 1fr;gap:7px 12px}.tc-refuel-row>strong{grid-column:1/-1}}
@media(max-width:560px){.tc-tank-fields .tc-compact-field{width:100%}.tc-refuel-row{grid-template-columns:1fr}.tc-refuel-row>strong{grid-column:auto}}


/* v0.7.31 MyCamper presentation layer: full-width hero + post-results promo rail */
.tc-page-hero{position:relative;left:50%;width:100vw;min-height:330px;margin:0 0 18px -50vw;overflow:hidden;background:radial-gradient(circle at 78% 30%,rgba(42,126,157,.52),transparent 32%),linear-gradient(115deg,#062a43 0%,#0a4967 54%,#244b5f 100%);color:#fff;isolation:isolate}
.tc-page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;z-index:-3}
.tc-page-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(3,31,50,.92) 0%,rgba(3,31,50,.78) 33%,rgba(3,31,50,.34) 60%,rgba(3,31,50,.12) 100%)}
.tc-page-hero.no-image:before{content:"";position:absolute;z-index:-1;inset:auto -10% -52% 38%;height:82%;background:linear-gradient(155deg,transparent 46%,rgba(255,255,255,.09) 47% 49%,transparent 50%),linear-gradient(15deg,rgba(255,255,255,.04),rgba(255,255,255,0));transform:skewX(-12deg) rotate(-2deg)}
.tc-page-hero-inner{width:min(1360px,calc(100% - 32px));min-height:330px;margin:0 auto;padding:56px 0;display:flex;align-items:center;justify-content:space-between;gap:40px}
.tc-page-hero-copy{max-width:760px}.tc-page-hero-kicker{display:block;margin-bottom:8px;font-size:.78rem;font-weight:950;letter-spacing:.07em;text-transform:uppercase;color:#fff}.tc-page-hero-copy h1{max-width:780px;margin:0 0 12px;color:#fff;font-size:clamp(2.25rem,4.1vw,4.35rem);font-weight:950;line-height:.98;letter-spacing:-.045em;text-shadow:0 2px 22px rgba(0,0,0,.16)}.tc-page-hero-copy p{max-width:690px;margin:0;color:rgba(255,255,255,.94);font-size:clamp(.98rem,1.35vw,1.22rem);font-weight:650;line-height:1.45}
.tc-page-hero-fallback{position:relative;align-self:stretch;flex:0 1 520px;min-height:210px}.tc-page-hero-fallback img{position:absolute;right:3%;bottom:22%;width:min(360px,76%);height:auto;filter:brightness(0) invert(1) drop-shadow(0 18px 18px rgba(0,0,0,.22));opacity:.9}.tc-page-hero-road{position:absolute;right:-12%;bottom:-7%;width:118%;height:74%;border-radius:50% 0 0 0;background:linear-gradient(165deg,transparent 43%,rgba(255,255,255,.11) 44% 48%,transparent 49%),linear-gradient(170deg,transparent 54%,rgba(245,130,32,.68) 55% 57%,transparent 58%);transform:rotate(-5deg)}
.tc-lower-layout[hidden]{display:none!important}.tc-lower-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.72fr);gap:18px;align-items:start;margin-top:16px}.tc-lower-layout-no-sidebar{grid-template-columns:minmax(0,1fr)}.tc-lower-layout-promo-only{grid-template-columns:minmax(0,2fr) minmax(280px,.72fr)}.tc-lower-layout-promo-only .tc-promo-sidebar{grid-column:2}.tc-main-column{min-width:0}.tc-main-column>.tc-trip-summary-card:first-child,.tc-main-column>[hidden]+.tc-fuel-card,.tc-main-column>[hidden]+[hidden]+.tc-refuel-card,.tc-main-column>[hidden]+[hidden]+[hidden]+.tc-vignette-card,.tc-main-column>[hidden]+[hidden]+[hidden]+[hidden]+.tc-toll-card,.tc-main-column>[hidden]+[hidden]+[hidden]+[hidden]+[hidden]+.tc-map-card{margin-top:0}
.tc-promo-sidebar{position:sticky;top:18px;display:grid;gap:16px;min-width:0}.tc-promo-card{position:relative;overflow:hidden;border:1px solid var(--tc-line);border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(13,34,50,.09)}.tc-promo-media{position:relative;min-height:190px;background:linear-gradient(150deg,#0a3551,#0b6680);overflow:hidden}.tc-promo-media>img:not(.tc-promo-camper){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tc-promo-media.is-fallback{background:radial-gradient(circle at 28% 24%,rgba(255,255,255,.19),transparent 25%),linear-gradient(145deg,#0a3857,#0e6d82 66%,#f58220 160%)}.tc-promo-glow{position:absolute;width:190px;height:190px;border-radius:50%;right:-46px;top:-48px;background:rgba(245,130,32,.23)}.tc-promo-camper{position:absolute;right:12px;bottom:18px;width:74%;max-height:112px;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 9px 8px rgba(0,0,0,.22));opacity:.94}.tc-promo-body{padding:17px 18px 18px}.tc-promo-eyebrow{display:block;margin-bottom:5px;color:var(--tc-accent);font-size:.62rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.tc-promo-body h3{margin:0;color:var(--tc-navy);font-size:1.25rem;font-weight:950;line-height:1.08;letter-spacing:-.025em}.tc-promo-body p{margin:9px 0 0;color:var(--tc-muted);font-size:.77rem;line-height:1.48}.tc-promo-button{display:inline-flex;align-items:center;gap:7px;margin-top:13px;border-radius:10px;background:linear-gradient(135deg,var(--tc-accent),var(--tc-accent-2));padding:9px 12px;color:#fff!important;text-decoration:none!important;font-size:.7rem;font-weight:950;box-shadow:0 8px 20px rgba(245,130,32,.2)}.tc-promo-button:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(245,130,32,.3)}
.tc-promo-card-overlay{min-height:330px;background:#092d45}.tc-promo-card-overlay .tc-promo-media{position:absolute;inset:0;min-height:0}.tc-promo-card-overlay .tc-promo-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,28,45,.12) 20%,rgba(3,28,45,.88) 86%)}.tc-promo-card-overlay .tc-promo-body{position:relative;z-index:2;display:flex;min-height:330px;flex-direction:column;justify-content:flex-end;padding:22px}.tc-promo-card-overlay .tc-promo-eyebrow,.tc-promo-card-overlay h3,.tc-promo-card-overlay p{color:#fff}.tc-promo-card-overlay .tc-promo-eyebrow{color:#ffd3ad}.tc-promo-card-overlay .tc-promo-body p{color:rgba(255,255,255,.88)}
.tc-promo-card-panel{display:flex;flex-direction:column}.tc-promo-card-panel .tc-promo-body{order:1;background:linear-gradient(180deg,#f7fbff,#fff)}.tc-promo-card-panel .tc-promo-media{order:2;min-height:175px}.tc-promo-card-panel .tc-promo-body h3{font-size:1.42rem}
@media(max-width:1100px){.tc-lower-layout{grid-template-columns:1fr}.tc-lower-layout-promo-only .tc-promo-sidebar{grid-column:auto}.tc-promo-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.tc-promo-card-overlay{min-height:300px}.tc-promo-card-overlay .tc-promo-body{min-height:300px}}
@media(max-width:760px){.tc-page-hero{min-height:280px;margin-bottom:12px}.tc-page-hero-inner{width:min(100% - 28px,1360px);min-height:280px;padding:40px 0}.tc-page-hero-shade{background:linear-gradient(90deg,rgba(3,31,50,.93),rgba(3,31,50,.68))}.tc-page-hero-copy{max-width:100%}.tc-page-hero-copy h1{font-size:clamp(2rem,11vw,3rem)}.tc-page-hero-copy p{font-size:.92rem}.tc-page-hero-fallback{display:none}.tc-promo-sidebar{grid-template-columns:1fr}.tc-promo-card-overlay,.tc-promo-card-overlay .tc-promo-body{min-height:280px}}

/* v0.7.34 — calculator + promo rail on top; all route content below full width */
.tc-top-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:18px;align-items:start;margin-bottom:0}
.tc-top-layout-no-sidebar{grid-template-columns:minmax(0,1fr)}
.tc-top-layout>.tc-search-card{min-width:0;margin:0}
.tc-top-layout>.tc-promo-sidebar{position:sticky;top:18px;align-self:start}
.tc-lower-layout{grid-template-columns:minmax(0,1fr)!important}
.tc-lower-layout .tc-main-column{grid-column:1/-1;width:100%}
@media(max-width:1180px){
  .tc-top-layout{grid-template-columns:1fr}
  .tc-top-layout>.tc-promo-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .tc-top-layout>.tc-promo-sidebar{grid-template-columns:1fr}
}

/* v0.7.35 — image-only promo cards keep the source image's natural aspect ratio.
   No fixed overlay/panel height and no crop when admin text/button fields are blank. */
.tc-promo-card-image-only{min-height:0!important;background:transparent}
.tc-promo-card-image-only .tc-promo-media{position:relative!important;inset:auto!important;min-height:0!important;height:auto!important;order:initial!important;background:transparent!important;overflow:hidden}
.tc-promo-card-image-only .tc-promo-media:after{display:none!important}
.tc-promo-card-image-only .tc-promo-media>img:not(.tc-promo-camper){position:static!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center!important}
.tc-promo-card-image-only .tc-promo-body{display:none!important}

/* v0.7.37 — promo URL belongs to the image, not the CTA/label text */
.tc-promo-image-link{display:block;width:100%;height:100%;color:inherit;text-decoration:none!important;cursor:pointer}
.tc-promo-media>.tc-promo-image-link>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.tc-promo-image-link:focus-visible{outline:3px solid var(--tc-accent);outline-offset:-3px}
.tc-promo-button-label{cursor:default;user-select:none}
.tc-promo-button-label:hover{transform:none;box-shadow:0 8px 20px rgba(245,130,32,.2)}
.tc-promo-card-image-only .tc-promo-media>.tc-promo-image-link{display:block!important;width:100%!important;height:auto!important}
.tc-promo-card-image-only .tc-promo-media>.tc-promo-image-link>img{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center!important}
.tc-promo-card-overlay .tc-promo-media:after{pointer-events:none}


/* v0.7.38 — three desktop promos share the right rail equally (1/3 each).
   The rail is height-synchronised to the calculator by site.js. */
@media (min-width:1181px){
  .tc-top-layout>.tc-promo-sidebar{
    display:flex;
    flex-direction:column;
    gap:16px;
    min-height:0;
    overflow:hidden;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card{
    flex:1 1 0;
    min-height:0!important;
    height:auto!important;
    overflow:hidden;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-overlay,
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-overlay .tc-promo-body{
    min-height:0!important;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-overlay .tc-promo-body{
    height:100%;
    padding:14px 15px;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-panel .tc-promo-media{
    flex:1 1 auto;
    min-height:0!important;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-panel .tc-promo-body{
    flex:0 0 auto;
    padding:12px 14px;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media{
    flex:1 1 auto!important;
    height:100%!important;
    min-height:0!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    background:#fff!important;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>.tc-promo-image-link{
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>img:not(.tc-promo-camper),
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>.tc-promo-image-link>img{
    position:static!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .tc-top-layout>.tc-promo-sidebar .tc-promo-eyebrow{font-size:.56rem;margin-bottom:3px}
  .tc-top-layout>.tc-promo-sidebar .tc-promo-body h3{font-size:1.05rem}
  .tc-top-layout>.tc-promo-sidebar .tc-promo-body p{font-size:.68rem;line-height:1.35;margin-top:6px}
  .tc-top-layout>.tc-promo-sidebar .tc-promo-button{margin-top:8px;padding:7px 10px;font-size:.64rem}
}


/* v0.7.39 — admin-manageable hero copy + true image-only hero mode.
   When hero text is disabled/empty, preserve the full artwork with its natural ratio. */
.tc-page-hero.tc-page-hero-image-only{min-height:0!important;height:auto!important;background:#fff!important;overflow:hidden}
.tc-page-hero.tc-page-hero-image-only .tc-page-hero-bg{position:relative!important;inset:auto!important;z-index:0!important;display:block!important;width:100%!important;height:auto!important;max-width:none!important;object-fit:contain!important;object-position:center!important}
.tc-page-hero.tc-page-hero-image-only .tc-page-hero-shade,.tc-page-hero.tc-page-hero-image-only .tc-page-hero-inner{display:none!important}
@media(max-width:760px){.tc-page-hero.tc-page-hero-image-only{min-height:0!important}}

/* v0.7.40 — Trips-style hero: fixed scenic background, editable copy, compact overlay. */
.tc-page-hero,
.tc-page-hero.tc-page-hero-image-only{
  position:relative!important;
  left:50%;
  width:100vw;
  height:430px!important;
  min-height:430px!important;
  margin:0 0 18px -50vw!important;
  overflow:hidden!important;
  background:#07314b!important;
  color:#fff;
  isolation:isolate;
}
.tc-page-hero .tc-page-hero-bg,
.tc-page-hero.tc-page-hero-image-only .tc-page-hero-bg{
  position:absolute!important;
  inset:0!important;
  z-index:-3!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 50%!important;
  transform:none!important;
}
.tc-page-hero.has-copy .tc-page-hero-shade{
  display:block!important;
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,
    rgba(3,31,50,.985) 0%,
    rgba(3,31,50,.97) 30%,
    rgba(3,31,50,.86) 45%,
    rgba(3,31,50,.55) 60%,
    rgba(3,31,50,.16) 80%,
    rgba(3,31,50,.03) 100%);
}
.tc-page-hero .tc-page-hero-inner,
.tc-page-hero.tc-page-hero-image-only .tc-page-hero-inner{
  display:flex!important;
  width:min(1360px,calc(100% - 32px));
  height:430px!important;
  min-height:430px!important;
  margin:0 auto;
  padding:0!important;
  align-items:center;
  justify-content:flex-start;
}
.tc-page-hero .tc-page-hero-copy{max-width:670px;padding:0}
.tc-page-hero .tc-page-hero-kicker{margin-bottom:12px;font-size:.78rem;font-weight:950;letter-spacing:.075em;text-transform:uppercase;color:#fff}
.tc-page-hero .tc-page-hero-copy h1{max-width:670px;margin:0 0 14px;color:#fff;font-size:clamp(2.8rem,4.25vw,4.35rem);font-weight:950;line-height:.98;letter-spacing:-.045em;text-shadow:0 2px 18px rgba(0,0,0,.20)}
.tc-page-hero .tc-page-hero-copy p{max-width:650px;margin:0;color:rgba(255,255,255,.96);font-size:clamp(.98rem,1.15vw,1.16rem);font-weight:650;line-height:1.45}
.tc-page-hero.no-copy .tc-page-hero-inner{pointer-events:none}
@media(max-width:900px){
  .tc-page-hero,.tc-page-hero.tc-page-hero-image-only{height:350px!important;min-height:350px!important}
  .tc-page-hero .tc-page-hero-inner,.tc-page-hero.tc-page-hero-image-only .tc-page-hero-inner{height:350px!important;min-height:350px!important}
  .tc-page-hero.has-copy .tc-page-hero-shade{background:linear-gradient(90deg,rgba(3,31,50,.97) 0%,rgba(3,31,50,.90) 55%,rgba(3,31,50,.38) 100%)}
  .tc-page-hero .tc-page-hero-copy{max-width:72%}
  .tc-page-hero .tc-page-hero-copy h1{font-size:clamp(2.35rem,7vw,3.45rem)}
}
@media(max-width:760px){
  .tc-page-hero,.tc-page-hero.tc-page-hero-image-only{height:310px!important;min-height:310px!important;margin-bottom:12px!important}
  .tc-page-hero .tc-page-hero-inner,.tc-page-hero.tc-page-hero-image-only .tc-page-hero-inner{width:min(100% - 28px,1360px);height:310px!important;min-height:310px!important}
  .tc-page-hero .tc-page-hero-copy{max-width:100%}
  .tc-page-hero .tc-page-hero-copy h1{font-size:clamp(2rem,10vw,3rem)}
  .tc-page-hero .tc-page-hero-copy p{font-size:.92rem}
  .tc-page-hero.has-copy .tc-page-hero-shade{background:linear-gradient(90deg,rgba(3,31,50,.96),rgba(3,31,50,.72))}
}

/* v0.7.41 — promo rail full-bleed image cards.
   Image-only promos fill their equal-height slot, inherit the card radius,
   and never expose the old grey/white media background underneath. */
.tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only{
  background:transparent!important;
  border-radius:18px!important;
  overflow:hidden!important;
}
.tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border-radius:inherit!important;
  overflow:hidden!important;
}
.tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>.tc-promo-image-link,
.tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>img:not(.tc-promo-camper){
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  border-radius:inherit!important;
  overflow:hidden!important;
}
.tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>.tc-promo-image-link>img,
.tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>img:not(.tc-promo-camper){
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  border-radius:inherit!important;
}
.tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-body{
  display:none!important;
}


/* v0.7.42 — clean 3:2 promo banners.
   The three 900x600 promo artworks define their own height; no rail stretching,
   no grey remainder, no crop caused by calculator-height synchronization. */
@media (min-width:1181px){
  .tc-top-layout>.tc-promo-sidebar{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-auto-rows:auto!important;
    gap:16px!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    align-content:start!important;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:3/2!important;
    flex:none!important;
    border-radius:18px!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media,
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>.tc-promo-image-link{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    border-radius:inherit!important;
    overflow:hidden!important;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>img:not(.tc-promo-camper),
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-media>.tc-promo-image-link>img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center center!important;
    border-radius:inherit!important;
  }
  .tc-top-layout>.tc-promo-sidebar>.tc-promo-card-image-only .tc-promo-body{
    display:none!important;
  }
}

/* Header cleanup on the toll-calculator page only: hide compact BETA pills
   attached to Camper Map / Travel Map without changing global menu data. */
a[href*="/camper-map"] .badge,
a[href*="/travel-map"] .badge,
a[href*="/camper-map"] .label,
a[href*="/travel-map"] .label,
a[href*="/camper-map"] .beta,
a[href*="/travel-map"] .beta,
a[href*="/camper-map"] [class*="badge"],
a[href*="/travel-map"] [class*="badge"]{
  display:none!important;
}
a[href*="/camper-map"]::after,
a[href*="/travel-map"]::after{
  content:none!important;
  display:none!important;
}


/* v0.7.43 — mobile hero + map picker hardening.
   When the hero artwork already contains its own copy (no admin overlay copy),
   show the complete artwork on phones instead of cropping it with cover. */
@media (max-width:760px){
  .tc-page-hero.no-copy.has-image{
    height:auto!important;
    min-height:0!important;
    margin-bottom:12px!important;
    background:#07314b!important;
    overflow:hidden!important;
  }
  .tc-page-hero.no-copy.has-image .tc-page-hero-bg{
    position:relative!important;
    inset:auto!important;
    z-index:0!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }
  .tc-page-hero.no-copy.has-image .tc-page-hero-inner,
  .tc-page-hero.no-copy.has-image .tc-page-hero-shade{
    display:none!important;
  }
}

/* Map picker must fit entirely inside the mobile visual viewport.
   Keep the orange "use selected point" action visible above iOS Safari chrome. */
.tc-map-picker{
  z-index:2147483000!important;
  box-sizing:border-box;
}
.tc-map-picker-panel{
  display:flex;
  flex-direction:column;
}
.tc-map-picker-head,
.tc-map-picker-search,
.tc-map-picker-foot{
  flex:0 0 auto;
}
.tc-picker-map{
  flex:1 1 auto;
  min-height:0;
}
.tc-modal-open,
.tc-modal-open body{
  overflow:hidden!important;
  overscroll-behavior:none;
}

@media (max-width:760px){
  .tc-map-picker{
    align-items:center!important;
    justify-content:center!important;
    padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom))!important;
    overflow:hidden!important;
  }
  .tc-map-picker-panel{
    width:100%!important;
    height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;
    max-height:calc(100dvh - max(16px,env(safe-area-inset-top)) - max(16px,env(safe-area-inset-bottom)))!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }
  .tc-map-picker-head{
    padding:15px 16px 13px!important;
  }
  .tc-map-picker-search{
    padding:10px 12px!important;
  }
  .tc-picker-map{
    height:auto!important;
    min-height:220px!important;
  }
  .tc-map-picker-foot{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
  }
  .tc-map-picker-foot>span{
    max-width:none!important;
    font-size:.76rem!important;
  }
  .tc-picker-use{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
}

/* Fallback for browsers without dynamic viewport units. */
@supports not (height:100dvh){
  @media (max-width:760px){
    .tc-map-picker-panel{
      height:calc(100vh - 20px)!important;
      max-height:calc(100vh - 20px)!important;
    }
  }
}
.tc-fuel-region-warning{margin:8px 0 2px;padding:9px 11px;border:1px solid #f4c57b;border-radius:9px;background:#fff8ec;color:#815217;font-size:.7rem;font-weight:750}
/* v0.7.46 — configurable advisory notice above route inputs */
.tc-advisory-notice{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;padding:11px 14px;border:1px solid #f5d8b8;border-left:4px solid #ff7a00;border-radius:10px;background:#fff8ef;color:#5c4633;font-size:.82rem;line-height:1.45}
.tc-advisory-notice__icon{flex:0 0 auto;margin-top:1px;color:#ed7100;font-size:1rem;font-weight:800;line-height:1.2}
.tc-advisory-notice__text{min-width:0}
@media(max-width:760px){.tc-advisory-notice{margin-bottom:14px;padding:10px 12px;font-size:.78rem;border-radius:9px}}


.tc-refuel-row.is-fallback{background:#fffaf3}.tc-refuel-row>em{grid-column:1/-1;font-size:.58rem;color:#a45b18;font-style:normal;font-weight:800}
@media(max-width:760px){.tc-refuel-kpis{grid-template-columns:1fr}.tc-refuel-kpi{padding:9px 11px}}

/* v0.7.56 essential ferry / shuttle fallback */
.tc-transfer-warning{margin-top:9px;padding:8px 10px;border-radius:10px;background:#fff4e8;border:1px solid #f2c99d;color:#8a5519;font-size:.7rem;font-weight:800;line-height:1.4}
.tc-result-card-active .tc-transfer-warning{background:#fff0df;border-color:#efbb82}

.tc-fuel-region-row.is-reference{background:#fffdf2;margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:8px;border-left:3px solid #e7b02a}.tc-fuel-region-row.is-reference .tc-fuel-region-note{color:#7a5a08!important}


/* v0.7.61 Trip Cost Summary / Final Cost Breakdown */
.tc-trip-summary-card{margin-top:16px;background:linear-gradient(135deg,#082f4a 0%,#0a4664 58%,#0b5873 100%);border:1px solid rgba(7,47,74,.16);border-radius:var(--tc-radius);box-shadow:0 18px 42px rgba(6,45,69,.15);overflow:hidden;color:#fff}
.tc-trip-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 18px 12px;border-bottom:1px solid rgba(255,255,255,.12)}
.tc-trip-summary-head>div{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.tc-trip-summary-head strong{font-size:.92rem;letter-spacing:.025em;color:#fff}.tc-trip-summary-head span{font-size:.72rem;font-weight:900;color:#ffbd7d}.tc-trip-summary-head small{max-width:590px;text-align:right;color:rgba(255,255,255,.72);font-size:.63rem;line-height:1.4}
.tc-trip-summary-main{display:grid;grid-template-columns:minmax(230px,.9fr) minmax(300px,1.1fr);gap:18px;align-items:stretch;padding:16px 18px 10px}.tc-trip-summary-total{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11)}.tc-trip-summary-total>span{font-size:.59rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.68)}.tc-trip-summary-total>strong{font-size:2rem;line-height:1;color:#fff;letter-spacing:-.035em}.tc-trip-summary-total>small{font-size:.62rem;font-weight:850;color:#9ee4be}.tc-trip-summary-total>small.is-incomplete{color:#ffd39d}
.tc-trip-summary-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tc-trip-summary-metrics>div{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}.tc-trip-summary-metrics span{font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.64)}.tc-trip-summary-metrics strong{font-size:1rem;color:#fff}
.tc-trip-summary-costs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 18px 16px}.tc-trip-summary-costs article{min-width:0;padding:12px 13px;border-radius:12px;background:#fff;color:var(--tc-text);box-shadow:0 8px 24px rgba(1,22,36,.09)}.tc-trip-summary-costs article>span{display:block;font-size:.58rem;font-weight:950;text-transform:uppercase;letter-spacing:.055em;color:var(--tc-muted)}.tc-trip-summary-costs article>strong{display:block;margin:4px 0 7px;font-size:1.12rem;color:var(--tc-navy)}.tc-trip-summary-costs article.is-missing>strong{color:#a66720}
.tc-trip-summary-costs article>div{display:flex;gap:5px;flex-wrap:wrap}.tc-trip-quality{display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border-radius:999px;font-size:.54rem;font-weight:900;line-height:1.15;background:#eef2f5;color:#586775}.tc-trip-quality.is-official{background:#e7f7ef;color:#08724f}.tc-trip-quality.is-last-known{background:#eef4fb;color:#315d86}.tc-trip-quality.is-reference{background:#fff5d9;color:#83620a}.tc-trip-quality.is-fallback,.tc-trip-quality.is-warning{background:#fff0df;color:#9a5811}.tc-trip-quality.is-manual{background:#f1ebff;color:#6745a2}.tc-trip-quality.is-neutral{background:#eef2f5;color:#586775}
.tc-trip-summary-crossing{margin:0 18px 16px;padding:10px 12px;border-radius:10px;background:#fff2df;border:1px solid #f2c18d;color:#7b4b16;font-size:.68rem;font-weight:850;line-height:1.45}
@media(max-width:760px){.tc-trip-summary-card{border-radius:16px}.tc-trip-summary-head{flex-direction:column;gap:5px;padding:13px 14px 10px}.tc-trip-summary-head small{text-align:left;max-width:none}.tc-trip-summary-main{grid-template-columns:1fr;padding:12px 14px 9px}.tc-trip-summary-total>strong{font-size:1.75rem}.tc-trip-summary-costs{grid-template-columns:1fr;padding:0 14px 14px}.tc-trip-summary-crossing{margin:0 14px 14px}.tc-trip-summary-metrics{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.tc-trip-summary-metrics{grid-template-columns:1fr}}

/* v0.7.62 saved / print / share calculations */
.tc-saved-trips{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto auto;gap:7px;align-items:center;margin-top:10px;padding:9px 10px;border:1px solid #dfe7ec;border-radius:11px;background:#f8fafb}.tc-saved-trips>strong{font-size:.65rem;color:var(--tc-navy);white-space:nowrap}.tc-saved-trips select{min-width:0;height:34px;border:1px solid #d8e1e7;border-radius:8px;background:#fff;color:var(--tc-text);padding:0 28px 0 9px;font-size:.67rem;font-weight:750}.tc-trip-summary-tools{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;padding:0 18px 16px}.tc-trip-summary-tools button{appearance:none;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:rgba(255,255,255,.1);color:#fff;padding:7px 11px;font-size:.62rem;font-weight:900;cursor:pointer}.tc-trip-summary-tools button:hover{background:rgba(255,255,255,.18)}
@media(max-width:760px){.tc-saved-trips{grid-template-columns:1fr auto auto}.tc-saved-trips>strong{grid-column:1/-1}.tc-saved-trips select{min-width:0}.tc-trip-summary-tools{padding:0 14px 14px;justify-content:stretch}.tc-trip-summary-tools button{flex:1 1 auto}}
@media(max-width:460px){.tc-saved-trips{grid-template-columns:1fr 1fr}.tc-saved-trips select{grid-column:1/-1}.tc-trip-summary-tools{display:grid;grid-template-columns:1fr}.tc-trip-summary-tools button{width:100%}}
@media print{body *{visibility:hidden!important}.tc-shell[data-tollcalculator],.tc-shell[data-tollcalculator] *{visibility:visible!important}.tc-shell[data-tollcalculator]{position:absolute!important;left:0!important;top:0!important;width:100%!important;background:#fff!important}.tc-page-hero,.tc-top-grid,.tc-results,.tc-promo-sidebar,.tc-map-card,.tc-saved-trips,.tc-trip-summary-tools,.tc-detour-state,.tc-traffic-alert{display:none!important}.tc-lower-layout,.tc-main-column,.tc-trip-summary-card,.tc-fuel-card,.tc-refuel-card,.tc-vignette-card,.tc-toll-card{display:block!important;width:100%!important;max-width:none!important;box-shadow:none!important;break-inside:avoid}.tc-trip-summary-card{background:#fff!important;color:#111!important;border:1px solid #bbb!important}.tc-trip-summary-card *{color:#111!important}.tc-trip-summary-total,.tc-trip-summary-metrics>div{background:#fff!important;border:1px solid #ddd!important}.tc-trip-summary-costs article{box-shadow:none!important;border:1px solid #ddd!important}.tc-trip-summary-head,.tc-trip-summary-main,.tc-trip-summary-costs{break-inside:avoid}.tc-fuel-card,.tc-refuel-card,.tc-vignette-card,.tc-toll-card{margin-top:12px!important;border:1px solid #ccc!important}.tc-lower-layout [hidden]{display:none!important}}


/* v0.7.63 direct social sharing */
.tc-trip-summary-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:0 18px 16px}.tc-trip-social-share{display:flex;align-items:center;gap:10px;min-width:0}.tc-trip-social-share>strong{font-size:.65rem;color:#fff;white-space:nowrap}.tc-trip-social-buttons{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.tc-social-button{appearance:none;width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:0!important;border-radius:50%!important;padding:0!important;cursor:pointer;box-shadow:0 5px 14px rgba(0,0,0,.16);transition:transform .16s ease,filter .16s ease}.tc-social-button:hover{transform:translateY(-1px);filter:brightness(1.06)}.tc-social-button svg{width:17px;height:17px;fill:#fff}.tc-social-facebook{background:#1877f2!important}.tc-social-whatsapp{background:#25d366!important}.tc-social-x{background:#111!important}.tc-social-email{background:#617080!important}.tc-social-copy{background:#ff7a18!important}.tc-social-native{background:#26759c!important;display:none}.tc-trip-summary-footer .tc-trip-summary-tools{padding:0;flex:0 0 auto}.tc-trip-summary-footer .tc-trip-summary-tools button{min-height:34px}
@media(max-width:760px){.tc-trip-summary-footer{align-items:stretch;flex-direction:column;padding:0 14px 14px}.tc-trip-social-share{justify-content:space-between;align-items:flex-start}.tc-trip-social-buttons{justify-content:flex-end}.tc-social-native{display:inline-flex}.tc-trip-summary-footer .tc-trip-summary-tools{padding:0;display:flex;justify-content:stretch}.tc-trip-summary-footer .tc-trip-summary-tools button{flex:1 1 0}}
@media(max-width:460px){.tc-trip-social-share{flex-direction:column}.tc-trip-social-buttons{justify-content:flex-start;width:100%}.tc-social-button{width:38px;height:38px}.tc-trip-summary-footer .tc-trip-summary-tools{display:grid;grid-template-columns:1fr 1fr;width:100%}}
@media print{.tc-trip-summary-footer{display:none!important}}


/* v0.7.65 — compact calculator vehicle selector + dedicated Vehicle Profiles page */
.tc-vehicle-profile-compact{margin:18px 0;padding:14px 16px;border:1px solid #dfe5eb;border-radius:14px;background:#f8fafc}.tc-vehicle-profile-compact-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tc-vehicle-profile-compact-main>div:first-child{display:flex;flex-direction:column;gap:4px;flex:1 1 260px}.tc-vehicle-profile-compact-main strong{color:#142439;font-size:15px}.tc-vehicle-profile-compact select{min-width:220px}.tc-manage-vehicles{text-decoration:none!important;white-space:nowrap}.tc-profile-missing-note{margin-top:8px;color:#a34c00;font-size:13px}
.tc-vehicles-page{max-width:1280px;margin:0 auto;padding:28px 18px 56px}.tc-vehicles-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;padding:26px 28px;border-radius:20px;background:linear-gradient(135deg,#0f2034,#18354d);color:#fff}.tc-vehicles-hero h1{margin:4px 0 8px;color:#fff}.tc-vehicles-hero p{max-width:780px;margin:0;color:rgba(255,255,255,.82)}.tc-vehicles-back{background:#fff!important;color:#13273a!important;text-decoration:none!important;white-space:nowrap}.tc-vehicles-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:20px;align-items:start}.tc-vehicle-list-card,.tc-profile-editor{padding:20px}.tc-vehicle-list-head,.tc-profile-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.tc-vehicle-list-head h2,.tc-profile-editor-head h2{margin:0}.tc-profile-new{padding:9px 12px}.tc-profile-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid #edf0f3}.tc-profile-list-item:first-child{border-top:0}.tc-profile-list-main{display:flex;flex-direction:column;gap:3px;min-width:0}.tc-profile-list-main strong{color:#142439}.tc-profile-list-main span{font-size:12px;color:#627184}.tc-profile-list-main em{font-size:11px;color:#b55d00;font-style:normal;font-weight:700}.tc-profile-list-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.tc-profile-empty{padding:18px;border:1px dashed #ccd5df;border-radius:12px;color:#617083}.tc-profile-empty p{margin:5px 0 0}.tc-profile-status{font-size:13px;color:#26723d}.tc-profile-section{margin-top:18px;padding-top:18px;border-top:1px solid #e6ebf0}.tc-profile-section:first-of-type{margin-top:0;border-top:0;padding-top:0}.tc-profile-section h3{margin:0 0 12px;color:#1a2b3f;font-size:16px}.tc-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tc-profile-field{display:flex;flex-direction:column;gap:6px;min-width:0}.tc-profile-field>span{font-size:12px;font-weight:700;color:#506176}.tc-profile-field input,.tc-profile-field select{width:100%;min-height:42px;border:1px solid #ccd6df;border-radius:9px;padding:8px 10px;background:#fff}.tc-profile-field-wide{grid-column:span 2}.tc-profile-advanced{margin-top:18px;padding:15px 16px;border:1px solid #dfe5eb;border-radius:12px;background:#fafbfc}.tc-profile-advanced summary{cursor:pointer;font-weight:800;color:#23384d}.tc-profile-help{color:#6a7786;font-size:13px}.tc-profile-trailer{margin-top:16px}.tc-profile-checkbox{display:flex;gap:8px;align-items:center;font-weight:700;color:#33485d}.tc-profile-checkbox input{width:auto}.tc-profile-default-row{margin-top:18px}.tc-profile-actions{display:flex;gap:10px;margin-top:18px}.tc-profile-actions button{min-width:130px}
@media(max-width:900px){.tc-vehicles-layout{grid-template-columns:1fr}.tc-vehicles-hero{align-items:flex-start;flex-direction:column}.tc-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-profile-field-wide{grid-column:span 2}}
@media(max-width:600px){.tc-vehicles-page{padding:16px 10px 38px}.tc-vehicles-hero{padding:20px}.tc-profile-grid{grid-template-columns:1fr}.tc-profile-field-wide{grid-column:auto}.tc-profile-list-item{align-items:flex-start;flex-direction:column}.tc-profile-list-actions{justify-content:flex-start}.tc-vehicle-profile-compact-main{align-items:stretch}.tc-vehicle-profile-compact select{width:100%;min-width:0}}

/* v0.7.66 — route preferences */
.tc-route-preferences{margin:0 0 16px;border:1px solid #dfe5eb;border-radius:14px;background:#fff;overflow:hidden}.tc-route-preferences>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:13px 16px;font-weight:850;color:#142439;background:#f8fafc;list-style:none}.tc-route-preferences>summary::-webkit-details-marker{display:none}.tc-route-preferences>summary:after{content:'+';font-size:20px;line-height:1;color:var(--tc-accent);font-weight:900}.tc-route-preferences[open]>summary:after{content:'−'}.tc-route-preferences>summary small{font-size:12px;font-weight:600;color:#6b7785;margin-left:auto}.tc-route-preferences-body{padding:15px 16px 16px;border-top:1px solid #e7ebef}.tc-route-preference-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.tc-route-pref-check{display:flex!important;align-items:flex-start;gap:9px;padding:11px 12px;border:1px solid #e1e7ec;border-radius:11px;background:#fbfcfd;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.tc-route-pref-check.is-selected{border-color:#f29a2e;background:#fff8ef;box-shadow:0 0 0 2px rgba(242,154,46,.12)}.tc-route-pref-check input{width:18px!important;height:18px!important;min-width:18px;padding:0;margin:1px 0 0;accent-color:var(--tc-accent)}.tc-route-pref-check span{display:flex;flex-direction:column;gap:3px}.tc-route-pref-check strong{font-size:13px;color:#17283d}.tc-route-pref-check small,.tc-route-preference-grid label>small,.tc-avoid-countries-fieldset>small{font-size:11px;line-height:1.35;color:#718092}.tc-route-preference-grid{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:14px;align-items:start}.tc-route-preference-grid select{height:42px;font-size:13px}.tc-route-preference-grid label>span{margin-bottom:6px}.tc-route-preferences[open]{box-shadow:0 8px 26px rgba(16,36,56,.06)}.tc-avoid-countries-fieldset{min-width:0;margin:0;padding:0;border:0}.tc-avoid-countries-fieldset legend{display:block;width:100%;margin:0 0 6px;padding:0;font-size:13px;font-weight:700;color:#17283d}.tc-avoid-country-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto;padding:8px;border:1px solid #dde4ea;border-radius:11px;background:#fbfcfd;overscroll-behavior:contain}.tc-avoid-country-check{display:flex!important;align-items:center;gap:7px;min-width:0;padding:7px 8px;border:1px solid transparent;border-radius:8px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease}.tc-avoid-country-check:hover{border-color:#d7dee5}.tc-avoid-country-check.is-selected{border-color:#f29a2e;background:#fff4e6}.tc-avoid-country-check input{width:18px!important;height:18px!important;min-width:18px;margin:0;padding:0;accent-color:var(--tc-accent)}.tc-avoid-country-check span{min-width:0;font-size:12px;font-weight:650;line-height:1.25;color:#23364b;overflow-wrap:anywhere}.tc-avoid-countries-fieldset>small{display:block;margin-top:6px}
@media(max-width:900px){.tc-avoid-country-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.tc-route-preference-checks,.tc-route-preference-grid{grid-template-columns:1fr}.tc-route-preferences>summary{align-items:flex-start;flex-wrap:wrap}.tc-route-preferences>summary small{width:100%;margin:0}.tc-avoid-country-list{grid-template-columns:1fr 1fr;max-height:260px}.tc-route-pref-check{padding:12px}.tc-avoid-country-check{min-height:40px}}
@media(max-width:420px){.tc-avoid-country-list{grid-template-columns:1fr}}

/* v0.7.73 — shortest route + per-person cost */
.tc-cost-split{margin:0 0 16px;padding:12px 14px;border:1px solid #dfe5eb;border-radius:12px;background:#fff}.tc-cost-split label{display:grid;grid-template-columns:auto 86px minmax(220px,1fr);gap:10px;align-items:center}.tc-cost-split label>span{font-size:13px;font-weight:800;color:#17283d}.tc-cost-split input{width:86px;min-height:40px;border:1px solid #ccd6df;border-radius:9px;padding:7px 10px;font-weight:800;text-align:center}.tc-cost-split small{color:#718092;font-size:11px;line-height:1.35}.tc-trip-summary-metrics>div small{display:block;margin-top:3px;color:#718092;font-size:10px;font-weight:700}.tc-map-legend{flex-wrap:wrap;justify-content:flex-end}.tc-map-line-shortest{stroke:#2f80ed!important;stroke-dasharray:6 4!important}.tc-map-legend i.short{background:#2f80ed!important}
@media(max-width:760px){.tc-cost-split label{grid-template-columns:1fr 86px}.tc-cost-split small{grid-column:1/-1}.tc-preview-grid{grid-template-columns:1fr}.tc-map-legend{justify-content:flex-start}}


/* v0.7.74 — meaningful shortest route + per-route per-person comparison */
.tc-result-head-tools{display:flex!important;align-items:center!important;justify-content:flex-end;gap:10px!important;flex-wrap:wrap;font-weight:400!important;font-size:inherit!important}.tc-result-head-tools>small{white-space:nowrap}.tc-cost-split-inline{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid #dfe5eb;border-radius:9px;background:#fff;color:#35485d;font-size:.68rem;font-weight:800;white-space:nowrap}.tc-cost-split-inline input{width:52px;height:30px;border:1px solid #ccd6df;border-radius:7px;padding:3px 5px;text-align:center;font-weight:900;color:#17283d;background:#fff}.tc-cost-split-inline b{font-size:.66rem;color:#627184}.tc-route-per-person{margin:-1px 0 6px;color:#0b6d4e;font-size:.72rem;font-weight:900}.tc-result-card[hidden]{display:none!important}.tc-preview-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media(max-width:760px){.tc-result-head-tools{width:100%;justify-content:flex-start!important}.tc-result-head-tools>small{white-space:normal}.tc-cost-split-inline{width:100%;justify-content:flex-start}.tc-preview-grid{grid-template-columns:1fr}}

/* v0.7.75 — automatic vehicle profile restrictions */
.tc-vehicle-restriction-status{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:12px 14px;border:1px solid #d8e5ee;border-radius:12px;background:#f7fbfd;margin-bottom:14px}.tc-vehicle-restriction-status-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#e3f4eb;color:#176b42;font-weight:800}.tc-vehicle-restriction-status>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.tc-vehicle-restriction-status strong{font-size:.92rem;color:#19384b}.tc-vehicle-restriction-status small{color:#587181;line-height:1.35}.tc-vehicle-restriction-status>span{font-size:.72rem;font-weight:800;padding:5px 8px;border-radius:999px;background:#dff5e8;color:#176b42;white-space:nowrap}.tc-vehicle-restriction-status.is-partial{background:#fffaf1;border-color:#efd7aa}.tc-vehicle-restriction-status.is-partial .tc-vehicle-restriction-status-icon,.tc-vehicle-restriction-status.is-partial>span{background:#fff0d2;color:#9b5b00}
.tc-vehicle-restriction-alert{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:12px 14px;margin:0 0 12px;border:1px solid #b9dfc8;border-radius:12px;background:#f1fbf5;color:#174f33}.tc-vehicle-restriction-alert-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#dff5e8;font-weight:800}.tc-vehicle-restriction-alert>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.tc-vehicle-restriction-alert strong{font-size:.9rem}.tc-vehicle-restriction-alert span{font-size:.84rem;line-height:1.4}.tc-vehicle-restriction-alert small{font-size:.75rem;color:#587181;line-height:1.35}.tc-vehicle-restriction-alert.is-partial{background:#fffaf1;border-color:#efd7aa;color:#7a4a00}.tc-vehicle-restriction-alert.is-partial .tc-vehicle-restriction-alert-icon{background:#fff0d2}
@media(max-width:640px){.tc-vehicle-restriction-status{grid-template-columns:auto 1fr}.tc-vehicle-restriction-status>span{grid-column:2;justify-self:start}.tc-vehicle-restriction-alert{grid-template-columns:1fr}.tc-vehicle-restriction-alert-icon{display:none}}


/* v0.7.79 Route POI engine: category-aware attraction markers */
.tc-route-poi-options{margin-top:16px;padding-top:15px;border-top:1px solid #e6ebef}.tc-route-poi-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}.tc-route-poi-heading>div{display:flex;flex-direction:column;gap:3px}.tc-route-poi-heading strong{font-size:14px;color:#17283d}.tc-route-poi-heading small{font-size:11px;line-height:1.4;color:#718092}.tc-route-poi-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tc-poi-radius{display:grid!important;grid-template-columns:auto 64px auto;align-items:center;gap:6px;margin:0!important;color:#546273;font-size:12px;font-weight:700}.tc-poi-radius input{width:64px!important;height:38px!important;padding:5px 7px!important;text-align:center}.tc-poi-radius em{font-style:normal;font-size:12px;color:#6b7785}.tc-route-poi-state{margin-top:9px;padding:8px 10px;border-radius:9px;background:#f5f8fb;color:#526477;font-size:12px;font-weight:700}.tc-route-poi-state.is-loading{background:#eef6ff;color:#215b8e}.tc-route-poi-state.is-error{background:#fff1f0;color:#a53a33}.tc-map-poi-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:6px}.tc-map-poi-legend span{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:750;color:#5b6876}.tc-map-poi-legend b{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;color:#fff;font-size:10px;line-height:1}.tc-map-poi-legend b.is-attraction{background:#a05bc6;font-size:12px}.tc-map-poi-legend b.is-viewpoint{background:#2f80b9}.tc-map-poi-legend b.is-rest{background:#3d8b62}.tc-map-marker-poi{pointer-events:all}.tc-map-marker-poi circle{stroke:#fff!important;stroke-width:3!important;filter:drop-shadow(0 2px 3px rgba(15,35,50,.28))}.tc-map-marker-poi text{fill:#fff!important;font-size:10px!important;font-weight:900!important}.tc-map-marker-poi-attractions circle{fill:#a05bc6!important}.tc-map-marker-poi-viewpoints circle{fill:#2f80b9!important}.tc-map-marker-poi-rest_areas circle{fill:#3d8b62!important}.tc-route-poi-popup{position:absolute;z-index:9;right:58px;top:14px;width:min(340px,calc(100% - 84px));padding:14px;border:1px solid #dfe5eb;border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 12px 32px rgba(20,42,61,.2);cursor:default}.tc-route-poi-popup-close{position:absolute;right:8px;top:8px;width:28px;height:28px;border:0;border-radius:8px;background:#f2f5f7;color:#5f6c79;font-size:18px;line-height:1;cursor:pointer}.tc-route-poi-popup-head{display:flex;align-items:center;gap:10px;padding-right:28px}.tc-route-poi-popup-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.tc-route-poi-popup-head strong{color:#142439;font-size:14px;line-height:1.25}.tc-route-poi-popup-head em{font-style:normal;color:#708092;font-size:11px}.tc-route-poi-kind{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;color:#fff;font-weight:900}.tc-route-poi-kind.is-attractions{background:#a05bc6;font-size:17px}.tc-route-poi-kind.is-viewpoints{background:#2f80b9}.tc-route-poi-kind.is-rest_areas{background:#3d8b62}.tc-route-poi-address{display:block;margin-top:10px;color:#5f6f7d;line-height:1.35}.tc-route-poi-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.tc-route-poi-metrics span{padding:8px 9px;border-radius:9px;background:#f7f9fb}.tc-route-poi-metrics small{display:block;margin-bottom:2px;color:#798693;font-size:10px}.tc-route-poi-metrics strong{font-size:12px;color:#1a2d40}.tc-route-poi-add{width:100%;margin-top:11px;padding:10px 12px!important;font-size:12px!important}
@media(max-width:760px){.tc-route-poi-heading{align-items:flex-start;flex-direction:column}.tc-route-poi-checks{grid-template-columns:1fr}.tc-poi-radius{grid-template-columns:auto 64px auto}.tc-route-poi-popup{right:10px;left:10px;top:10px;width:auto}.tc-route-poi-metrics{grid-template-columns:1fr 1fr}}

/* Viewpoints use a dedicated panorama/mountain glyph instead of a generic dot. */
.tc-poi-viewpoint-glyph{position:relative;display:inline-block;width:18px;height:14px;overflow:hidden}.tc-poi-viewpoint-glyph:before,.tc-poi-viewpoint-glyph:after{content:"";position:absolute;bottom:1px;width:10px;height:10px;border-left:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);transform-origin:center}.tc-poi-viewpoint-glyph:before{left:1px}.tc-poi-viewpoint-glyph:after{left:8px;width:8px;height:8px}.tc-poi-viewpoint-glyph>i{position:absolute;right:1px;top:0;width:3px;height:3px;border-radius:50%;background:currentColor}.tc-route-poi-kind.is-viewpoints .tc-poi-viewpoint-glyph,.tc-map-poi-legend b.is-viewpoint .tc-poi-viewpoint-glyph{color:#fff}.tc-map-poi-legend b.is-viewpoint .tc-poi-viewpoint-glyph{width:14px;height:11px;transform:scale(.82)}

/* v0.7.80 — user-selected scenic segment */
.tc-scenic-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;padding:12px 14px;border-top:1px solid #e7ebef;background:#fbfcfe}.tc-scenic-toolbar-copy{display:flex;flex-direction:column;gap:2px}.tc-scenic-toolbar-copy strong{color:#17283d;font-size:.82rem;font-weight:900}.tc-scenic-toolbar-copy small{color:#657587;font-size:.7rem;line-height:1.4}.tc-scenic-toolbar-copy em{color:#8a6a3d;font-size:.63rem;font-style:normal;line-height:1.35}.tc-scenic-toolbar-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.tc-scenic-toolbar-actions button{white-space:nowrap}.tc-scenic-status{grid-column:1/-1;padding:8px 10px;border-radius:9px;background:#eef5ff;color:#245384;font-size:.72rem;font-weight:800}.tc-scenic-status.is-loading{background:#f3f5f8;color:#526579}.tc-scenic-status.is-ready{background:#eaf8f2;color:#0b6d4e}.tc-scenic-status.is-error{background:#fff0e8;color:#9b4c1e}.tc-scenic-status.is-warning{background:#fff6e8;color:#8a5a1f}.tc-route-map.is-scenic-selecting{cursor:crosshair}.tc-map-line-scenic{stroke:#7c3aed;stroke-width:5;stroke-dasharray:14 6}.tc-map-legend i.scenic{background:#7c3aed}.tc-map-marker-scenic-start circle{fill:#7c3aed!important;stroke:#fff!important;stroke-width:4!important;filter:drop-shadow(0 3px 8px rgba(30,41,59,.24))}.tc-map-marker-scenic-end circle{fill:#0f8a78!important;stroke:#fff!important;stroke-width:4!important;filter:drop-shadow(0 3px 8px rgba(30,41,59,.24))}.tc-map-marker-scenic-start text,.tc-map-marker-scenic-end text{fill:#fff!important;font-size:11px!important;font-weight:900!important}.tc-scenic-result{margin-top:12px;min-height:auto}.tc-scenic-result.tc-result-card-active{border-color:rgba(124,58,237,.48);background:linear-gradient(180deg,#fff 0%,#faf7ff 100%)}.tc-scenic-result.tc-result-card-active:before{background:#7c3aed}.tc-scenic-result.tc-result-card-active .tc-view-route{color:#7c3aed!important}
@media(max-width:760px){.tc-scenic-toolbar{grid-template-columns:1fr}.tc-scenic-toolbar-actions{justify-content:flex-start}.tc-scenic-toolbar-actions button{flex:1 1 auto}.tc-map-line-scenic{stroke-width:3.2}}
/* v0.7.84 motorcycle vignette exemption rows */
.tc-vignette-row.is-exempt{grid-template-columns:minmax(150px,.8fr) 1fr auto;background:#f4fbf7}
.tc-vignette-exempt{color:#176548;font-size:.72rem;line-height:1.45;font-weight:800}
@media(max-width:980px){.tc-vignette-row.is-exempt{grid-template-columns:minmax(140px,.7fr) 1fr}.tc-vignette-row.is-exempt .tc-vignette-official-link{grid-column:2}}
@media(max-width:760px){.tc-vignette-row.is-exempt{grid-template-columns:1fr}.tc-vignette-row.is-exempt .tc-vignette-official-link{grid-column:1;justify-self:stretch}}


/* v0.7.87 ordered vignette-country route events + re-entry notice */
.tc-toll-country-route{
  margin:0 16px 12px;
  padding:12px 14px;
  border:1px solid #dce6ec;
  border-radius:12px;
  background:#f8fbfd;
}
.tc-toll-country-route-title{
  margin-bottom:8px;
  font-size:12px;
  font-weight:800;
  color:#173b50;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.tc-toll-country-route-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  align-items:stretch;
  gap:7px;
  overflow:visible;
  padding-bottom:2px;
}
.tc-toll-country-event{
  min-width:0;
  width:100%;
  display:grid;
  grid-template-columns:34px 1fr;
  gap:2px 8px;
  align-items:center;
  padding:8px 10px;
  border:1px solid #d8e2e8;
  border-radius:10px;
  background:#fff;
}
.tc-toll-country-event>b{
  grid-row:1 / span 2;
  display:grid;
  place-items:center;
  width:32px;
  height:26px;
  border-radius:7px;
  background:#173f67;
  color:#fff;
  font-size:11px;
}
.tc-toll-country-event span{display:flex;flex-direction:column;line-height:1.15}
.tc-toll-country-event span strong{font-size:12px;color:#1c2833}
.tc-toll-country-event span small{margin-top:3px;font-size:10px;color:#72808b}
.tc-toll-country-event em{
  grid-column:2;
  font-style:normal;
  font-size:10px;
  font-weight:700;
  color:#a55a12;
}
.tc-toll-country-event.is-exempt em{color:#17744f}
.tc-toll-country-event.is-unavailable em{color:#8a5c24}
.tc-toll-country-arrow{align-self:center;color:#9aa8b2;font-weight:900}
.tc-vignette-reentry-warning{
  display:block;
  margin-top:5px;
  max-width:520px;
  color:#9a5a16;
  font-size:10px;
  line-height:1.35;
  font-weight:600;
}
@media (max-width: 720px){
  .tc-toll-country-route{margin:0 10px 10px;padding:10px}
  .tc-toll-country-route-list{grid-template-columns:1fr}
  .tc-toll-country-event{min-width:0;width:100%}
}

/* v0.7.88 partial known-cost display for incomplete vignette pricing */


/* v0.7.89 clearer partial-cost notice + mobile-first vignette country route */
.tc-route-unavailable.is-partial-cost{
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:start;
  margin-top:10px;
  padding:9px 10px;
  border:1px solid #f0d7a8;
  border-radius:10px;
  background:#fff9ef;
  color:#6f4a16;
}
.tc-partial-cost-icon{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#fff0cf;
  color:#a8660a;
  font-size:.72rem;
  font-weight:900;
  font-family:Georgia,serif;
}
.tc-partial-cost-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.tc-partial-cost-copy strong{color:#6d4310;font-size:.72rem;line-height:1.25}
.tc-partial-cost-copy>span{color:#805b27;font-size:.66rem;line-height:1.35;font-weight:650}
.tc-partial-cost-copy small{color:#9a7748;font-size:.61rem;line-height:1.3}

.tc-toll-country-route{
  margin:0 16px 14px;
  padding:13px 14px 14px;
  border:1px solid #dce6ec;
  border-radius:14px;
  background:linear-gradient(180deg,#fbfdfe 0%,#f5f9fb 100%);
}
.tc-toll-country-route-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.tc-toll-country-route-title{margin:0;font-size:11px;line-height:1.25}
.tc-toll-country-route-head small{color:#758491;font-size:10px;line-height:1.3;text-align:right}
.tc-toll-country-route-list{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:8px;
  overflow:visible;
  padding:0;
}
.tc-toll-country-event{
  min-width:0;
  width:auto;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:2px 9px;
  padding:9px 10px;
  border:1px solid #d8e2e8;
  border-radius:11px;
  background:#fff;
  box-shadow:0 2px 7px rgba(22,53,74,.035);
}
.tc-toll-country-event>b{width:34px;height:28px;border-radius:8px}
.tc-toll-country-event em{
  grid-column:2;
  display:inline-flex;
  width:fit-content;
  max-width:100%;
  padding:3px 6px;
  border-radius:999px;
  background:#fff4e7;
  color:#9a5812;
  font-size:9px;
  line-height:1.25;
}
.tc-toll-country-event.is-exempt em{background:#eaf8f1;color:#176b4b}
.tc-toll-country-event.is-unavailable em{background:#fff6e8;color:#8a5c24}
.tc-toll-country-arrow{display:none}

@media(max-width:760px){
  .tc-route-unavailable.is-partial-cost{grid-template-columns:26px minmax(0,1fr);padding:9px;margin-top:9px}
  .tc-partial-cost-copy strong{font-size:.7rem}
  .tc-partial-cost-copy>span{font-size:.64rem}
  .tc-toll-country-route{margin:0 9px 10px;padding:11px;border-radius:12px}
  .tc-toll-country-route-head{align-items:flex-start;flex-direction:column;gap:2px;margin-bottom:8px}
  .tc-toll-country-route-head small{text-align:left;font-size:9px}
  .tc-toll-country-route-list{grid-template-columns:1fr;gap:7px}
  .tc-toll-country-event{grid-template-columns:34px minmax(0,1fr);padding:9px}
  .tc-toll-country-event>b{width:32px;height:27px}
  .tc-toll-country-event span strong{font-size:12px}
  .tc-toll-country-event span small{font-size:9px}
  .tc-toll-country-event em{font-size:9px;white-space:normal}
}

/* v0.7.90 hard responsive guard: no horizontal vignette-country scroller. */
.tc-toll-country-route-list{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(175px,1fr)) !important;
  width:100%;
  min-width:0;
  overflow-x:visible !important;
  overflow-y:visible !important;
}
.tc-toll-country-event{
  flex:none !important;
  width:100% !important;
  min-width:0 !important;
  max-width:100%;
}
@media(max-width:760px){
  .tc-toll-country-route-list{grid-template-columns:1fr !important}
}


/* v0.7.97 vehicle save confirmation toast */
.tc-profile-save-toast{position:fixed;top:92px;right:24px;z-index:100000;display:grid;grid-template-columns:46px minmax(0,1fr) 34px;gap:12px;align-items:center;width:min(430px,calc(100vw - 32px));padding:15px 14px 15px 15px;border:1px solid #a7dfbd;border-radius:16px;background:#f0fbf4;color:#153b26;box-shadow:0 18px 48px rgba(20,56,37,.24);opacity:0;visibility:hidden;transform:translate3d(18px,-8px,0) scale(.98);pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.tc-profile-save-toast.is-visible{opacity:1;visibility:visible;transform:translate3d(0,0,0) scale(1);pointer-events:auto}
.tc-profile-save-toast-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:#18864b;color:#fff;font-size:25px;font-weight:900;box-shadow:0 7px 18px rgba(24,134,75,.22)}
.tc-profile-save-toast-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.tc-profile-save-toast-copy strong{font-size:15px;line-height:1.25;color:#145b34;font-weight:900}
.tc-profile-save-toast-copy span{font-size:13px;line-height:1.4;color:#456253;overflow-wrap:anywhere}
.tc-profile-save-toast-close{width:32px;height:32px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#557166;font-size:23px;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}
.tc-profile-save-toast-close:hover,.tc-profile-save-toast-close:focus-visible{background:#dff4e7;color:#194f32;outline:none}
@media(max-width:640px){.tc-profile-save-toast{top:14px;left:12px;right:12px;width:auto;grid-template-columns:42px minmax(0,1fr) 32px;padding:13px 11px 13px 13px;border-radius:14px}.tc-profile-save-toast-icon{width:42px;height:42px;font-size:23px}.tc-profile-save-toast-copy strong{font-size:14px}.tc-profile-save-toast-copy span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.tc-profile-save-toast{transition:none}}

/* v0.7.98 refuelling planner: explicit route-arrival marker */
.tc-refuel-row.is-arrival{margin-top:4px;padding-top:12px;border-top:2px solid #cfe9dd;border-bottom:0;background:#f7fffb;border-radius:10px;padding-left:10px;padding-right:10px}.tc-refuel-row.is-arrival>strong{color:var(--tc-green)}
