.app-layout{min-height:100vh}.app-sider{height:100vh;position:sticky;top:0;left:0;overflow:auto}.sider-logo{text-align:center;border-bottom:1px solid #ffffff1a;padding:20px 16px}.app-main-layout{min-height:100vh}.ant-layout-sider,.ant-layout-sider .ant-menu-dark{background:#1b2a4a!important}.ant-layout-sider .ant-menu-dark .ant-menu-item-selected{background:#2c3e5f!important}.app-header{z-index:100;justify-content:space-between;align-items:center;padding:0 16px;display:flex;position:sticky;top:0;background:#1b2a4a!important}.header-right{align-items:center;gap:4px;display:flex}.app-content{background:#f5f5f5;padding:16px 16px 80px}.mobile-tabbar{padding:6px 0;padding-bottom:max(6px, env(safe-area-inset-bottom));z-index:200;background:#fff;justify-content:space-around;align-items:center;height:56px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000001a}.tabbar-item{cursor:pointer;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:2px 8px;transition:all .2s;display:flex}.tabbar-item.active .tabbar-icon,.tabbar-item.active .tabbar-label{color:#c9a96e}.tabbar-icon{color:#666;font-size:20px;line-height:1}.tabbar-label{color:#666;white-space:nowrap;margin-top:2px;font-size:10px}@media (width<=768px){.app-content{padding:8px 8px 72px}.app-header{padding:0 8px}.ant-table-wrapper{overflow-x:auto}.ant-table{font-size:13px}.ant-card-body{padding:12px}.ant-card-head{min-height:44px;padding:0 12px}.ant-card-head-title{font-size:15px}.ant-descriptions-item-label,.ant-descriptions-item-content{font-size:12px}.action-btn-text{display:none}}@media (orientation:landscape) and (height<=500px){.app-content{max-width:100vw;padding:8px 12px 12px}.mobile-tabbar{display:none}body{width:100vw;overflow-x:hidden}}.login-container{background:linear-gradient(135deg,#1b2a4a 0%,#2c3e5f 50%,#3d5274 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card-wrapper{width:100%;max-width:380px}.login-brand{text-align:center;margin-bottom:32px}.login-card{border-radius:12px;box-shadow:0 8px 32px #0000004d}.login-card .ant-card-body{padding:32px 28px}.login-card .ant-input-affix-wrapper{border-radius:8px;height:44px}.login-card .ant-btn{background:#1b2a4a;border-radius:8px;height:44px;font-size:16px}.login-card .ant-btn:hover{background:#2c3e5f}@media (width>=768px){.login-card-wrapper{max-width:420px}.login-card .ant-card-body{padding:40px 36px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f0f2f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}@media (width<=767px){body{padding-bottom:env(safe-area-inset-bottom)}}.ant-table-cell{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ant-table-cell.allow-wrap{white-space:normal;overflow:visible}@keyframes row-flash{0%{background-color:#c9a96e66}to{background-color:#0000}}.ant-table-row-flash{animation:.7s ease-out row-flash}.ant-table-wrapper .ant-table-row-selected{background-color:#fdf7eb!important}.ant-table-wrapper .ant-table-row-selected:hover{background-color:#faefd8!important}.ant-table-tbody>tr.ant-table-row-selected>td{background-color:#fdf7eb!important}.ant-table-tbody>tr.ant-table-row-selected:hover>td{background-color:#faefd8!important}.upload-dragger-gold .ant-upload-drag{background:#fffdf8;border:2px dashed #c9a96e;border-radius:8px;padding:20px 16px;transition:border-color .2s,background .2s}.upload-dragger-gold .ant-upload-drag:hover{background:#fff9ef;border-color:#a8823a}.upload-dragger-gold .ant-upload-drag-icon .anticon{color:#c9a96e;font-size:32px}.upload-dragger-gold .ant-upload-text{color:#1b2a4a;font-size:15px;font-weight:500}.upload-dragger-gold .ant-upload-hint{color:#999;font-size:13px}.upload-dragger-compact{margin-bottom:16px}.upload-dragger-compact .ant-upload.ant-upload-drag .ant-upload-btn{padding:8px 16px}.upload-dragger-compact .ant-upload.ant-upload-drag{border-width:1.5px;padding:0}.upload-dragger-compact .ant-upload.ant-upload-drag .ant-upload-drag-container{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.upload-dragger-compact .ant-upload.ant-upload-drag .ant-upload-drag-icon{margin-bottom:0}.upload-dragger-compact .ant-upload.ant-upload-drag .ant-upload-drag-icon .anticon{font-size:18px}.upload-dragger-compact .ant-upload.ant-upload-drag .ant-upload-text{margin-bottom:0;font-size:14px}.upload-dragger-compact .ant-upload.ant-upload-drag .ant-upload-hint{margin-top:0;font-size:12px}
