/* Purposeful interaction and motion layer */
:root{--ease-out:cubic-bezier(.16,1,.3,1);--ease-soft:cubic-bezier(.22,.61,.36,1)}
body:before{content:"";position:fixed;inset:58px 0 0;pointer-events:none;z-index:-1;background:radial-gradient(circle at 88% 10%,rgba(88,139,255,.1),transparent 28%),radial-gradient(circle at 38% 76%,rgba(120,84,232,.06),transparent 25%)}
.main-content{animation:workspace-in .48s var(--ease-out) both}.view-header{animation:rise-in .42s .04s var(--ease-out) both}.glass-card{transition:transform .22s var(--ease-soft),box-shadow .22s var(--ease-soft),border-color .22s ease}.glass-card:hover{border-color:#d6e0f2;box-shadow:0 12px 28px rgba(31,55,91,.07)}
.stat-card{animation:rise-in .45s var(--ease-out) both}.stat-card:nth-child(2){animation-delay:.04s}.stat-card:nth-child(3){animation-delay:.08s}.stat-card:nth-child(4){animation-delay:.12s}.stat-card:hover{transform:translateY(-3px)}.stat-icon{transition:transform .28s var(--ease-out)}.stat-card:hover .stat-icon{transform:scale(1.08) rotate(-5deg)}
.nav-item{overflow:hidden}.nav-item:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent);transform:translateX(-110%);transition:transform .38s var(--ease-out)}.nav-item:hover:before{transform:translateX(110%)}.nav-item>*{position:relative}.nav-item.active{animation:nav-select .32s var(--ease-out)}
.btn{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft),background .18s ease,border-color .18s ease}.btn:before{content:"";position:absolute;z-index:-1;inset:0;background:rgba(255,255,255,.17);transform:translateX(-105%);transition:transform .34s var(--ease-out)}.btn:hover:before{transform:translateX(0)}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 14px rgba(41,91,190,.16)}.btn:active{transform:translateY(1px) scale(.98);box-shadow:none}.btn-secondary:hover{box-shadow:0 5px 12px rgba(16,24,40,.08)}
.custom-table tbody tr{transition:background .15s ease,transform .15s ease}.custom-table tbody tr:hover{transform:translateX(2px)}.custom-table tbody tr:hover td{background:#f7faff}.deal-card{transition:transform .2s var(--ease-soft),box-shadow .2s var(--ease-soft),border-color .2s ease}.deal-card:hover{transform:translateY(-3px) scale(1.01)}.task-item{transition:transform .18s var(--ease-soft),box-shadow .18s var(--ease-soft)}.task-item:hover{transform:translateX(3px);box-shadow:0 7px 18px rgba(16,24,40,.06)}
.secondary-panel{animation:panel-in .52s .08s var(--ease-out) both}.context-workspace{transition:transform .2s var(--ease-soft),box-shadow .2s ease}.context-workspace:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(30,61,111,.07)}.context-section button{transition:padding .18s var(--ease-soft),background .18s ease,color .18s ease}.context-section button:hover{padding-left:9px}
.modal-overlay{backdrop-filter:blur(5px);animation:overlay-in .2s ease}.modal-content,.workflow-modal,.migration-modal,.access-modal{animation:modal-pop .3s var(--ease-out) both}.form-input,.form-select,.form-textarea{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{transform:translateY(-1px)}
.badge,.status-pill{transition:transform .16s var(--ease-soft)}.badge:hover,.status-pill:hover{transform:scale(1.04)}.provider-card,.plan-card{overflow:hidden;position:relative}.provider-card:after,.plan-card:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-62px;top:-72px;background:radial-gradient(circle,rgba(75,122,230,.1),transparent 68%);transition:transform .35s var(--ease-out)}.provider-card:hover:after,.plan-card:hover:after{transform:scale(1.35)}
@keyframes workspace-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes panel-in{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}@keyframes overlay-in{from{opacity:0}to{opacity:1}}@keyframes modal-pop{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}@keyframes nav-select{0%{transform:scale(.96)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
