/* Shared final refinements, mobile + desktop. Keep native controls and focus. */
:root { --td-control-fill: #fff; --td-control-ink: #183345; --td-control-border: #b8cfdd; }
:root[data-theme="dark"], body[data-theme="dark"] {
  --td-control-fill: #182b3b; --td-control-ink: #edf5fa; --td-control-border: #587285;
}
#structuredNavigation :is(.structured-menu-link, .structured-menu-parent) {
  --menu-accent: #1686b5;
  --menu-fill: #eef8fc;
}
#structuredNavigation :is(.structured-menu-link, .structured-menu-parent),
#structuredNavigation > #tachoduckPremiumNavigation > .structured-menu-link:is(button, :hover, :focus-visible, .active) {
  display: flex !important; align-items: center !important;
  gap: 10px !important; width: 100% !important; min-height: 46px !important;
  box-sizing: border-box !important; margin: 0 !important; padding: 12px 14px !important;
  border: 1px solid #c9dce6 !important; border-left: 4px solid var(--menu-accent) !important;
  border-radius: 12px !important; background: var(--menu-fill) !important;
  color: #163647 !important; font-family: inherit; line-height: 1.25; font-size: 15px !important;
  font-weight: 700 !important; text-align: left !important; box-shadow: none !important;
}
#structuredNavigation :is(.premium-navigation-flat, .structured-submenu) { display: grid; gap: 8px; }
#structuredNavigation [data-structured-tab="violation_review"] { --menu-accent: #d56b75; --menu-fill: #fff0f2; }
#structuredNavigation :is([data-structured-tab="upcoming"], [data-structured-tab="violation_prediction"]) { --menu-accent: #c19430; --menu-fill: #fff7df; }
#structuredNavigation [data-structured-tab="transport_planner"] { --menu-accent: #5c75bf; --menu-fill: #f0f3ff; }
#structuredNavigation [data-structured-tab="ask_tachoduck"] { --menu-accent: #8e67bd; --menu-fill: #f6efff; }
#structuredNavigation [data-structured-tab="paid_leave"] { --menu-accent: #b18b24; --menu-fill: #fffae8; }
#structuredNavigation [data-structured-tab="schengen_90_180"] { --menu-accent: #498e76; --menu-fill: #edf9f3; }
#structuredNavigation [data-structured-tab="workspace_chat"] { --menu-accent: #318c9b; --menu-fill: #ebf9fb; }
#structuredNavigation [data-structured-tab="documentation"] { --menu-accent: #8e7a64; --menu-fill: #f8f4ef; }
#structuredNavigation :is(.structured-menu-link, .structured-menu-parent):hover { filter: brightness(.97); }
#structuredNavigation :is(.structured-menu-link.active, [aria-current="page"]) {
  box-shadow: inset 0 0 0 1px var(--menu-accent) !important;
  text-decoration: underline; text-underline-offset: 4px;
}
#structuredNavigation button:focus-visible, .country-combobox:focus-within, .localized-datetime:focus-within {
  outline: 3px solid #69b6df; outline-offset: 2px;
}
:root[data-theme="dark"] #structuredNavigation :is(.structured-menu-link, .structured-menu-parent),
:root[data-theme="dark"] #structuredNavigation > #tachoduckPremiumNavigation > .structured-menu-link:is(button, :hover, :focus-visible, .active) {
  background: #203544 !important; color: #edf5fa !important;
}
.upcoming-gauge-pair-card .upcoming-gauge-ticks line {
  stroke: #6297b2; stroke-width: 1.35; opacity: .9;
}
.upcoming-gauge-pair-card .upcoming-gauge-ticks line.major { stroke-width: 1.8; }
:is([data-panel="activity_review"], [data-panel="violation_review"]) .review-range {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important; padding: 12px !important; align-items: end !important;
}
.review-range-title { display: none !important; }
.review-range-message:empty { display: none !important; }
.violation-groups-navigation { display: grid; grid-template-columns: minmax(0, 1fr); min-width: 0; align-items: center; gap: 6px; }
.violation-groups-arrow { display: none; }
.violation-groups-navigation.is-scrollable { grid-template-columns: 32px minmax(0, 1fr) 32px; }
.violation-groups-navigation.is-scrollable > .violation-groups-arrow {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 48px; width: 32px; padding: 0; border: 1px solid var(--td-control-border);
  border-radius: 10px; background: var(--td-control-fill); color: #087fc4; font-size: 30px;
}
.violation-groups-arrow:disabled { opacity: .3; }
.violation-groups-navigation > #violationGroups { min-width: 0; max-width: 100%; overscroll-behavior-x: contain; }
.violation-main, #violationTable, .violation-table-scroll { min-width: 0; max-width: 100%; }
.localized-datetime { position: relative; width: 100%; min-width: 0; height: 48px; border-radius: 12px; }
#transportTaskDateTime { position: relative; z-index: 1; opacity: 0; width: 100% !important; height: 48px !important; cursor: pointer; }
.localized-datetime-value {
  position: absolute; inset: 0; pointer-events: none; display: flex; align-items: center; justify-content: center;
  padding: 6px; border: 1px solid var(--td-control-border); border-radius: 12px;
  background: var(--td-control-fill); color: var(--td-control-ink);
  text-align: center; font-size: 14px; font-weight: 700; line-height: 1.35; font-variant-numeric: tabular-nums;
}
[data-panel="transport_planner"] .transport-editor-actions {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important;
}
[data-panel="transport_planner"] .transport-editor-actions > button {
  box-sizing: border-box !important; width: 100% !important; min-width: 0 !important;
  height: 48px !important; min-height: 48px !important; margin: 0 !important; padding: 6px 10px !important;
  font-size: 14px !important; border-radius: 12px !important;
}
#timeOrganizationPanel .transport-task-result-heading {
  display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(150px, .65fr) !important;
  align-items: start !important; gap: 12px !important;
}
#timeOrganizationPanel #tourResultMetrics {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important; margin: 0 !important; gap: 8px !important; align-self: start;
}
#tourResultMetrics article { min-width: 0; padding: 6px !important; }
#tourResultMetrics strong { font-size: clamp(16px, 2vw, 23px) !important; }
#tourResultMetrics span { font-size: 10px !important; letter-spacing: 0 !important; white-space: nowrap; }
#transportTaskMeta { font-size: 13px !important; overflow-wrap: anywhere; }
.country-combobox { position: relative; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) 44px; gap: 6px; border-radius: 12px; }
.country-combobox-toggle { height: 48px; min-height: 48px; padding: 0; border: 1px solid var(--td-control-border); border-radius: 12px; background: var(--td-control-fill); color: var(--td-control-ink); font-size: 24px; }
.country-choices {
  position: absolute; top: calc(100% + 6px); inset-inline: 0; z-index: 30;
  max-height: 250px; overflow-y: auto; border: 1px solid var(--td-control-border);
  border-radius: 12px; background: var(--td-control-fill); box-shadow: 0 10px 28px #173d5126; padding: 4px;
}
.country-choices[hidden] { display: none !important; }
[data-panel="schengen_90_180"] .schengen-stay-form > .schengen-ongoing {
  display: flex !important; align-items: center !important; gap: 10px !important; min-height: 40px;
}
.country-choices > button { display: block; width: 100%; text-align: left; min-height: 44px; padding: 10px 12px; border: 0; background: transparent; color: var(--td-control-ink); border-radius: 8px; font: inherit; }
.country-choices > button:is(:hover, [aria-selected="true"]) { background: #dcedf8; color: #173c52; }
[data-panel="schengen_90_180"] .schengen-summary, [data-panel="schengen_90_180"] .schengen-stay-form {
  display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; align-items: stretch;
}
[data-panel="schengen_90_180"] :is(.schengen-reference, .schengen-summary-status, .schengen-progress, .schengen-country, .schengen-ongoing, .schengen-form-actions) { grid-column: 1 / -1 !important; }
[data-panel="schengen_90_180"] .schengen-stat { grid-column: auto !important; min-width: 0; padding: 12px !important; }
[data-panel="schengen_90_180"] .schengen-stat strong { font-size: clamp(17px, 4vw, 24px) !important; }
[data-panel="schengen_90_180"] .schengen-stay-form > label:not(.schengen-country):not(.schengen-ongoing) { grid-column: auto !important; min-width: 0; }
.documentation-document > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.documentation-document > header strong { min-width: 0; overflow-wrap: anywhere; }
.documentation-delete { flex: 0 0 40px; width: 40px; height: 40px; border: 1px solid #edbec4; border-radius: 10px; background: #fff2f4; color: #af293f; font-size: 24px; }
.documentation-document-actions, .documentation-tour-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 12px; }
.documentation-document-actions > *, .documentation-tour-actions > button { min-height: 44px; padding: 10px 14px; border: 1px solid var(--td-control-border); border-radius: 12px; background: var(--td-control-fill); color: var(--td-control-ink); font: inherit; font-weight: 700; box-sizing: border-box; }
.documentation-tour-actions > button { flex: 1 1 100%; background: #087fc4; color: #fff; border-color: #087fc4; }
.documentation-ready { display: inline-block; padding: 6px 10px; border-radius: 8px; background: #e8f6ee; color: #227a51; font-size: 13px; font-weight: 700; }
.documentation-pages > button { position: relative; padding: 0; overflow: hidden; border: 1px solid var(--td-control-border); border-radius: 10px; width: 96px; height: 128px; background: var(--td-control-fill); }
.documentation-pages > button img { width: 100%; height: 100%; object-fit: cover; }
.documentation-pages > button span { position: absolute; bottom: 4px; inset-inline: 4px; background: #19354de6; color: #fff; padding: 4px; border-radius: 6px; font-size: 11px; }
.documentation-preview { max-width: min(96vw, 1000px); width: 900px; padding: 14px; border: 1px solid var(--td-control-border); border-radius: 16px; background: var(--td-control-fill); color: var(--td-control-ink); }
.documentation-preview::backdrop { background: #102333b3; }
.documentation-preview header { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.documentation-preview button { min-height: 44px; padding: 8px 14px; border-radius: 10px; border: 1px solid var(--td-control-border); background: var(--td-control-fill); color: var(--td-control-ink); }
.documentation-preview img { display: block; max-width: 100%; max-height: 75dvh; margin: auto; object-fit: contain; }
@media (min-width: 721px) {
  #transportCityBody .transport-city-actions { width: 164px !important; min-width: 164px; white-space: nowrap; }
  #transportCityBody .transport-city-actions button { width: 32px !important; padding: 0 !important; margin-inline: 2px !important; }
  :is(.documentation-tour-form, .schengen-stay-form, .paid-leave-form) :is(input:not([type="checkbox"]):not([type="hidden"]), select) {
    box-sizing: border-box; min-width: 0; width: 100%; height: 48px; border: 1px solid var(--td-control-border); border-radius: 12px;
    padding: 10px 12px; background: var(--td-control-fill); color: var(--td-control-ink); font: inherit;
  }
  :is(.documentation-tour-form, .schengen-form-actions, .paid-leave-actions) > button {
    min-height: 48px; padding: 10px 18px; border: 1px solid #087fc4; border-radius: 12px; background: #087fc4; color: #fff; font: inherit; font-weight: 700;
  }
}
@media (max-width: 420px) {
  #timeOrganizationPanel .transport-task-result-heading { grid-template-columns: minmax(0, 1fr) 150px !important; gap: 8px !important; }
  .localized-datetime-value { font-size: 12px; }
  .documentation-document-actions > * { flex: 1 1 auto; text-align: center; }
}
