/* Shared motion: short feedback, discrete visibility transitions and reduced-motion support. */
:root{--motion-fast:150ms;--motion-normal:220ms;--motion-ease:cubic-bezier(.2,.8,.2,1)}
:is(.dashboard-body,.auth-layout) :is(button,.button,.nav-item,.select-trigger,input,textarea,select){transition:background-color var(--motion-fast),border-color var(--motion-fast),color var(--motion-fast),box-shadow var(--motion-fast),transform var(--motion-fast)}
.dashboard-body .sidebar{transition:transform var(--motion-normal) var(--motion-ease)}
.dashboard-body .workspace-main{transition:margin-left var(--motion-normal) var(--motion-ease),width var(--motion-normal) var(--motion-ease)}
:is(.select-menu,.saved-replies-popup){transform-origin:top;animation:lyno-menu-in var(--motion-fast) var(--motion-ease)}
:is(.dashboard-notice,.dashboard-error,.widget-bot-bubble,.widget-message){animation:lyno-content-in 200ms var(--motion-ease)}
:is(.bot-option-fields,.password-help,.team-role-summary,.widget-start-form,.widget-ended,.widget-contact-received,.widget-panel){opacity:1;translate:0 0;transition:opacity var(--motion-normal) var(--motion-ease),translate var(--motion-normal) var(--motion-ease),display var(--motion-normal) allow-discrete}
:is(.bot-option-fields,.password-help,.team-role-summary,.widget-start-form,.widget-ended,.widget-contact-received,.widget-panel)[hidden]{opacity:0;translate:0 6px;pointer-events:none}
@starting-style{ :is(.bot-option-fields,.password-help,.team-role-summary,.widget-start-form,.widget-ended,.widget-contact-received,.widget-panel):not([hidden]){opacity:0;translate:0 6px} }
:is(.new-dialog,.team-chat-dialog){opacity:0;translate:0 10px;scale:.985;transition:opacity 180ms var(--motion-ease),translate 180ms var(--motion-ease),scale 180ms var(--motion-ease),display 180ms allow-discrete,overlay 180ms allow-discrete}
:is(.new-dialog,.team-chat-dialog)[open]{opacity:1;translate:0 0;scale:1}
:is(.new-dialog,.team-chat-dialog)::backdrop{background:#15502e00;backdrop-filter:blur(0);transition:background 180ms,backdrop-filter 180ms,display 180ms allow-discrete,overlay 180ms allow-discrete}
:is(.new-dialog,.team-chat-dialog)[open]::backdrop{background:#15502e40;backdrop-filter:blur(3px)}
@starting-style{ :is(.new-dialog,.team-chat-dialog)[open]{opacity:0;translate:0 10px;scale:.985} :is(.new-dialog,.team-chat-dialog)[open]::backdrop{background:#15502e00;backdrop-filter:blur(0)} }
@supports(interpolate-size:allow-keywords){details:not(.visitor-profile){interpolate-size:allow-keywords}details:not(.visitor-profile)::details-content{height:0;opacity:0;overflow:clip;transition:height 220ms var(--motion-ease),opacity 180ms,content-visibility 220ms allow-discrete}details:not(.visitor-profile)[open]::details-content{height:auto;opacity:1}}
@keyframes lyno-menu-in{from{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes lyno-content-in{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#notes-area .inbox-message-arriving{animation:inbox-message-arrive 220ms ease-out both}
@keyframes inbox-message-arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){#notes-area .inbox-message-arriving{animation:none}}