/* Shared button materials; preserve layout/navigation and icon-only controls. */
:root :where(button:not(.nav-item):not(.customer-card):not(.sidebar-backdrop):not(.unit-inline-trigger):not(.driver-inline-edit)){border-radius:12px;touch-action:manipulation;transition:background-color .15s ease,box-shadow .15s ease}
:root :is(.primary-action,.primary-button,.auth-submit,.save-trip,.reservation-lookup-submit,.contract-workspace .primary){background:#0071e3;color:#fff;border:1px solid transparent;border-radius:999px;min-height:44px;box-shadow:0 2px 5px #0071e326}
:root :is(.contract-actions,.contract-step-tabs,.reservation-operation-tabs,#reservationDrivers,.modal-actions,.unit-inline-editor)>button{min-height:44px;padding:10px 20px;border:1px solid #e0e2e8;border-radius:999px;background:#efeff4;color:#242426;font:inherit;font-weight:700;cursor:pointer}
:root :is(.contract-actions,.unit-inline-editor)>button.primary,:root .unit-inline-editor>button.primary-action,:root [role="tab"][aria-selected="true"]{background:#0071e3;color:white;border-color:transparent}
:root :is(.icon-action,.app-icon-action,.language-icon-button,.menu-button){border-radius:12px;min-width:44px;min-height:44px}
:root button:focus-visible{outline:3px solid #0071e3;outline-offset:3px}
:root button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
@media(hover:hover){:root button:not(:disabled):not(.nav-item):not(.customer-card):hover{filter:brightness(.97)}}
:root button:not(:disabled):not(.sidebar-backdrop):active{filter:brightness(.92)}
@media(prefers-reduced-motion:reduce){:root button{transition:none!important}}
.unit-inline-trigger{display:block;width:100%;min-height:36px;text-align:start;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:6px;padding:6px}
.unit-inline-trigger:hover{background:#edf3ff;color:#0071e3}
.unit-inline-trigger[hidden]{display:none}
.unit-inline-editor{display:flex;flex-wrap:wrap;gap:8px;min-width:180px;max-width:280px;padding:8px;background:#f6f7fa;border-radius:12px}
.unit-inline-editor :is(input,select){width:100%;min-width:0;min-height:44px;padding:8px;border:1px solid #dce0e7;border-radius:8px;font:inherit;background:white;color:#172033}
.unit-inline-editor small{flex-basis:100%;color:#b42318;white-space:normal}
.unit-inline-trigger+.unit-inline-trigger{color:#64748b;font-size:12px}

/* One action language for booking, administration and reservation forms.
   Keep picker options, navigation and inline field triggers lightweight. */
:root :is(.modal-actions,.contract-actions,.loyalty-actions,.driver-action-row){display:flex;align-items:center;gap:10px;flex-wrap:wrap}
:root :is(.modal-actions,.contract-actions,.loyalty-actions,.driver-action-row)>:is(button,a){margin:0;width:auto;flex:0 1 auto}
:root :is(
  .primary-action,.primary-button,.auth-submit,.save-trip,.show-cars-button,.continue-button,.change-button,
  .reservation-lookup-submit,.danger-action,
  form button[type="submit"],
  .modal-actions>button,.contract-actions>button,.contract-actions>a,
  .loyalty-actions>button,.driver-action-row>button,.unit-inline-editor>button,
  .contract-step-tabs>button,.reservation-operation-tabs>button,
  .contract-step-panel>button,.confirmation-actions>button,.confirmation-actions>a
):not([data-preserve-button-style]){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;height:auto;padding:10px 20px;border:1px solid #e1e4eb;
  border-radius:999px;background:#f0f1f5;color:#1d1d1f;
  font-family:inherit;font-size:16px;font-weight:600;line-height:1.4;
  text-decoration:none;cursor:pointer;touch-action:manipulation;
  box-shadow:0 1px 2px #00000008;transition:background-color .15s ease,box-shadow .15s ease;
}
:root :is(form button[type="submit"],.primary-action,.primary-button,.auth-submit,.save-trip,.show-cars-button,.continue-button,.reservation-lookup-submit,.driver-save-action,.contract-workspace .primary,[role="tab"][aria-selected="true"]):not([data-preserve-button-style]){background:#0071e3;border-color:#0071e3;color:#fff}
:root :is(.danger-action,button[data-action-icon="delete"]){color:#b42318;background:#fff1f0;border-color:#f4c7c3}
/* Show meaningful captions on form actions, even when icon enhancement runs. */
:root :is(form button[type="submit"],.modal-actions>button,.loyalty-actions>button)>.app-action-label{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip-path:none;white-space:normal}
:root :is(.contract-actions,.loyalty-actions,.driver-action-row) a:focus-visible{outline:3px solid #0071e3;outline-offset:3px}
:root :is(button,a)[hidden]{display:none!important}
@media(max-width:400px){
  :root :is(.modal-actions,.loyalty-actions,.driver-action-row){gap:8px}
  :root :is(.modal-actions,.loyalty-actions,.driver-action-row)>button{min-width:0;padding-inline:14px}
}
@media(prefers-contrast:more){:root :is(.modal-actions,.contract-actions,.loyalty-actions,.driver-action-row)>button{border-color:currentColor}}
