@keyframes authPageIn{0%{opacity:0}to{opacity:1}}@keyframes authPanelIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes authFormIn{0%{opacity:0;filter:blur(4px);transform:translateY(10px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes authMessageIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes signalSweep{0%{opacity:.16;transform:translate(-28%)rotate(-11deg)}50%{opacity:.42}to{opacity:.16;transform:translate(28%)rotate(-11deg)}}@keyframes floatParticle{0%,to{opacity:.35;transform:translateY(0)translate(0)}25%{opacity:.6;transform:translateY(-12px)translate(6px)}50%{opacity:.45;transform:translateY(-4px)translate(-4px)}75%{opacity:.55;transform:translateY(-16px)translate(2px)}}@keyframes orbit{0%{transform:rotate(0)translate(60px)rotate(0)}to{transform:rotate(360deg)translate(60px)rotate(-360deg)}}@keyframes orbitReverse{0%{transform:rotate(0)translate(90px)rotate(0)}to{transform:rotate(-360deg)translate(90px)rotate(360deg)}}@keyframes barGrow{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}@keyframes panelFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes linePulse{0%,to{opacity:.28}50%{opacity:.72}}@keyframes cellPulse{0%,to{transform:scale(1)}50%{transform:scale(.86)}}.auth-shell-root .ant-form-item-label>label{color:#1e3a8a}.auth-shell-root .ant-input,.auth-shell-root .ant-input-affix-wrapper{color:#0f172a;background:#ffffffdb;border-color:#2563eb38;transition:border-color .18s,box-shadow .18s,background .18s}.auth-shell-root .ant-input::placeholder{color:#1e3a8a70}.auth-shell-root .ant-input-affix-wrapper-focused,.auth-shell-root .ant-input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24}.auth-panel-content{animation:.36s .12s both authFormIn}.auth-shell-root .ant-alert{animation:.22s both authMessageIn}.auth-link-button{transition:color .18s,transform .18s}.auth-link-button:hover{transform:translate(-2px)}@media (width<=860px){main.auth-shell{grid-template-columns:1fr!important;gap:28px!important;padding:32px 20px!important;overflow-y:auto!important}.auth-shell h1{font-size:32px!important}.login-visual-stage{width:min(100%,360px)!important;height:250px!important;margin:0 auto!important}}@keyframes pageRouteIn{0%{opacity:0;filter:blur(2px)}to{opacity:1;filter:blur()}}.app-shell *{scrollbar-width:thin;scrollbar-color:#1e40af47 transparent}.app-shell ::-webkit-scrollbar{width:6px;height:6px}.app-shell ::-webkit-scrollbar-thumb{background:#1e40af47;border-radius:3px}.app-shell ::-webkit-scrollbar-track{background:0 0}.app-main{scroll-behavior:smooth}.app-main .ant-card,.app-main .ant-table-wrapper,.app-main .ant-alert,.app-main .ant-descriptions,.app-main .ant-tabs-nav,.app-main .ant-statistic,.app-main .ant-list,.app-main .ant-form,.app-main .ant-spin-nested-loading{transition:border-color .18s,box-shadow .18s,background-color .18s,opacity .18s}.app-main .ant-card:hover{box-shadow:0 12px 32px #1e40af14}.app-sidebar-toggle-row{justify-content:flex-end;margin-bottom:12px;display:flex}.app-sidebar--collapsed .app-sidebar-toggle-row{justify-content:center}.app-sidebar-toggle-button.ant-btn{color:#1e40af;background:#f8fbff;border:1px solid #dbeafe;border-radius:999px;width:34px;height:34px;box-shadow:0 6px 18px #1e40af14}.app-sidebar-toggle-button.ant-btn:hover,.app-sidebar-toggle-button.ant-btn:focus-visible{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.app-main .ant-btn,.app-main .ant-input,.app-main .ant-input-number,.app-main .ant-select-selector,.app-main .ant-picker,.app-main .ant-switch{transition-duration:.18s!important;transition-timing-function:cubic-bezier(.2,0,0,1)!important}.ant-menu-inline .ant-menu-item,.ant-menu-inline .ant-menu-submenu-title{transition:background-color .18s,color .18s,padding .18s,margin .18s}@media (prefers-reduced-motion:reduce){.app-shell *{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important}}.ops-sub-channel-grid .ant-btn-link{color:#1e40af;height:auto;line-height:1.5}.channel-edit-collapse .ant-collapse-header-text{color:#1e3a8a;font-size:16px;font-weight:600}
