/* Interaction and layout polish v5.5.0 — final shared layer for all viewports. */
:root{--motion-fast:150ms;--motion-normal:230ms;--motion-spring:cubic-bezier(.2,.78,.24,1);--focus-ring:rgba(128,96,151,.22)}

.appbody :where(button,.primary,.secondary,.tiny,.modalclose){box-sizing:border-box;font-family:inherit;line-height:1.15!important;text-align:center;text-rendering:geometricPrecision;transform-origin:center;backface-visibility:hidden;-webkit-font-smoothing:antialiased}
.appbody :where(button,.primary,.secondary,.tiny,.modalclose)>svg{display:block;flex:0 0 auto;margin:auto}
.appbody :where(form>button,.paneltitle>.primary,.paneltitle>.secondary,.people-actions button,.people-actions a,.memoactions button,.memoactions a){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px}
.appbody :where(.chat-person,.userprofilebutton,.businessreceipts button,.businesscompanychoices>button,.exchangechoices button,.chat-thread-menu button,.chat-message-menu button,.chat-reply-quote){text-align:left!important}
.appbody :where(.chat-person,.userprofilebutton,.businesscompanychoices>button,.exchangechoices button){display:grid!important}
.appbody :where(.actions,.modalactions,.rowactions,.filteractions,.queryactionbar,.buttonrow,.people-actions,.backupactions,.maintenance,.businessdetailactions,.perioddashboardactions,.unifiedexportactions,.businessmaintenanceactions){position:relative;z-index:1;overflow:visible!important}
.appbody :where(.actions,.modalactions,.rowactions,.filteractions,.queryactionbar,.buttonrow,.people-actions,.backupactions,.maintenance,.businessdetailactions,.perioddashboardactions,.unifiedexportactions,.businessmaintenanceactions) :where(button,a.primary,a.secondary,a.tiny){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px;line-height:1.15!important;text-align:center!important}
.appbody :where(button,.primary,.secondary,.tiny,.modalclose,.circlebutton,.messagebutton,.useridentity,.chat-close,.chat-back,.chat-send){transition:background-color var(--motion-fast) ease,border-color var(--motion-fast) ease,color var(--motion-fast) ease,box-shadow var(--motion-normal) ease,filter var(--motion-fast) ease,transform var(--motion-fast) var(--motion-spring),opacity var(--motion-fast) ease!important}
.appbody :where(button,.primary,.secondary,.tiny,.modalclose,.circlebutton,.messagebutton,.useridentity,.chat-close,.chat-back,.chat-send):focus-visible{z-index:8!important;outline:0!important;box-shadow:0 0 0 4px var(--focus-ring),0 8px 24px rgba(54,38,66,.12)!important}
.appbody :where(button,.primary,.secondary,.tiny,.modalclose,.circlebutton,.messagebutton,.useridentity,.chat-close,.chat-back,.chat-send):active{transform:scale(.975)!important;transition-duration:80ms!important}
.appbody :where(button,.primary,.secondary,.tiny)[disabled]{transform:none!important;filter:none!important}

@media(hover:hover) and (pointer:fine){
  .appbody :where(button,.primary,.secondary,.tiny,.modalclose,.circlebutton,.messagebutton,.useridentity,.chat-close,.chat-back,.chat-send):not([disabled]):hover{z-index:5!important;transform:none!important;filter:brightness(.985) saturate(1.035)}
  .appbody :where(.panel,.metric,.glasscard,.commoninfocard,.periodcompletedcard,.mobilelogcard,.superpersoncard,.dbstatuscard,.shortcutcard,.homeactioncard){transition:border-color var(--motion-normal) ease,box-shadow var(--motion-normal) ease,background-color var(--motion-normal) ease,filter var(--motion-normal) ease!important}
  .appbody :where(.panel,.metric,.glasscard,.commoninfocard,.periodcompletedcard,.mobilelogcard,.superpersoncard,.dbstatuscard,.shortcutcard,.homeactioncard):hover{border-color:rgba(115,88,135,.15)!important;box-shadow:0 14px 38px rgba(49,34,60,.075)!important}
}

