:root{--bg:#071321;--panel:#102238;--panel2:#172f4b;--line:#31506d;--text:#f5f8fc;--muted:#aebdd0;--blue:#56afe8;--green:#74d6a3;--red:#ef8b8b;--shadow:0 18px 45px rgba(0,0,0,.18)}
[hidden]{display:none!important}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}.page{max-width:1500px;margin:auto;padding:32px}.hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{color:var(--blue);font-weight:800;letter-spacing:.16em}.hero h1{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:.25em 0}.grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(330px,.8fr);gap:24px}.stack{display:grid;gap:24px}.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow)}h2{margin:0 0 22px;font-size:1.35rem}.fields{display:grid;gap:16px;margin-bottom:16px}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.saved-choice{margin-bottom:16px}label{display:grid;gap:7px;color:var(--muted);font-weight:700}input,select{width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;background:#091a2c;color:var(--text);padding:13px 14px;font:inherit}button{border:0;border-radius:12px;background:var(--blue);color:#041421;padding:13px 18px;font:inherit;font-weight:800;cursor:pointer}button:disabled{opacity:.38;cursor:not-allowed;filter:saturate(.4)}.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.danger{background:#f4d6d6;color:#7b2525}.actions{display:flex;gap:12px;margin-top:16px}.split{justify-content:space-between}.vertical{flex-direction:column}.hint{color:var(--muted);font-size:.9rem}.stops{display:grid;gap:10px}.stop,.receipt{display:grid;grid-template-columns:36px 1fr 44px;gap:10px;align-items:center}.stop span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--panel2);color:var(--blue);font-weight:900}.remove{padding:8px;background:transparent;color:var(--muted);font-size:1.5rem}.receipt{grid-template-columns:150px minmax(0,1fr) 130px 140px 44px;margin-bottom:10px}.route-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:18px 0}.route-table th:nth-child(1){width:55%}.route-table th:nth-child(2){width:15%}.route-table th:nth-child(3){width:30%}.route-table th,.route-table td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:middle;overflow-wrap:anywhere}.route-table th{background:var(--panel2)}.route-table .km{text-align:right;white-space:nowrap}.route-table .employee{font-size:.9rem}.print-only{display:none!important}.summary-column{position:sticky;top:20px;height:max-content;display:grid;gap:16px}.calculate-route{width:100%;font-size:1.08rem}.summary-card{position:static;height:max-content}.summary{margin:0}.summary div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-bottom:1px solid var(--line)}.summary dt{color:var(--muted)}.summary dd{margin:0;font-weight:900}.summary .accent dd{color:var(--green);font-size:1.15rem}.message{margin-bottom:20px;padding:14px 18px;border-radius:12px;background:var(--panel2)}.message.error{border-left:5px solid var(--red)}.message.success{border-left:5px solid var(--green)}.matches{display:grid;gap:8px;margin-top:14px}.vehicle-option{display:flex;justify-content:space-between;text-align:left;background:var(--panel2);color:var(--text);border:1px solid var(--line)}.vehicle-option span{color:var(--muted)}.vehicle-option.selected{border-color:var(--green)}body.light{--bg:#edf3f8;--panel:#fff;--panel2:#e8f1f8;--line:#c6d7e6;--text:#102238;--muted:#52677c;--shadow:0 18px 45px rgba(30,70,105,.1)}
@media(max-width:950px){.page{padding:18px}.grid{grid-template-columns:1fr}.summary-column{position:static}.cols-3,.cols-4{grid-template-columns:1fr}.receipt{grid-template-columns:1fr 1fr}.receipt .remove{grid-column:2}.route-table{font-size:.85rem}.route-table th,.route-table td{padding:7px}.hero{align-items:stretch}.hero button{white-space:nowrap}}
@page{size:A4 portrait;margin:16mm 12mm 20mm}
@media print{
  html,body{background:#fff!important;color:#000!important;width:auto;height:auto;overflow:visible!important}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-size:11pt}
  .page{max-width:none;width:auto;margin:0;padding:0;overflow:visible!important}
  .hero{margin:0 0 8mm;break-after:avoid-page}
  .hero h1{font-size:24pt;margin:0}
  .eyebrow,.hero button,.message,.stack .actions,.remove,.hint,.matches,.saved-choice,#clearButton,#printButton,#savePdfButton,.calculate-route,#addReceipt,.signature-button,.signature-modal{display:none!important}
  .grid,.stack,.summary-column{display:block!important}
  .card{display:block;width:calc(100% - 4mm);max-width:calc(100% - 4mm);box-shadow:none;border:1px solid #aaa;border-radius:10px;margin:0 auto 7mm;padding:6mm;background:#fff!important;color:#000!important;overflow:visible!important;break-inside:auto;page-break-inside:auto}
  .card h2{font-size:16pt;margin:0 0 5mm;break-after:avoid-page;page-break-after:avoid}
  .summary-card{position:static!important;break-inside:avoid-page;page-break-inside:avoid}
  .fields,.stop,.receipt,.route-legs div,.summary div,label{break-inside:avoid-page;page-break-inside:avoid}
  .cols-3{grid-template-columns:repeat(3,1fr)}
  .cols-4{grid-template-columns:repeat(4,1fr)}
  .receipt{width:100%;grid-template-columns:27mm minmax(0,1fr) 24mm 27mm;gap:3mm}
  .receipt>*{min-width:0;max-width:100%}
  .receipt .remove{display:none!important}
  .stops,.route-legs{gap:2mm}
  .stop{grid-template-columns:10mm 1fr}
  input,select{border:0!important;background:#fff!important;color:#000!important;padding:1mm!important;min-height:0}
  .route-table{font-size:9pt;break-inside:auto;page-break-inside:auto}
  .route-table th:nth-child(1){width:38%}.route-table th:nth-child(2){width:15%}.route-table th:nth-child(3){width:25%}.route-table th:nth-child(4){width:22%}
  .route-table .print-only{display:table-cell!important}
  .route-table tr{break-inside:avoid-page;page-break-inside:avoid}
  .route-table th,.route-table td{border-color:#aaa;padding:2.5mm}
  .signature-cell span{display:block;margin-bottom:4mm}
  .final-signature{display:grid!important;gap:5mm;margin-top:8mm;padding-top:5mm;border-top:1px solid #777;break-inside:avoid-page;page-break-inside:avoid}
  .summary dt{color:#333}
  .summary .accent dd{color:#000}
}

/* Page heading and polished native select controls. */
.hero .page-title{
  margin:.3em 0 0;
  font-size:clamp(1.5rem,3vw,2.5rem);
  line-height:1.1;
}
select{
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  padding-right:46px;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--blue) 50%),
    linear-gradient(135deg,var(--blue) 50%,transparent 50%),
    linear-gradient(to right,var(--line),var(--line));
  background-position:
    calc(100% - 21px) 52%,
    calc(100% - 14px) 52%,
    calc(100% - 42px) 50%;
  background-size:7px 7px,7px 7px,1px 58%;
  background-repeat:no-repeat;
  transition:border-color .2s,box-shadow .2s,background-color .2s;
}
select:hover{border-color:color-mix(in srgb,var(--blue) 65%,var(--line))}
select:focus{
  outline:none;
  border-color:var(--blue);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 22%,transparent);
}
select:disabled{cursor:not-allowed;opacity:.55}
.saved-choice select{font-weight:800;background-color:var(--panel2)}
.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
textarea{width:100%;min-width:0;resize:vertical;border:1px solid var(--line);border-radius:12px;background:#091a2c;color:var(--text);padding:13px 14px;font:inherit}
body.light textarea{background:#fff}
.saved-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:end;margin-bottom:16px}
.saved-row .saved-choice{margin-bottom:0}
.trip-archive{grid-template-columns:minmax(0,1fr) auto auto;margin-top:16px}
.compact{min-height:50px;padding:10px 16px}
.receipt-value{min-width:0}
.receipt-value input{width:100%}
.stop{grid-template-columns:36px minmax(220px,1fr) 145px 150px 150px 44px}
.stop>label{gap:4px;font-size:.78rem}
.stop>span{grid-column:1}
.stop>.city-wrap{grid-column:2}
.stop>.km-wrap{grid-column:3}
.stop>.arrival-wrap{grid-column:4}
.stop>.departure-wrap{grid-column:5}
.stop>.remove{grid-column:6}
.stop.first-stop .arrival-wrap,.stop.first-stop .km-wrap,.stop.last-stop .departure-wrap{display:none}
.stop.first-stop,.stop.last-stop{grid-template-columns:36px minmax(220px,1fr) 145px 150px 150px 44px}
.extra-km-fields{margin-top:16px}
.source-note{margin:8px 0 0}
.source-note a{color:var(--blue);font-weight:800;text-decoration:none;text-underline-offset:3px}
.source-note a:hover{text-decoration:underline}
.source-note a:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:3px}
body.light input,body.light select{background-color:#fff}

@media print{
  .hero .page-title{font-size:20pt;margin:0}
  select{background-image:none!important;padding-right:1mm!important}
  .saved-row{display:none!important}
  input[type="number"]{-moz-appearance:textfield!important;appearance:textfield!important}
  input[type="number"]::-webkit-inner-spin-button,
  input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none!important;appearance:none!important;margin:0!important;display:none!important}
  input[type="date"]::-webkit-calendar-picker-indicator,
  select::-ms-expand{display:none!important}
  .route-table th{background:#f0f0f0!important;color:#000!important;font-weight:800!important}
  .route-table td{background:#fff!important;color:#000!important}
  .route-table th,.route-table td{border-color:#777!important}
  .receipt-value{display:flex!important;align-items:center;gap:1mm;white-space:nowrap}
  .receipt-value .print-only{display:inline!important;font-weight:700;color:#000}
  .receipt-value input{flex:1 1 auto;width:auto!important;min-width:0!important}
  .cols-2{grid-template-columns:repeat(2,1fr)}
  .stop{grid-template-columns:8mm minmax(0,1fr) 26mm 32mm 32mm!important;gap:2mm}
  .stop.first-stop,.stop.last-stop{grid-template-columns:8mm minmax(0,1fr) 26mm 32mm 32mm!important}
  .stop>label{font-size:8pt}
  textarea{border:0!important;background:#fff!important;color:#000!important;padding:1mm!important;resize:none}
}
@media(max-width:950px){.cols-2{grid-template-columns:1fr}.stop{grid-template-columns:36px minmax(0,1fr) 44px}.stop>label{grid-column:2}.stop>.remove{grid-column:3;grid-row:1}}
@media(max-width:600px){.saved-row,.trip-archive{grid-template-columns:1fr}.compact{width:100%}}

.pdf-document{
  position:static;width:180mm;max-width:none;margin:0 auto;padding:0;
  background:#fff!important;color:#000!important;font-size:11pt;line-height:1.4;
}
body.pdf-exporting{background:#fff!important;overflow:visible!important}
body.pdf-exporting>main.page:not(.pdf-document){display:none!important}
.pdf-document .eyebrow,.pdf-document .hero button,.pdf-document .message,
.pdf-document .actions,.pdf-document .remove,.pdf-document .hint,.pdf-document .matches,
.pdf-document .saved-row,.pdf-document #addReceipt,.pdf-document .calculate-route{display:none!important}
.pdf-document .hero{margin:0 0 7mm;display:block}
.pdf-document .hero .page-title{font-size:20pt;margin:0;color:#000}
.pdf-document .grid,.pdf-document .stack,.pdf-document .summary-column{display:block!important}
.pdf-document .card{
  display:block;width:100%;max-width:100%;box-shadow:none;border:1px solid #aaa;border-radius:10px;
  margin:0 0 6mm;padding:6mm;background:#fff!important;color:#000!important;break-inside:auto;
}
.pdf-document .card h2{font-size:16pt;margin:0 0 5mm;color:#000}
.pdf-document .fields{gap:4mm}.pdf-document .cols-3{grid-template-columns:repeat(3,1fr)}
.pdf-document .cols-4{grid-template-columns:repeat(4,1fr)}
.pdf-document label{color:#333!important;gap:1mm;break-inside:avoid-page}
.pdf-document .pdf-field-value{display:block;color:#000;font-weight:700;min-height:6mm;padding:1mm}
.pdf-document .stop{grid-template-columns:10mm 1fr}.pdf-document .stop span:first-child{background:#eee;color:#000}
.pdf-document .stop .pdf-field-value{display:block;width:auto;height:auto;border-radius:0;background:transparent!important;color:#000!important;padding:1mm;place-items:initial}
.pdf-document .receipt{grid-template-columns:31mm minmax(0,1fr) 25mm 27mm;gap:3mm}
.pdf-document .receipt-value{display:flex;align-items:center;gap:1mm;white-space:nowrap}
.pdf-document .receipt-value .print-only{display:inline!important;color:#000;font-weight:700}
.pdf-document .route-table{font-size:9pt}.pdf-document .route-table th{background:#f0f0f0!important;color:#000!important}
.pdf-document .route-table td{background:#fff!important;color:#000!important}.pdf-document .route-table th,.pdf-document .route-table td{border-color:#777}
.pdf-document .route-table .print-only{display:table-cell!important}
.pdf-document .pdf-route-details-card{break-inside:auto;page-break-inside:auto}
.pdf-document .pdf-route-table{width:100%;margin:0 0 5mm;border-collapse:collapse;table-layout:fixed;font-size:9pt}
.pdf-document .pdf-route-table thead{display:table-header-group}
.pdf-document .pdf-route-table tr{break-inside:avoid-page;page-break-inside:avoid}
.pdf-document .pdf-route-table th,.pdf-document .pdf-route-table td{padding:3mm 2.5mm;border:1px solid #777;color:#000;overflow-wrap:anywhere;vertical-align:top!important;text-align:left!important;line-height:1.25}
.pdf-document .pdf-route-table th{position:relative;height:16mm;padding:0!important;background:#f0f0f0!important;font-weight:800}
.pdf-document .pdf-route-table .pdf-route-heading{position:absolute!important;top:3mm!important;left:2.5mm!important;right:1mm!important;display:block!important;margin:0!important;padding:0!important;line-height:1.2!important;text-align:left!important;white-space:nowrap!important;font-size:8.5pt!important}
.pdf-document .pdf-route-table td{background:#fff!important}
.pdf-document .pdf-route-table td:nth-child(2){text-align:right!important;white-space:nowrap}
.pdf-document .pdf-data-grid{display:grid;width:100%;margin-top:3mm;border-top:1px solid #777;border-left:1px solid #777;font-size:9.5pt}
.pdf-document .pdf-data-row{display:grid;grid-template-columns:repeat(var(--pdf-columns,4),minmax(0,1fr));break-inside:avoid-page}
.pdf-document .pdf-data-row>*{min-width:0;padding:3mm 2.5mm;border-right:1px solid #777;border-bottom:1px solid #777;color:#000;overflow-wrap:anywhere}
.pdf-document .pdf-data-head{background:#f0f0f0}
.pdf-document .pdf-data-values{background:#fff;font-weight:700}
.pdf-document .pdf-stops-grid .pdf-data-row{grid-template-columns:10mm minmax(0,1fr) 28mm 31mm 31mm}
.pdf-document .pdf-summary-grid{display:grid;width:100%;border-top:1px solid #777;border-left:1px solid #777}
.pdf-document .pdf-summary-row{display:grid;grid-template-columns:1fr 1fr;break-inside:avoid-page}
.pdf-document .pdf-summary-row>*{padding:3mm;border-right:1px solid #777;border-bottom:1px solid #777;color:#000}
.pdf-document .pdf-summary-row strong{text-align:right}
.pdf-document .final-signature{display:grid!important;gap:5mm;margin-top:8mm;padding-top:5mm;border-top:1px solid #777}
.pdf-document .summary dt{color:#333}.pdf-document .summary .accent dd{color:#000}

/* Mobile layout. Scoped away from the temporary PDF document. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body:not(.pdf-exporting) .page{width:100%;padding:12px}
  body:not(.pdf-exporting) .hero{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:18px}
  body:not(.pdf-exporting) .hero>div{min-width:0}
  body:not(.pdf-exporting) .hero .eyebrow{display:block;font-size:.72rem;letter-spacing:.1em;overflow-wrap:anywhere}
  body:not(.pdf-exporting) .hero .page-title{font-size:1.65rem;line-height:1.15;margin-top:7px}
  body:not(.pdf-exporting) #themeButton{width:100%;min-height:46px}
  body:not(.pdf-exporting) .grid{display:block}
  body:not(.pdf-exporting) .stack{gap:14px}
  body:not(.pdf-exporting) .card{width:100%;padding:17px 14px;border-radius:16px;margin-bottom:14px}
  body:not(.pdf-exporting) .card h2{font-size:1.2rem;line-height:1.25;margin-bottom:17px}
  body:not(.pdf-exporting) .fields,
  body:not(.pdf-exporting) .cols-2,
  body:not(.pdf-exporting) .cols-3,
  body:not(.pdf-exporting) .cols-4{grid-template-columns:minmax(0,1fr);gap:13px}
  body:not(.pdf-exporting) label{min-width:0;font-size:.92rem}
  body:not(.pdf-exporting) input,
  body:not(.pdf-exporting) select,
  body:not(.pdf-exporting) textarea{min-height:48px;padding:12px;font-size:16px;border-radius:10px}
  body:not(.pdf-exporting) textarea{min-height:92px}
  body:not(.pdf-exporting) select{padding-right:44px;background-position:calc(100% - 20px) 52%,calc(100% - 13px) 52%,calc(100% - 40px) 50%}
  body:not(.pdf-exporting) button{min-height:46px;padding:11px 13px}
  body:not(.pdf-exporting) .actions{flex-direction:column;gap:9px;margin-top:13px}
  body:not(.pdf-exporting) .actions button{width:100%}
  body:not(.pdf-exporting) .saved-row,
  body:not(.pdf-exporting) .trip-archive{grid-template-columns:minmax(0,1fr);gap:9px;margin-bottom:14px}
  body:not(.pdf-exporting) .saved-row .saved-choice{width:100%;margin:0}
  body:not(.pdf-exporting) .compact{width:100%;min-height:46px}
  body:not(.pdf-exporting) .hint{font-size:.82rem;line-height:1.4}
  body:not(.pdf-exporting) .message{padding:12px 14px;font-size:.9rem;overflow-wrap:anywhere}

  body:not(.pdf-exporting) .stops{gap:12px}
  body:not(.pdf-exporting) .stop,
  body:not(.pdf-exporting) .stop.first-stop,
  body:not(.pdf-exporting) .stop.last-stop{
    grid-template-columns:34px minmax(0,1fr) 40px;
    gap:9px;padding:12px 9px;align-items:start;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel2) 35%,transparent)
  }
  body:not(.pdf-exporting) .stop>span{grid-column:1;grid-row:1;margin-top:7px}
  body:not(.pdf-exporting) .stop>.city-wrap{grid-column:2;grid-row:1}
  body:not(.pdf-exporting) .stop>.remove{display:block!important;grid-column:3;grid-row:1;width:40px;min-height:48px;padding:4px}
  body:not(.pdf-exporting) .stop>.km-wrap,
  body:not(.pdf-exporting) .stop>.arrival-wrap,
  body:not(.pdf-exporting) .stop>.departure-wrap{display:grid;grid-column:2/4!important;font-size:.8rem}
  body:not(.pdf-exporting) .stop>.km-wrap{grid-row:2}
  body:not(.pdf-exporting) .stop>.arrival-wrap{grid-row:3}
  body:not(.pdf-exporting) .stop>.departure-wrap{grid-row:4}
  body:not(.pdf-exporting) .stop.first-stop>.arrival-wrap,
  body:not(.pdf-exporting) .stop.first-stop>.km-wrap,
  body:not(.pdf-exporting) .stop.last-stop>.departure-wrap{display:none}
  body:not(.pdf-exporting) .stop.first-stop>.departure-wrap{grid-row:2}
  body:not(.pdf-exporting) .stop.last-stop>.km-wrap{grid-row:2}
  body:not(.pdf-exporting) .stop.last-stop>.arrival-wrap{grid-row:3}
  body:not(.pdf-exporting) #routeResult{display:block;width:100%;min-width:0;max-width:100%;overflow:visible}
  body:not(.pdf-exporting) .route-table,
  body:not(.pdf-exporting) .route-table tbody{display:block;width:100%;min-width:0;margin:14px 0;border:0}
  body:not(.pdf-exporting) .route-table thead{display:none}
  body:not(.pdf-exporting) .route-table tr{
    display:grid;width:100%;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;
    margin-bottom:10px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:color-mix(in srgb,var(--panel2) 35%,transparent)
  }
  body:not(.pdf-exporting) .route-table td{
    display:block;width:auto;min-width:0;padding:10px 11px;border:0;border-bottom:1px solid var(--line);
    text-align:left;white-space:normal;overflow-wrap:anywhere
  }
  body:not(.pdf-exporting) .route-table td::before{
    content:attr(data-label);display:block;margin-bottom:3px;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em
  }
  body:not(.pdf-exporting) .route-table td:nth-child(1){grid-column:1/3;font-weight:800}
  body:not(.pdf-exporting) .route-table td:nth-child(2){grid-column:1;text-align:left}
  body:not(.pdf-exporting) .route-table td:nth-child(3){grid-column:2;text-align:right}
  body:not(.pdf-exporting) .route-table td:nth-child(2),
  body:not(.pdf-exporting) .route-table td:nth-child(3){border-bottom:0}
  body:not(.pdf-exporting) .route-table .km{white-space:nowrap}

  body:not(.pdf-exporting) .receipt{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;
    gap:9px;padding:12px 9px;margin-bottom:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel2) 35%,transparent)
  }
  body:not(.pdf-exporting) .receipt>input[type="date"]{grid-column:1/3;grid-row:1}
  body:not(.pdf-exporting) .receipt>.station{grid-column:1/4;grid-row:2}
  body:not(.pdf-exporting) .receipt>.receipt-value:nth-child(3){grid-column:1;grid-row:3}
  body:not(.pdf-exporting) .receipt>.receipt-value:nth-child(4){grid-column:2/4;grid-row:3}
  body:not(.pdf-exporting) .receipt>.remove{display:block!important;grid-column:3;grid-row:1;width:40px;min-height:48px;padding:4px}
  body:not(.pdf-exporting) .vehicle-option{display:grid;grid-template-columns:1fr;gap:3px;width:100%}
  body:not(.pdf-exporting) .summary-column{position:static;display:grid;gap:14px;margin-top:14px}
  body:not(.pdf-exporting) .summary div{align-items:flex-start;gap:12px;padding:11px 0}
  body:not(.pdf-exporting) .summary dt{min-width:0}
  body:not(.pdf-exporting) .summary dd{flex:0 0 auto;max-width:48%;text-align:right;overflow-wrap:anywhere}
}

@media(max-width:390px){
  body:not(.pdf-exporting) .page{padding:8px}
  body:not(.pdf-exporting) .card{padding:15px 11px}
  body:not(.pdf-exporting) .hero .page-title{font-size:1.45rem}
  body:not(.pdf-exporting) .stop,
  body:not(.pdf-exporting) .stop.first-stop,
  body:not(.pdf-exporting) .stop.last-stop{grid-template-columns:32px minmax(0,1fr) 36px;padding:10px 7px;gap:7px}
  body:not(.pdf-exporting) .receipt{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;padding:10px 7px;gap:7px}
  body:not(.pdf-exporting) .receipt>.receipt-value:nth-child(4){grid-column:2/4}
}

/* ЕКАТТЕ: suggestions for route settlements. */
.city-wrap{position:relative;min-width:0}
.ekatte-list{position:absolute;top:100%;left:0;width:max(100%,320px);max-width:calc(100vw - 100px);max-height:260px;overflow-y:auto;z-index:50;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow);padding:5px}
.ekatte-option{padding:9px 11px;border-radius:7px;cursor:pointer;color:var(--text);font-weight:400;white-space:normal}
.ekatte-option:hover,.ekatte-option[aria-selected="true"]{background:var(--panel2);outline:1px solid var(--blue)}
.ekatte-option strong{display:block;font-size:.95rem}
.stop .ekatte-option span{display:block;width:auto;height:auto;border-radius:0;background:none;color:var(--muted);font-size:.8rem;font-weight:400;overflow-wrap:anywhere}
.ekatte-error{color:var(--red);font-size:.8rem;font-weight:400}
.city[aria-invalid="true"]{border-color:var(--red)}
.pdf-document .ekatte-list,.pdf-document .ekatte-error{display:none!important}
@media print{.ekatte-list,.ekatte-error{display:none!important}}
.vehicle-picker{position:relative;min-width:0}
.vehicle-card .vehicle-option{flex-direction:column;align-items:flex-start;gap:6px;white-space:normal;overflow-wrap:anywhere;text-align:left}
.vehicle-card .vehicle-option span{font-size:.85rem}

/* Stable Bulgarian date format and calendar, independent of browser locale. */
.bg-date-control,.stop .bg-date-control{position:relative;display:block;width:100%;height:auto;min-width:0;border-radius:0;background:none;color:inherit;font-weight:inherit}
.bg-date-control .bg-date-text{padding-right:42px;font-variant-numeric:tabular-nums}
.bg-date-button{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:34px;height:34px;padding:0;background:var(--panel2);color:var(--text);border:1px solid var(--line);font-size:23px;line-height:1}
.bg-date-text[aria-invalid="true"]{border-color:var(--red)}
.bg-calendar{position:fixed;z-index:1000;max-height:calc(100vh - 16px);overflow:auto;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--panel);color:var(--text);box-shadow:var(--shadow)}
.bg-calendar-header{display:grid;grid-template-columns:30px minmax(0,1fr) 78px 30px;gap:5px;align-items:center;margin-bottom:8px}
.bg-calendar-header select{min-width:0;padding:6px 3px;border-radius:6px;font-size:13px}
.bg-calendar-header button{padding:0;height:32px;font-size:23px}
.bg-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center}
.bg-calendar-grid span{font-size:12px;padding:4px 0;color:var(--muted)}
.bg-calendar-grid button{height:34px;padding:0;border-radius:6px;background:var(--panel2);color:var(--text);font-size:14px}
.bg-calendar-grid button[aria-pressed="true"]{background:var(--blue);color:#041421}
.bg-calendar-grid button[aria-current="date"]{box-shadow:inset 0 0 0 1px var(--blue)}
.bg-calendar button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.bg-calendar-footer{display:flex;justify-content:space-between;gap:6px;margin-top:10px}
.bg-calendar-footer button{padding:6px 8px;font-size:12px}

/* Only tables retain their grid lines in PDF and print. */
.pdf-document .card{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0;margin:0 0 5mm}
.pdf-document .card h2{margin:0 0 3mm;font-size:14pt}
.pdf-document .summary-card{break-inside:avoid;page-break-inside:avoid}
.pdf-document .bg-date-button{display:none!important}
@media print{
  .card{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
  .bg-date-button,.bg-calendar{display:none!important}
  .bg-date-control .bg-date-text{padding:0!important;border:0!important}
}
.pdf-document .pdf-route-details-card{break-inside:avoid;page-break-inside:avoid}
.pdf-document .pdf-data-row>*{padding:2mm 2.5mm}
.pdf-document .pdf-route-table th{height:11mm}
.pdf-document .pdf-route-table .pdf-route-heading{top:2mm!important}
.pdf-document .pdf-route-table td{padding:2mm 2.5mm}
.pdf-document .pdf-summary-row>*{padding:2mm 3mm}
.pdf-document .final-signature{margin-top:5mm;padding-top:3mm;gap:4mm}
@media(max-width:760px){
  body:not(.pdf-exporting) .receipt>.bg-date-control{grid-column:1/3;grid-row:1}
}
body:not(.pdf-exporting) .bg-calendar-header select{appearance:auto;-webkit-appearance:auto;background-image:none;min-height:36px;padding:4px 2px;font-size:13px;border-radius:6px}
body:not(.pdf-exporting) .bg-calendar-header button{min-height:32px;height:32px;padding:0;font-size:23px}
body:not(.pdf-exporting) .bg-calendar-grid button{min-height:36px;height:36px;padding:0;font-size:14px}
body:not(.pdf-exporting) .bg-calendar-footer button{min-height:34px;padding:6px 8px;font-size:12px}
body:not(.pdf-exporting) .bg-date-button{min-height:34px;padding:0}
body:not(.pdf-exporting) .bg-date-control .bg-date-text{padding-right:42px}
/* Saved trips are a separate, collapsible screen-only block. */
.card.trip-archive{display:block}
.trip-list{display:grid;gap:9px}
.trip-list-item{width:100%;text-align:left;white-space:normal;overflow-wrap:anywhere}
.trip-list-item[aria-pressed="true"]{border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.pdf-document .trip-archive{display:none!important}
@media print{.trip-archive,#tripArchiveControls{display:none!important}}
