/* easycrm 0.9.0: стиль и анимации бэк-офиса */
html{scroll-behavior:smooth}
:root{--ease:cubic-bezier(.2,.8,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);--glow:0 10px 30px #7c3aed33}
@keyframes boUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes boFade{from{opacity:0}to{opacity:1}}
@keyframes boPop{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
@keyframes boPulse{0%{box-shadow:0 0 0 0 #6bdbaf88}70%{box-shadow:0 0 0 8px #6bdbaf00}100%{box-shadow:0 0 0 0 #6bdbaf00}}
@keyframes boShine{from{background-position:-200% 0}to{background-position:200% 0}}
/* Шапка как стекло */
.top{backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);background:color-mix(in srgb,var(--c) 82%,transparent)!important;z-index:40}
.sync-indicator{width:9px;height:9px;border-radius:50%;background:var(--g);animation:boPulse 2.4s infinite}
/* Переход между разделами */
#view.route-enter>*{animation:boUp .42s var(--ease) both}
#view.route-enter>*:nth-child(2){animation-delay:.05s}#view.route-enter>*:nth-child(3){animation-delay:.1s}#view.route-enter>*:nth-child(4){animation-delay:.15s}#view.route-enter>*:nth-child(5){animation-delay:.2s}#view.route-enter>*:nth-child(n+6){animation-delay:.24s}
.head h1{animation:boFade .35s var(--ease)}
#view.route-enter .kpis>*,#view.route-enter .grid>*,#view.route-enter .pinned-kpis>*{animation:boUp .45s var(--ease) both}
#view.route-enter .kpis>*:nth-child(2),#view.route-enter .pinned-kpis>*:nth-child(2){animation-delay:.06s}#view.route-enter .kpis>*:nth-child(3),#view.route-enter .pinned-kpis>*:nth-child(3){animation-delay:.12s}#view.route-enter .kpis>*:nth-child(4),#view.route-enter .pinned-kpis>*:nth-child(4){animation-delay:.18s}
/* Карточки */
.card{border-radius:18px!important;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.card:hover{border-color:color-mix(in srgb,var(--p) 35%,var(--b))}
.pinned-kpis>.card:first-child,.dashboard-kpis>.card:first-child,.kpis>.card:first-child{background:linear-gradient(135deg,#7c3aed,#a66bff)!important;color:#fff!important;border-color:transparent!important;box-shadow:var(--glow)}
.pinned-kpis>.card:first-child *,.kpis>.card:first-child *{color:#fff!important}
/* Кнопки */
.btn{border-radius:12px;transition:transform .18s var(--spring),background-color .2s,border-color .2s,box-shadow .2s}
.btn:hover{border-color:color-mix(in srgb,var(--p) 45%,var(--b))}
.btn:active,.nav:active,.tabbar button:active,.theme-btn:active{transform:scale(.96)}
.btn.primary{background:linear-gradient(135deg,#7c3aed,#9d5cff)!important;border-color:transparent!important;color:#fff!important;box-shadow:0 6px 18px #7c3aed40}
.btn.primary:hover{box-shadow:0 10px 26px #7c3aed55;transform:translateY(-1px)}
.btn.danger{transition:all .2s}.btn.danger:hover{background:color-mix(in srgb,var(--r) 14%,transparent)}
/* Меню слева */
.nav{border-radius:12px!important;transition:background-color .2s,color .2s,transform .18s var(--spring),padding-left .25s var(--ease)}
.nav:hover{padding-left:16px}
.nav.active{box-shadow:inset 3px 0 0 var(--p)}
.nav-icon{transition:transform .3s var(--spring)}.nav:hover .nav-icon{transform:scale(1.12) rotate(-4deg)}
/* Таблицы */
tbody tr{transition:background-color .15s}
table.m-cards tr{animation:boUp .35s var(--ease) both}
table.m-cards tr:nth-child(2){animation-delay:.03s}table.m-cards tr:nth-child(3){animation-delay:.06s}table.m-cards tr:nth-child(4){animation-delay:.09s}table.m-cards tr:nth-child(n+5){animation-delay:.12s}
/* Поля */
input,select,textarea{transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:var(--p)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--p) 18%,transparent)!important;outline:none}
/* Окна и уведомления */
.modalbg{animation:boFade .2s ease both}
.modal{animation:boPop .28s var(--spring) both}
.confirm-layer{animation:boFade .18s ease both}.confirm-box{animation:boPop .26s var(--spring) both;border-radius:20px!important}
.toast{border-radius:14px!important;box-shadow:0 14px 40px #0004!important;animation:boUp .3s var(--spring) both}
/* Вход */
.studio-signin{background:radial-gradient(1200px 600px at 20% -10%,#7c3aed33,transparent 60%),radial-gradient(900px 500px at 110% 110%,#c084fc26,transparent 60%),var(--bg)!important}
.studio-login-card{animation:boPop .5s var(--spring) both;backdrop-filter:blur(10px)}
.studio-login-card .bo-login-logo{animation:boPop .6s .08s var(--spring) both}
.studio-login-card .btn.primary{height:50px;font-size:16px;font-weight:700}
/* Склад */
.stock-alert{animation:boUp .4s var(--spring) both}
.neg{position:relative}
.stock-reset{border-left:3px solid var(--r)!important}
/* Нижние вкладки */
.tabbar button{transition:color .2s,background-color .25s var(--ease),transform .18s var(--spring)}
.tabbar button.active svg{animation:boPop .35s var(--spring)}
/* Группы */
.group-chip,.group-art{transition:transform .2s var(--spring)}.group-chip:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
