*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden}#root{width:100%;height:100%}button,input,textarea,select{font:inherit}.app-shell{display:flex;min-height:100vh}.app-sider{position:fixed!important;left:0;top:0;z-index:10;height:100vh;flex-shrink:0;overflow-x:hidden;overflow-y:auto;background:#001529!important}.app-brand{padding:16px 20px;font-size:18px;font-weight:600;color:#fff;white-space:nowrap}.app-main{width:calc(100% - 160px);margin-left:160px;box-sizing:border-box}.app-header{position:sticky;top:0;z-index:9;display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 24px;background:#fff;font-size:16px;font-weight:600;box-shadow:0 1px #0505050f}.app-header-title{display:flex;align-items:center;min-width:0;gap:8px}.app-header-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{min-height:calc(100vh - 64px);padding:10px;background:#f0f2f5}.app-content-fixed-height{height:calc(100vh - 64px);min-height:0;overflow:hidden}.app-mobile-drawer .ant-drawer-title{color:#fff}.app-mobile-drawer .ant-drawer-close{color:#ffffffe0}.ant-layout{box-sizing:border-box}.ant-layout-sider-children,.ant-menu{border-right:none!important}.single-month-picker .ant-picker-panel:last-child{display:none!important}.single-month-picker .ant-picker-range-wrapper{width:280px}.single-month-picker .ant-picker-header-prev-btn,.single-month-picker .ant-picker-header-super-prev-btn,.single-month-picker .ant-picker-header-next-btn,.single-month-picker .ant-picker-header-super-next-btn{visibility:hidden}*::-webkit-scrollbar{width:8px!important;height:8px!important}*::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}*::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#a8a8a8}*{scrollbar-width:thin;scrollbar-color:#c1c1c1 #f1f1f1}@media (max-width: 991px),(hover: none) and (pointer: coarse){html,body,#root{min-width:0;height:100%}.app-shell{display:block}.app-main{width:100%;margin-left:0}.app-header{height:56px;padding:0 10px;font-size:15px}.app-user-button{max-width:156px;overflow:hidden}.app-user-button>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-content{min-height:calc(100vh - 56px);padding:8px}.app-content-fixed-height{height:calc(100vh - 56px);min-height:0;overflow:hidden}.app-content .ant-card{border-radius:8px}.app-content .ant-card-head{min-height:44px;padding:0 12px}.app-content .ant-card-head-wrapper{gap:8px;align-items:center}.app-content .ant-card-head-title{flex:1 1 auto;min-width:0;padding:10px 0;font-size:15px;white-space:normal}.app-content .ant-card-extra{flex:0 0 auto;padding:8px 0}.app-content .ant-card-body{padding:12px}.app-content .ant-row{row-gap:12px!important}.app-content .ant-col{flex:0 0 100%!important;max-width:100%!important}.app-content .ant-space{max-width:100%}.app-content .ant-space-horizontal{row-gap:8px}.app-content .ant-space-item,.app-content .ant-select,.app-content .ant-picker,.app-content .ant-input-number,.app-content .ant-input-affix-wrapper{max-width:100%}.app-content .ant-table-wrapper{width:100%;overflow-x:auto}.app-content .ant-table{font-size:12px}.app-content .ant-table-thead>tr>th,.app-content .ant-table-tbody>tr>td{padding:8px 6px}.app-content .ant-pagination{justify-content:center}.app-content .ant-statistic-content{font-size:20px}.app-content .customer-pie-chart{flex-direction:column;gap:12px;width:100%}.app-content .customer-pie-chart-svg{width:min(172px,68vw);height:auto}.app-content .customer-pie-chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;margin-left:0!important;width:100%}.app-content .customer-pie-chart-legend-item{margin-bottom:0!important;white-space:nowrap}.app-content .dashboard-export-image-button{display:none}.app-content .budget-filter-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-content .budget-filter-form .ant-form-item{display:block;margin:0}.app-content .budget-filter-form .ant-form-item-label{display:block;padding:0 0 6px;text-align:left}.app-content .budget-filter-form .ant-form-item-label>label{height:auto;font-size:13px}.app-content .budget-filter-form .ant-form-item-control,.app-content .budget-filter-form .ant-form-item-control-input,.app-content .budget-filter-form .ant-form-item-control-input-content,.app-content .budget-filter-form .ant-select,.app-content .budget-filter-form .ant-picker{width:100%!important}.app-content .budget-filter-actions{grid-column:1 / -1}.app-content .budget-filter-action-space,.app-content .budget-filter-action-space .ant-space-item{width:100%}.app-content .budget-filter-action-space{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.app-content .budget-filter-action-space .ant-btn{width:100%}.app-content .budget-toolbar-card .ant-divider{margin:14px 0!important}.app-content .budget-action-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.app-content .budget-action-bar .ant-space-item,.app-content .budget-action-bar .ant-btn,.app-content .budget-action-uploader,.app-content .budget-action-uploader .ant-upload,.app-content .budget-action-uploader .ant-upload-drag{width:100%}.app-content .budget-action-uploader .ant-upload-drag{height:40px;padding:0!important;border:none;background:transparent}.app-content .budget-action-uploader .ant-upload-drag-container{display:block}.app-content .page-header{flex-direction:column;align-items:stretch;gap:12px}.app-content .page-header h2{font-size:17px}.users-page,.roles-page,.permissions-page,.data-import-page,.profit-analysis-page{padding:12px;border-radius:8px}.login-container{align-items:stretch;padding:20px 12px}.login-box{width:100%;max-width:400px;margin:auto;padding:28px 20px}}@media (max-width: 480px){.app-content .ant-card-head{flex-wrap:wrap}.app-content .ant-btn{max-width:100%}.app-content .ant-modal{max-width:calc(100vw - 16px)}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#001529,#001529,#1890ff)}.login-box{width:400px;padding:40px;background:#fff;border-radius:8px;box-shadow:0 4px 24px #00000026}.login-logo{text-align:center;margin-bottom:32px}.login-logo h1{font-size:24px;font-weight:600;color:#001529;margin:0}.login-logo p{font-size:14px;color:#8c8c8c;margin:8px 0 0}.login-form .ant-form-item{margin-bottom:24px}.login-form .login-remember-item{margin-bottom:16px}.login-button{width:100%;height:40px;font-size:16px}.login-footer{margin-top:24px;text-align:center;color:#8c8c8c;font-size:12px}
