:root{--app-motion-fast:140ms;--app-motion-page:190ms;--app-motion-ease:cubic-bezier(.22,.75,.25,1)}
button,a,[role="button"]{-webkit-tap-highlight-color:transparent}
button,.btn,a.os-card,.dash-project,.dash-simulation,.dash-category,.ops-record button,.ops-readiness-grid button{transition:transform var(--app-motion-fast) var(--app-motion-ease),border-color var(--app-motion-fast),background-color var(--app-motion-fast),opacity var(--app-motion-fast)}
.vuevia-pressed{transform:scale(.975)!important}
.page.route-current.route-enter-forward .maincol{animation:vuevia-page-forward var(--app-motion-page) var(--app-motion-ease) both}
.page.route-current.route-enter-back .maincol{animation:vuevia-page-back var(--app-motion-page) var(--app-motion-ease) both}
@keyframes vuevia-page-forward{from{opacity:.55;transform:translate3d(18px,0,0)}to{opacity:1;transform:none}}
@keyframes vuevia-page-back{from{opacity:.55;transform:translate3d(-18px,0,0)}to{opacity:1;transform:none}}
.os-modal,.project-workspace-modal,.ops-modal,.quote-modal-backdrop{opacity:0;transition:opacity var(--app-motion-fast) ease}
.os-modal>form,.os-modal>.invite-accept-card,.project-workspace-modal>.project-workspace-panel,.project-workspace-modal>.workspace-loading,.ops-modal>.ops-shell,.ops-modal>.ops-loading,.quote-modal-backdrop>.quote-modal-card{transform:translate3d(28px,0,0);opacity:.7;transition:transform var(--app-motion-page) var(--app-motion-ease),opacity var(--app-motion-page)}
.os-modal.vuevia-overlay-visible,.project-workspace-modal.vuevia-overlay-visible,.ops-modal.vuevia-overlay-visible,.quote-modal-backdrop.vuevia-overlay-visible{opacity:1}
.os-modal.vuevia-overlay-visible>form,.os-modal.vuevia-overlay-visible>.invite-accept-card,.project-workspace-modal.vuevia-overlay-visible>.project-workspace-panel,.project-workspace-modal.vuevia-overlay-visible>.workspace-loading,.ops-modal.vuevia-overlay-visible>.ops-shell,.ops-modal.vuevia-overlay-visible>.ops-loading,.quote-modal-backdrop.vuevia-overlay-visible>.quote-modal-card{transform:none;opacity:1}
.os-modal.vuevia-overlay-closing,.project-workspace-modal.vuevia-overlay-closing,.ops-modal.vuevia-overlay-closing,.quote-modal-backdrop.vuevia-overlay-closing{opacity:0;pointer-events:none}
.os-modal.vuevia-overlay-closing>form,.project-workspace-modal.vuevia-overlay-closing>.project-workspace-panel,.ops-modal.vuevia-overlay-closing>.ops-shell,.quote-modal-backdrop.vuevia-overlay-closing>.quote-modal-card{transform:translate3d(24px,0,0)}
.ops-drawer{opacity:0;transition:opacity var(--app-motion-fast) ease}
.ops-drawer>section{transform:translate3d(100%,0,0);transition:transform var(--app-motion-page) var(--app-motion-ease)}
.ops-drawer.vuevia-overlay-visible{opacity:1}.ops-drawer.vuevia-overlay-visible>section{transform:none}
.ops-drawer.vuevia-overlay-closing{opacity:0;pointer-events:none}.ops-drawer.vuevia-overlay-closing>section{transform:translate3d(100%,0,0)}
.vuevia-region-updating{opacity:.72;pointer-events:none}.vuevia-region-updated{animation:vuevia-confirm 260ms ease both}
@keyframes vuevia-confirm{0%{box-shadow:inset 3px 0 0 #c7a06f}100%{box-shadow:inset 0 0 0 transparent}}
.vuevia-inline-status{display:inline-flex;align-items:center;gap:6px;margin-left:9px;color:#9fc9b4;font-size:12px;font-weight:700;animation:vuevia-status-in 180ms ease both}
@keyframes vuevia-status-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.vuevia-item-enter{animation:vuevia-item-in 220ms var(--app-motion-ease) both}
@keyframes vuevia-item-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.vuevia-item-leave{opacity:0!important;transform:translateX(-14px)!important;pointer-events:none}
.workspace-loading,.ops-loading{min-height:180px;display:grid;place-items:center}
.workspace-loading:before,.ops-loading:before{content:"";width:26px;height:26px;border:2px solid #51463d;border-top-color:#c5a175;border-radius:50%;animation:vuevia-spin .7s linear infinite}
@keyframes vuevia-spin{to{transform:rotate(360deg)}}
button[aria-busy="true"],.btn[aria-busy="true"]{cursor:progress;opacity:.76}
@media(max-width:760px){.os-modal>form,.os-modal>.invite-accept-card{transform:translate3d(12%,0,0)}.project-workspace-modal>.project-workspace-panel,.ops-modal>.ops-shell{transform:none!important}.os-modal.vuevia-overlay-closing>form{transform:translate3d(12%,0,0)}.project-workspace-modal.vuevia-overlay-closing>.project-workspace-panel,.ops-modal.vuevia-overlay-closing>.ops-shell{transform:none!important}}
@media(prefers-reduced-motion:reduce){:root{--app-motion-fast:1ms;--app-motion-page:1ms}*,*:before,*:after{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.page.route-current .maincol,.os-modal>*,.project-workspace-modal>*,.ops-modal>*,.ops-drawer>section{transform:none!important}}
