.turnus-detail-travel { display: grid; gap: var(--tt-space-4); min-width: 0; }
.travel-route-proposal { grid-column: 1 / -1; display: grid; gap: var(--tt-space-2); padding-block: var(--tt-space-2); border-bottom: 1px solid var(--tt-border-soft); min-width: 0; }
.travel-route-proposal [data-route-results] { display: grid; gap: var(--tt-space-3); min-width: 0; }
.travel-route-proposal select { width: 100%; min-width: 0; min-height: 44px; }
.travel-route-proposal p { overflow-wrap: anywhere; }
.travel-report-sheet { display: grid; gap: var(--tt-space-3); min-width: 0; }
.travel-report-list > summary { min-height: 48px; display: flex; align-items: center; font-weight: 700; cursor: pointer; }
.travel-report-list > summary::before { content: "›"; margin-right: var(--tt-space-2); }
.travel-report-list[open] > summary::before { transform: rotate(90deg); }
.travel-report-rows details { border-bottom: 1px solid var(--tt-border-soft); padding-block: var(--tt-space-3); }
.travel-report-rows summary { min-height: 44px; cursor: pointer; overflow-wrap: anywhere; font-weight: 700; }
.travel-report-sheet input[type="date"], .travel-report-sheet input[type="number"] { max-width: 100%; min-width: 0; min-height: 44px; }
.travel-log-hero { display: grid; gap: var(--tt-space-1); padding: var(--tt-space-5); border-radius: var(--tt-radius-lg); color: var(--tt-text-on-action); background: var(--brand-primary); }
.travel-log-hero span,.travel-log-hero small { font-size: var(--tt-type-body); font-weight: 750; }
.travel-log-hero small + small { margin-top: var(--tt-space-1); padding-top: var(--tt-space-2); border-top: 1px solid color-mix(in srgb, var(--brand-graphite) 18%, transparent); }
.travel-log-hero strong { font-size: clamp(2rem, 9vw, 3.25rem); line-height: 1; letter-spacing: -.04em; }
.travel-log-breakdown,.commute-card,.travel-leg-list,.travel-compensation-summary,.travel-vehicle-summary,.travel-metrics-summary { border: 1px solid var(--tt-border-soft); border-radius: var(--tt-radius-lg); background: var(--tt-surface-elevated); overflow: hidden; }
.travel-log-breakdown > div { display: flex; justify-content: space-between; gap: var(--tt-space-3); padding: var(--tt-space-3) var(--tt-space-4); border-bottom: 1px solid var(--tt-border-soft); }
.travel-log-breakdown > div:last-child { border-bottom: 0; }
.travel-log-breakdown .total { color: var(--brand-primary); font-weight: 800; }
.travel-log-section-head { display: flex; align-items: center; justify-content: space-between; gap: var(--tt-space-3); }
.travel-log-section-head > div { display: grid; gap: 2px; }
.travel-log-section-head span { font-weight: 850; }
.travel-log-section-head small { color: var(--tt-text-muted); }
.travel-log-section-head .primary-button { width: auto; min-height: 44px; padding-inline: var(--tt-space-3); }
.travel-explainer,.travel-issue,.travel-metrics-details,.travel-settings-disclosure,.travel-days-disclosure,.travel-policy-help { min-width: 0; }
.travel-explainer > summary,.travel-issue > summary,.travel-metrics-details > summary,.travel-settings-disclosure > summary,.travel-days-disclosure > summary,.travel-policy-help > summary { display: flex; align-items: center; min-height: 44px; gap: var(--tt-space-2); cursor: pointer; list-style: none; color: var(--tt-text-secondary); font-weight: 760; }
.travel-explainer > summary::-webkit-details-marker,.travel-issue > summary::-webkit-details-marker,.travel-metrics-details > summary::-webkit-details-marker,.travel-settings-disclosure > summary::-webkit-details-marker,.travel-days-disclosure > summary::-webkit-details-marker,.travel-policy-help > summary::-webkit-details-marker { display: none; }
.travel-explainer > summary::after,.travel-metrics-details > summary::after,.travel-settings-disclosure > summary::after,.travel-days-disclosure > summary::after,.travel-policy-help > summary::after { margin-left: auto; content: "›"; transition: transform var(--tt-duration-fast) var(--tt-ease-standard); }
.travel-explainer[open] > summary::after,.travel-metrics-details[open] > summary::after,.travel-settings-disclosure[open] > summary::after,.travel-days-disclosure[open] > summary::after,.travel-policy-help[open] > summary::after { transform: rotate(90deg); }
.travel-explainer { padding-inline: var(--tt-space-3); border-block: 1px solid var(--tt-border-soft); }
.travel-explainer p,.travel-policy-help p,.travel-issue p { margin: 0 0 var(--tt-space-3); color: var(--tt-text-muted); font-size: var(--tt-type-micro); line-height: var(--tt-leading-body); overflow-wrap: anywhere; }
.travel-issue { padding: 0 var(--tt-space-3); border-left: 3px solid var(--tt-warning); border-radius: var(--tt-radius-sm); background: var(--tt-warning-soft); }
.travel-issue > summary { color: var(--tt-text-primary); font-size: var(--tt-type-micro); }
.travel-issue > summary span { margin-left: auto; color: var(--tt-warning); }
.travel-leg-row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--tt-space-3); padding: var(--tt-space-4); border-bottom: 1px solid var(--tt-border-soft); }
.travel-leg-row:last-child { border-bottom: 0; }
.travel-leg-route { min-width: 0; display: grid; gap: 3px; }
.travel-leg-route strong,.travel-leg-route p { overflow-wrap: anywhere; }
.travel-leg-route small,.travel-leg-route p { color: var(--tt-text-secondary); font-size: var(--tt-type-body); }
.travel-leg-route p { margin: var(--tt-space-1) 0 0; }
.travel-leg-value { flex: 0 0 auto; display: grid; justify-items: end; gap: var(--tt-space-2); }
.travel-leg-value b { white-space: nowrap; }
.travel-leg-value span { display: flex; gap: var(--tt-space-1); }
.travel-leg-value button { width: 36px; height: 36px; display: grid; place-items: center; border: 0; border-radius: var(--tt-radius-sm); color: var(--tt-text-secondary); background: var(--tt-surface-sunken); }
.travel-leg-value button:last-child { color: var(--tt-error); }
.travel-log-empty { padding: var(--tt-space-5); text-align: center; color: var(--tt-text-muted); border: 1px dashed var(--tt-border-strong); border-radius: var(--tt-radius-lg); }
.commute-card { padding: var(--tt-space-4); }
.commute-card .secondary-button,.commute-card .primary-button { width: auto; min-height: 44px; padding-inline: var(--tt-space-3); }
.commute-summary { display: grid; margin-top: var(--tt-space-3); border-top: 1px solid var(--tt-border-soft); }
.commute-summary-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px var(--tt-space-3); padding-block: var(--tt-space-3); border-bottom: 1px solid var(--tt-border-soft); }
.commute-summary-row:last-child { border-bottom: 0; padding-bottom: 0; }
.commute-summary-row span { color: var(--tt-text-secondary); font-size: var(--tt-type-micro); font-weight: 780; text-transform: uppercase; letter-spacing: var(--tt-tracking-label); }
.commute-summary-row strong { text-align: right; }
.commute-summary-row small { grid-column: 1 / -1; color: var(--tt-text-muted); }
.commute-empty-copy { max-width: 46ch; margin: var(--tt-space-3) 0 0; color: var(--tt-text-secondary); line-height: var(--tt-leading-body); }
.travel-form-context { margin: calc(var(--tt-space-2) * -1) 0 0; color: var(--tt-text-muted); font-size: var(--tt-type-micro); }
.travel-log-sheet { display: grid; gap: var(--tt-space-4); }
.travel-log-home { padding-block: var(--tt-space-3); border-block: 1px solid var(--tt-border-soft); }
.travel-log-home summary { min-height: 44px; display: flex; align-items: center; color: var(--brand-primary); cursor: pointer; }
.settings-home-location-row.setting-row { display: grid; gap: var(--tt-space-3); }
.settings-home-location-row .settings-inline-control { width: 100%; }
.settings-home-location-row .settings-inline-control input { width: 100%; min-width: 0; min-height: 48px; text-align: left; }
.turnus-recorded-summary { padding-block: var(--tt-space-4); border-block: 1px solid var(--tt-border-soft); }
.turnus-recorded-summary h3 { font-size: var(--tt-type-body); color: var(--tt-text-secondary); }
.turnus-recorded-summary p { margin-block: var(--tt-space-2); overflow-wrap: anywhere; }
.turnus-open-detail-head strong { overflow-wrap: anywhere; }
.travel-log-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--tt-space-3); }
.travel-log-field { display: grid; gap: var(--tt-space-2); min-width: 0; }
.travel-log-field > span { color: var(--tt-text-secondary); font-size: var(--tt-type-body); font-weight: 750; }
.travel-log-field input,.travel-log-field select,.travel-log-field textarea { width: 100%; min-height: 48px; border: 1px solid var(--tt-border-strong); border-radius: var(--tt-radius-md); color: var(--tt-text-primary); background: var(--tt-surface-elevated); padding: 0 var(--tt-space-3); }
.travel-log-field textarea { min-height: 88px; padding-block: var(--tt-space-3); resize: vertical; }
.travel-log-note { grid-column: 1 / -1; }
.travel-log-check { min-height: 48px; display: flex; align-items: center; gap: var(--tt-space-3); padding: var(--tt-space-2) var(--tt-space-3); border-radius: var(--tt-radius-md); background: var(--tt-surface-elevated); }
.travel-log-check input { width: 20px; height: 20px; accent-color: var(--brand-primary); }
.travel-continuity-warning { display: grid; gap: var(--tt-space-2); padding: var(--tt-space-4); border-left: 3px solid var(--tt-warning); border-radius: var(--tt-radius-md); background: var(--tt-warning-soft); }
.travel-continuity-warning p { margin: 0; color: var(--tt-text-secondary); }
.travel-continuity-warning > div { display: flex; flex-wrap: wrap; gap: var(--tt-space-2); }
.travel-continuity-warning button { width: auto; }
@media (max-width: 520px) {
  .travel-log-form-grid { grid-template-columns: 1fr; }
  .travel-log-note { grid-column: auto; }
  .travel-log-section-head { align-items: flex-start; }
  .travel-leg-row { align-items: stretch; }
}

