@keyframes admin-module-popin{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes admin-pill-fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes admin-ai-pulse{0%,to{box-shadow:0 0 30px rgba(56,140,255,.4),0 0 60px rgba(0,200,255,.2)}50%{box-shadow:0 0 50px rgba(56,140,255,.6),0 0 100px rgba(0,200,255,.35)}}.modular-slot{position:relative;background:hsla(0,0%,100%,.02);border:2px dashed hsla(0,0%,100%,.18);border-radius:16px;min-height:180px;overflow:visible;transition:border-color .3s ease,background .3s ease;cursor:pointer}.modular-slot:hover{border-color:rgba(56,140,255,.55);background:rgba(56,140,255,.04)}.modular-slot--generating{border:2px solid rgba(56,140,255,.45);background:rgba(56,140,255,.05);cursor:wait;animation:admin-ai-pulse 1.6s ease-in-out infinite}.modular-card{background:hsla(0,0%,100%,.03);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.08);border-radius:16px;padding:16px;transition:border-color .25s ease,background .25s ease}.modular-card:hover{border-color:rgba(56,140,255,.4);background:hsla(0,0%,100%,.04)}.modular-card--generated{animation:admin-module-popin .5s ease-out}.modular-pill{display:inline-flex;flex-direction:column;gap:4px;padding:6px 10px;border-radius:10px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.06);font-size:.72rem;color:hsla(0,0%,100%,.8);transition:background .2s ease,border-color .2s ease;animation:admin-pill-fadein .35s ease-out}.modular-pill:hover{background:rgba(56,140,255,.08);border-color:rgba(56,140,255,.3)}.modular-pill-row{display:flex;flex-wrap:wrap;gap:6px}.modular-add-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:8px;background:transparent;border:1px dashed hsla(0,0%,100%,.15);color:hsla(0,0%,100%,.55);font-size:.7rem;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.modular-add-btn:hover{color:#388cff;border-color:rgba(56,140,255,.5);background:rgba(56,140,255,.08)}.modular-add-btn--mini{padding:2px 6px;font-size:.65rem;border-radius:6px}.modular-slot--input{border:2px solid rgba(56,140,255,.45);background:rgba(56,140,255,.04);cursor:default}@keyframes admin-dot-pulse{0%,to{box-shadow:0 0 0 0 rgba(56,140,255,.35)}50%{box-shadow:0 0 0 4px rgba(56,140,255,0)}}.modular-progress{display:flex;flex-direction:column;gap:8px;width:100%;max-width:220px;margin:0;padding:0;list-style:none}.modular-progress--compact{gap:6px;max-width:100%}.modular-progress__step{display:flex;align-items:center;gap:8px;font-size:.875rem;color:hsla(0,0%,100%,.35);transition:color .3s ease}.modular-progress--compact .modular-progress__step{font-size:.8125rem}.modular-progress__step.is-active{color:#fff;font-weight:600}.modular-progress__step.is-done{color:hsla(0,0%,100%,.7)}.modular-progress__dot{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;flex-shrink:0;border-radius:50%;border:1.5px solid hsla(0,0%,100%,.2);color:#388cff;transition:border-color .3s ease,background .3s ease}.modular-progress__step.is-active .modular-progress__dot{border-color:#388cff;animation:admin-dot-pulse 1.4s ease-in-out infinite}.modular-progress__step.is-done .modular-progress__dot{border-color:#22c55e;background:#22c55e;color:#fff}@media (prefers-reduced-motion:reduce){.modular-card--generated,.modular-pill,.modular-progress__step.is-active .modular-progress__dot,.modular-slot--generating{animation:none}}