*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5714;color:#000000e0;background:#f5f7fa;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}img,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#0000002e;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#00000047}::-webkit-scrollbar-track{background:transparent}.brand{display:flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none}.brand--compact{gap:8px}.brand__logo{display:block;height:15px;width:auto;flex-shrink:0}.brand__texts{display:flex;flex-direction:column;justify-content:center;line-height:1}.brand__name{font-size:15px;font-weight:700;letter-spacing:2px;line-height:1;white-space:nowrap}.brand__code{font-size:11px;font-weight:500;letter-spacing:.5px;color:#00000073;margin-top:3px;white-space:nowrap}.brand--mark .brand__logo{height:32px}.login-shell{display:flex;min-height:100vh;background:#f5f7fa}.login-brand-panel{position:relative;flex:1.15;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:56px;color:#fff;overflow:hidden;background:radial-gradient(ellipse 80% 60% at 20% 90%,rgba(34,211,238,.28) 0%,transparent 60%),radial-gradient(ellipse 70% 50% at 85% 15%,rgba(255,255,255,.1) 0%,transparent 55%),linear-gradient(152deg,#0e7490,#0891b2 42%,#06b6d4)}.login-brand-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1px);background-size:22px 22px;pointer-events:none}.login-brand-panel:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;left:-120px;bottom:-140px;background:radial-gradient(circle,rgba(103,232,249,.22) 0%,transparent 70%);animation:brand-breathe 7s ease-in-out infinite;pointer-events:none}@keyframes brand-breathe{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.18);opacity:1}}.login-brand-inner{position:relative;z-index:1;text-align:center;max-width:420px}.login-brand-inner .brand{justify-content:center;margin-bottom:32px}.login-brand-inner .brand__logo{height:20px;filter:brightness(0) invert(1)}.login-brand-inner .brand__name{font-size:20px;line-height:1;letter-spacing:3px}.login-brand-title{color:#fff!important;margin-bottom:10px!important;font-weight:700!important;letter-spacing:1px;animation:float-in .7s ease .1s both}.login-brand-sub{color:#ffffffb8!important;font-size:15px;animation:float-in .7s ease .2s both}.login-brand-features{position:relative;z-index:1;display:flex;gap:28px;margin-top:56px;animation:float-in .7s ease .35s both}.login-brand-features span{display:flex;align-items:center;gap:7px;font-size:13px;color:#ffffffc7;letter-spacing:.5px}.login-brand-footer{position:absolute;bottom:26px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:3px;color:#ffffff6b;text-transform:uppercase;z-index:1}@keyframes float-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}.login-form-card{width:100%;max-width:396px;animation:float-in .55s ease .15s both}.login-form-eyebrow{text-transform:uppercase;letter-spacing:2.5px;font-size:11px!important;font-weight:600}.login-form-title{margin:10px 0 6px!important;font-weight:700!important}.login-form-hint{display:block;margin-bottom:30px}.login-form-footer{display:block;text-align:center;font-size:12px;margin-top:8px}.mobile-brand{display:none}@media (max-width: 860px){.login-shell{flex-direction:column}.login-brand-panel{flex:none;min-height:0;padding:36px 24px 44px}.login-brand-inner .brand{margin-bottom:20px}.login-brand-features,.login-brand-footer{display:none}.login-form-panel{padding:36px 20px 48px}}.admin-layout{min-height:100vh}.admin-sider{background:#fff!important;border-right:1px solid #eef0f3;position:sticky;top:0;height:100vh;overflow-y:auto;overflow-x:hidden}.admin-sider-brand{display:flex;align-items:center;height:64px;padding:0 18px;border-bottom:1px solid #eef0f3}.admin-sider .ant-menu{border-inline-end:0!important;padding:8px}.admin-sider .ant-menu-item{margin:2px 0!important;border-radius:8px;transition:background .2s ease,color .2s ease}.admin-header{position:sticky;top:0;z-index:20;height:64px;line-height:normal;background:#ffffffeb!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:0 24px!important;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef0f3}.admin-header-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.admin-header-title{font-size:18px;font-weight:700;line-height:1.3;color:#000000e0}.admin-user-trigger{display:flex;align-items:center;gap:10px;cursor:pointer;padding:5px 12px 5px 6px;border-radius:8px;transition:background .2s ease}.admin-user-trigger:hover{background:#0000000b}.admin-user-name{font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-content{padding:24px;min-width:0}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.admin-table-card{background:#fff;border:1px solid #eef0f3;border-radius:10px;overflow:hidden}.admin-table-card .ant-table-wrapper .ant-table{border-radius:0}.admin-table-card .ant-table-thead>tr>th{background:#fafbfc!important;font-weight:600;font-size:13px}.admin-table-card .ant-table-tbody>tr{transition:background .15s ease}.perm-panel{background:#fff;border:1px solid #eef0f3;border-radius:10px;overflow:hidden;animation:perm-panel-in .25s ease}@keyframes perm-panel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.perm-panel .perm-app-tabs .ant-tabs-nav{margin-bottom:0;padding:0 16px}.perm-panel .perm-app-tabs .ant-tabs-tab{padding:12px 4px}.perm-panel .perm-app-tabs .ant-tabs-tab-active .ant-tabs-tab-btn{font-weight:600}.perm-panel-body .admin-toolbar{margin-bottom:0;padding:12px 16px}.perm-panel-body .admin-table-card{border:none;border-radius:0}.perm-panel .perm-panel-body .ant-table-thead>tr>th:first-child,.perm-panel .perm-panel-body .ant-table-tbody>tr>td:first-child{padding-left:16px}.perm-panel .perm-panel-body .ant-table-thead>tr>th:last-child,.perm-panel .perm-panel-body .ant-table-tbody>tr>td:last-child{padding-right:16px}.status-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse 60% 45% at 50% 0%,rgba(8,145,178,.07) 0%,transparent 65%),#f5f7fa;padding:24px}.status-page .ant-result{animation:float-in .5s ease both}.ant-table-cell .ant-btn-link{padding-inline:4px}.ant-modal .ant-form{margin-top:8px}.ant-transfer{display:flex;justify-content:center;gap:12px}