.appbody :where(.panel,.metric,.glasscard,.commoninfocard,.periodcompletedcard,.mobilelogcard,.superpersoncard,.dbstatuscard){isolation:isolate}
.appbody dialog[open]{backface-visibility:hidden;transform-origin:center;animation:polishDialogEnter .2s var(--motion-spring) both}
.appbody dialog .modalhead,.appbody dialog .profile-center-head,.appbody dialog .person-dialog-head{position:relative;z-index:4}
.appbody dialog :where(.modalclose,.chat-close){display:grid!important;place-items:center!important;padding:0!important;text-align:center!important;line-height:1!important}
.appbody :where(.userpopover,.chat-thread-menu,.chat-message-menu,.chat-emoji-panel,.chat-reaction-picker,.settlementbox[open]){isolation:isolate;backface-visibility:hidden}
.appbody main>:where(.pagehead,.adminnav,.superadmintabs,.metrics,.metrics-five,.adminmetrics,section,.panel){animation:polishContentEnter .24s ease-out both}
.appbody main>:nth-child(2){animation-delay:18ms}.appbody main>:nth-child(3){animation-delay:34ms}

.chat-dialog :where(.chat-avatar,.chat-message-avatar){contain:layout;isolation:isolate;background:#ebe5ef!important}
.chat-dialog :where(.chat-avatar,.chat-message-avatar)>.chat-avatar-fallback{transition:opacity .16s ease}
.chat-dialog :where(.chat-avatar,.chat-message-avatar)>img{backface-visibility:hidden;transform:translateZ(0);opacity:1}

@keyframes polishDialogEnter{from{opacity:0;transform:translate3d(0,5px,0) scale(.992)}to{opacity:1;transform:none}}
@keyframes polishContentEnter{from{opacity:.01;transform:translate3d(0,4px,0)}to{opacity:1;transform:none}}

@media(max-width:900px){.appbody main>:where(.pagehead,.adminnav,.superadmintabs,.metrics,.metrics-five,.adminmetrics,section,.panel){animation-duration:.2s}}
@media(max-width:700px){
  .appbody :where(button,.primary,.secondary,.tiny){line-height:1.2!important}
  .appbody :where(.actions,.modalactions,.rowactions,.filteractions,.queryactionbar,.buttonrow,.people-actions,.backupactions,.maintenance,.businessdetailactions,.perioddashboardactions,.unifiedexportactions,.businessmaintenanceactions){padding-top:2px;padding-bottom:2px}
  .appbody dialog[open]{animation-duration:.18s}
}
@media(prefers-reduced-motion:reduce){.appbody *,.appbody *::before,.appbody *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* 5.5.1 geometry-safe interaction override.
   No interactive surface may leave its own paint box on hover or keyboard focus. */
@media(hover:hover) and (pointer:fine){
  html body:is(.appbody,.login) :is(button,[role="button"],a[href],summary,.chat-compose-tools>label,.houritem,.sw-location,.messageperson,.messagepersonrow,.businessledgercard,.exportcard,.financecreatecard,.chat-person):not(#allow-geometric-motion):not([disabled]):hover{
    transform:none!important;
    translate:none!important;
  }
  html body:is(.appbody,.login) :is(button,a.primary,a.secondary,a.tiny,.shortcutgrid>a,.periodworkbenchhub>a,.financeworkbenchhub>a,.exchangechoices>a,.exchangechoices>button,.businessledgercard,.businessmonthlist>a,.superadmintabs>a,.chat-compose-tools>label,.houritem,.sw-location,.messageperson,.messagepersonrow,.exportcard,.financecreatecard,.chat-person):not(#allow-geometric-motion):not([disabled]):hover{
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.36),inset 0 -18px 34px rgba(75,51,92,.055)!important;
    filter:brightness(.975) saturate(1.045)!important;
  }
  html body:is(.appbody,.login) :is(button,a[href],summary,.chat-compose-tools>label):not(#allow-geometric-motion):hover :is(img,.shortcuticon,svg){
    transform:none!important;
    translate:none!important;
  }
}
html body:is(.appbody,.login) :is(button,[role="button"],a[href],summary,.chat-compose-tools>label):not(#allow-geometric-motion):focus-visible{
  transform:none!important;
  translate:none!important;
  outline:2px solid rgba(151,119,174,.72)!important;
  outline-offset:-3px!important;
  box-shadow:inset 0 0 0 4px rgba(255,255,255,.52),inset 0 0 0 6px rgba(128,96,151,.18)!important;
}
html body:is(.appbody,.login) :is(button,[role="button"],a[href],summary,.chat-compose-tools>label):not(#allow-geometric-motion):active{
  transform:scale(.982)!important;
  translate:none!important;
}