.travel-compensation-summary,.travel-metrics-summary { margin-top: var(--tt-space-4); padding: var(--tt-space-4); }
.travel-summary-heading,.travel-vehicle-summary { display: flex; align-items: center; justify-content: space-between; gap: var(--tt-space-3); }
.travel-summary-heading > div,.travel-vehicle-summary > div { display: grid; gap: 3px; min-width: 0; }
.travel-summary-heading span,.travel-vehicle-summary span,.travel-metrics-summary > h3 { color: var(--tt-text-secondary); font-size: var(--tt-type-micro); font-weight: 820; letter-spacing: var(--tt-tracking-label); text-transform: uppercase; }
.travel-summary-heading strong,.travel-vehicle-summary strong { overflow-wrap: anywhere; }
.travel-summary-heading small { color: var(--tt-text-muted); }
.travel-summary-heading button,.travel-vehicle-summary button { flex: 0 0 auto; width: auto; min-height: 44px; color: var(--tt-action); }
.travel-vehicle-summary { margin-top: var(--tt-space-3); padding: var(--tt-space-3) var(--tt-space-4); }
.travel-rate-matrix,.travel-category-settings { display: grid; min-width: 0; margin-top: var(--tt-space-3); border-top: 1px solid var(--tt-border-soft); }
.travel-rate-matrix > div,.travel-category-settings > div { display: grid; grid-template-columns: minmax(0, 1fr) 52px 52px; gap: var(--tt-space-2); align-items: center; min-width: 0; min-height: 44px; border-bottom: 1px solid var(--tt-border-soft); }
.travel-rate-matrix > div:last-child,.travel-category-settings > div:last-of-type { border-bottom: 0; }
.travel-rate-matrix strong,.travel-category-settings strong { min-width: 0; overflow-wrap: anywhere; font-size: var(--tt-type-micro); }
.travel-rate-matrix span,.travel-category-head span,.travel-category-na { text-align: center; color: var(--tt-text-secondary); font-size: var(--tt-type-micro); font-weight: 780; }
.travel-rate-matrix-head,.travel-category-head { min-height: 32px !important; color: var(--tt-text-muted); }
.travel-rate-matrix > div:not(.travel-rate-matrix-head) span { color: var(--tt-action); }
.travel-category-settings label { display: grid; place-items: center; min-height: 44px; font-size: 12px; }
.travel-category-settings label span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.travel-category-settings input { width: 20px; height: 20px; accent-color: var(--tt-action); }
.travel-settings-disclosure { margin-top: var(--tt-space-3); border-block: 1px solid var(--tt-border-soft); }
.travel-settings-disclosure > summary { padding-inline: var(--tt-space-2); color: var(--tt-action); }
.travel-settings-panel { display: grid; gap: var(--tt-space-4); padding: var(--tt-space-4) var(--tt-space-2); }
.travel-policy-help { border-top: 1px solid var(--tt-border-soft); }
.travel-metrics-summary > h3 { margin: 0 0 var(--tt-space-3); }
.travel-metrics-headlines { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--tt-border-soft); }
.travel-metrics-headlines.with-hours { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.travel-metrics-headlines > div { display: grid; align-content: center; gap: var(--tt-space-1); min-width: 0; min-height: 76px; padding: var(--tt-space-2); border-right: 1px solid var(--tt-border-soft); }
.travel-metrics-headlines > div:last-child { border-right: 0; }
.travel-metrics-headlines span { color: var(--tt-text-muted); font-size: var(--tt-type-micro); }
.travel-metrics-headlines strong { overflow-wrap: anywhere; font-size: var(--tt-type-body); }
.travel-metrics-details > summary,.travel-days-disclosure > summary { color: var(--tt-action); }
.travel-metrics-details .travel-log-breakdown { margin: 0 calc(var(--tt-space-4) * -1) calc(var(--tt-space-4) * -1); border: 0; border-radius: 0; background: transparent; }
.travel-metrics-empty { margin: 0; padding-block: var(--tt-space-3); color: var(--tt-text-muted); }
.travel-days-disclosure { margin-top: var(--tt-space-3); padding-inline: var(--tt-space-2); border-block: 1px solid var(--tt-border-soft); }
.travel-days-disclosure .turnus-travel-events { margin-top: 0; }
.travel-log-sheet [hidden] { display: none !important; }
.travel-log-sheet input[type="hidden"] { display: none; }
@media (max-width: 430px) {
  .travel-log-section-head { flex-wrap: wrap; }
  .travel-metrics-headlines,.travel-metrics-headlines.with-hours { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .travel-metrics-headlines > div { min-height: 68px; border-bottom: 1px solid var(--tt-border-soft); }
  .travel-metrics-headlines > div:nth-child(2n) { border-right: 0; }
  .travel-metrics-headlines:not(.with-hours) > div:last-child { grid-column: 1 / -1; border-right: 0; }
  .travel-metrics-headlines > div:nth-last-child(-n + 2) { border-bottom: 0; }
  .travel-rate-matrix > div,.travel-category-settings > div { grid-template-columns: minmax(0, 1fr) 46px 46px; }
  .travel-summary-heading,.travel-vehicle-summary { align-items: flex-start; }
}
