/* Shared control geometry across the Cockpit; module colours remain semantic. */
:root{--fr-button-height:44px;--fr-button-radius:8px;--fr-action-gap:12px}
body :is(main,.workspace-top,.welcome-top) :is(button,a.button,.fr-back-button):not(.fr-datetime-trigger):not(.inline-edit-trigger):not(.calendar-cell):not(.calendar-number):not(.calendar-column-heading):not(.now-emergency):not([data-command-open]){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--fr-button-height);padding:11px 16px;border-radius:var(--fr-button-radius);font:600 14px/1.4 Inter,Arial,sans-serif;letter-spacing:normal;text-transform:none;text-align:center;vertical-align:middle;text-decoration:none;white-space:normal;max-width:100%;box-sizing:border-box}
body[data-fr-modern] main :is(button,a.button,.fr-back-button):not(.fr-datetime-trigger):not(.inline-edit-trigger):not(.calendar-cell):not(.calendar-number):not(.calendar-column-heading):not(.now-emergency):not([data-command-open]){border-radius:var(--fr-button-radius);min-height:var(--fr-button-height);font:600 14px/1.4 Inter,Arial,sans-serif;padding:11px 16px}
body main :is(.actions,.fr-page-actions,.toolbar-actions,.calendar-heading-actions){display:flex;align-items:center;gap:var(--fr-action-gap);flex-wrap:wrap}
body main :is(button,a.button)+:is(button,a.button){margin-inline-start:var(--fr-action-gap)}
body main :is(.actions,.fr-page-actions,.toolbar-actions)>:is(button,a.button)+:is(button,a.button){margin-inline-start:0}
body main form>:is(button,a.button){margin-block:12px}
body main form>:is(input,select,textarea)+:is(button,a.button){margin-top:16px}
body main :is(button,a.button,.fr-back-button):focus-visible{outline:3px solid var(--fr-page-accent,#006274);outline-offset:3px}
body main :is(button,a.button)[disabled]{opacity:.5;cursor:not-allowed}
body main :is(.danger,[data-delete-action]){border-color:#b32632;background:#b32632;color:#fff}
body .fr-back-navigation{margin:0 0 20px}
body main .fr-shop-links>a.button{border-radius:var(--fr-button-radius);min-height:var(--fr-button-height);margin:0}

/* Disclosure actions are controls too. The high-specificity rule also beats
   case-file's padding:12px 0, even when its stylesheet loads later. Native
   details/summary semantics, markers and Enter/Space behaviour stay intact. */
body main details:not(.fr-inline-field):not(.fr-shop-group)>summary{
  box-sizing:border-box;min-height:var(--fr-button-height);max-width:100%;
  padding:11px 16px;border-radius:var(--fr-button-radius);
  font:600 14px/1.4 Inter,Arial,sans-serif;letter-spacing:normal;
  text-transform:none;white-space:normal;overflow-wrap:anywhere;cursor:pointer;
}
body main :is(.fr-agreement-action,.fr-payment-rate-editor)>summary,
body main summary.button{
  display:inline-flex;align-items:center;justify-content:space-between;gap:12px;
  list-style:none;text-align:start;vertical-align:middle;
}
body main :is(.fr-agreement-action,.fr-payment-rate-editor)>summary::after{
  flex:0 0 auto;min-width:1em;text-align:center;
}
body main details>summary:focus-visible{outline:3px solid var(--fr-page-accent,#006274);outline-offset:3px}
body main details[open]>summary{margin-bottom:12px}

/* Dialogs live outside main in several modules. Share geometry without
   resizing calendar/date-grid cells or text-in-place editing affordances. */
body dialog:not(.fr-datetime) :is(button,a.button,input[type=submit],input[type=button]),
body main :is(input[type=submit],input[type=button]),
body main :is(.case-tabs,.fr-tabs)>a{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  box-sizing:border-box;min-height:var(--fr-button-height);max-width:100%;
  padding:11px 16px;border-radius:var(--fr-button-radius);
  font:600 14px/1.4 Inter,Arial,sans-serif;letter-spacing:normal;
  text-transform:none;text-align:center;white-space:normal;overflow-wrap:anywhere;
}
body :is(main,dialog) :is(button,a.button)>:is(svg,img,.fr-icon){flex-shrink:0}
body :is(main,dialog) :is(.actions,.fr-page-actions,.toolbar-actions,.calendar-heading-actions,.packing-actions,.calendar-views,.fr-header-actions){
  display:flex;align-items:center;gap:var(--fr-action-gap);flex-wrap:wrap;
}
body :is(main,dialog) :is(.actions,.fr-page-actions,.toolbar-actions,.calendar-heading-actions,.packing-actions,.calendar-views,.fr-header-actions)>:is(button,a.button)+:is(button,a.button){margin-inline-start:0}
body dialog:not(.fr-datetime) :is(button,a.button):focus-visible{outline:3px solid var(--fr-page-accent,#006274);outline-offset:3px}
body dialog:not(.fr-datetime) :is(button,a.button)[disabled]{opacity:.5;cursor:not-allowed}
/* An ungrouped inline action must also have room above/below after wrapping. */
body main :is(button,a.button):not(.fr-datetime-trigger):not(.inline-edit-trigger):not(.calendar-cell):not(.calendar-number):not(.calendar-column-heading):not(.now-emergency):not([data-command-open]){margin-block:6px}
body[data-fr-modern]:is(.cockpit-page,.welcome-page) :is(.workspace-top,.welcome-top) .fr-operations-link.fr-operations-link{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  box-sizing:border-box;min-height:var(--fr-button-height);height:auto;
  padding:11px 16px;border-radius:var(--fr-button-radius);
  font:600 14px/1.4 Inter,Arial,sans-serif!important;letter-spacing:normal;text-transform:none;
}
@media(max-width:600px){
  body main :is(.fr-agreement-action,.fr-payment-rate-editor)>summary{width:100%}
  body main :is(button,a.button,summary){min-width:0;overflow-wrap:anywhere}
  body :is(main,dialog) :is(.actions,.packing-actions,.toolbar-actions)>:is(button,a.button){flex:0 1 auto}
}
