/* Important declarations in this named layer consistently beat legacy page overrides. */
@layer physical-buttons {
/* Shared physical-button finish. Screen-only: keep printed/PDF documents unchanged.
   Paint and independent translate only; preserve placement, handlers and control sizes. */
@media screen {
 :root body :is(button,.button,a[role="button"],input[type="button"],input[type="submit"],input[type="reset"],.forecast-save-hint>summary,.cash-help>summary){
  --button-depth:4px;
  --button-press:3px;
  --button-rim:rgba(30,56,77,.64);
  border-width:1px!important;
  border-style:solid!important;
  border-color:color-mix(in srgb,currentColor 27%,transparent)!important;
  border-radius:8px!important;
  background-image:linear-gradient(to bottom,rgba(255,255,255,.36) 0%,rgba(255,255,255,.08) 45%,rgba(0,15,30,.12) 100%)!important;
  box-shadow:inset 0 2px 1px rgba(255,255,255,.64),inset 1px 0 1px rgba(255,255,255,.2),inset -1px 0 1px rgba(0,0,0,.08),inset 0 -2px 2px rgba(0,0,0,.12),0 var(--button-depth) 0 var(--button-rim),0 calc(var(--button-depth) + 2px) 5px rgba(15,36,52,.2)!important;
  transition:box-shadow .1s ease,translate .1s ease;
 }
 /* Preserve the built-in icon and speech-bubble shapes at their existing sizes. */
 :root body :is(td,th) :is(button,.button),
 :root body :is(.note-ref,.tracking-cell-note,.forecast-save-hint>summary,.cash-help>summary,.mobile-home-menu-toggle,.pdf-button,.procurement-hint,[data-filter-close],[data-note-close],.account-menu-toggle){
  --button-depth:2px;--button-press:1px;
  border-radius:5px!important;
  box-shadow:inset 0 1px 1px rgba(255,255,255,.55),inset 0 -1px 1px rgba(0,0,0,.12),0 var(--button-depth) 0 var(--button-rim),0 3px 3px rgba(15,36,52,.16)!important;
 }
 :root body .note-ref{border-width:0!important;border-radius:4.5px!important}
 /* Transparent text actions also receive a tangible face, without recolouring
    selected, warning, primary or PDF actions defined by the application. */
 :root body .login-links button{
  padding:5px 8px!important;min-height:28px!important;text-decoration:none!important;
 }
 :root body :is(button,.button,a[role="button"],input[type="button"],input[type="submit"],input[type="reset"]):is([aria-pressed="true"],[aria-selected="true"],.active,.selected,.is-filtered){
  box-shadow:inset 0 2px 4px rgba(0,15,30,.22),inset 0 -1px 0 rgba(255,255,255,.3),0 1px 0 var(--button-rim)!important;
 }
 :root body :is(button,.button,a[role="button"],input[type="button"],input[type="submit"],input[type="reset"],.forecast-save-hint>summary,.cash-help>summary):active:not(:disabled):not([aria-disabled="true"]){
  translate:0 var(--button-press);
  box-shadow:inset 0 2px 4px rgba(0,15,30,.25),0 1px 0 var(--button-rim)!important;
 }
 :root body :is(button,.button,a[role="button"],input[type="button"],input[type="submit"],input[type="reset"]):is(:disabled,[aria-disabled="true"]){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 1px 0 rgba(45,65,80,.25)!important;
  translate:none!important;
 }
}

@media screen and (hover:hover) and (pointer:fine){
 :root body :is(button,.button,a[role="button"],input[type="button"],input[type="submit"],input[type="reset"]):hover:not(:disabled):not([aria-disabled="true"]):not(:active):not([aria-pressed="true"]):not([aria-selected="true"]):not(.active):not(.selected):not(.is-filtered){
  box-shadow:inset 0 2px 2px rgba(255,255,255,.8),inset 0 -2px 2px rgba(0,0,0,.1),0 var(--button-depth) 0 var(--button-rim),0 calc(var(--button-depth) + 3px) 7px rgba(15,36,52,.26)!important;
 }
}
@media (prefers-reduced-motion:reduce){
 :root body :is(button,.button,a[role="button"],input[type="button"],input[type="submit"],input[type="reset"],.forecast-save-hint>summary,.cash-help>summary){transition:none!important}
}

}

/* Flat text-link treatment for legal actions on the public start page. */
@layer physical-buttons {
 :root body.auth-screen > .copyright .legal-links button,
 :root body.auth-screen > .copyright .legal-links button:hover,
 :root body.auth-screen > .copyright .legal-links button:focus-visible {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  translate: none !important;
  text-decoration: underline !important;
 }
}
